测试用例-黑盒测试方法论

一、等价类

1.1 定义

  • 等价类划分是一种重要的、常用的黑盒测试方法;
  • 不需要考虑程序的内部结构,只需要考虑程序的输入规格即可;
  • 它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性;
  • 用户所有可能输入的数据,划分成了若干个子集,然后从没一个子集当中选取少数具有代表性的数据作为测试用例;
  • 在测试资源有限的情况下,用少量有代表性的数据得到比较好的测试效果。

1.2 划分

image

有效等价类:指符合《需求文档》,输入合理的数据集合;
无效等价类:指不符合《需求文档》,输入不合理的数据集合。

1.3 划分原则

  1. 规定输入的取值范围或个数时,则划分一个有效和两个无效;
  2. 规定输入的集合或规则必需要遵循的条件,则划分一个有效和一个无效;
  3. 输入条件是一个布尔值,则划分一个有效和一个无效;
  4. 输入条件是一组数据,且每个输入的值做不同的处理,则划分若干个有效和一个无效;
  5. 输入条件规定了必须要遵循的某些规则下,则划分一个有效和若干个无效;
  6. 不是所有的等价类都有无效等价类。

1.4 设计步骤

  1. 先划分等价类:找出所有可能的分类;
  2. 确定有效等价类:需求中的条件;
  3. 确定无效等价类:与条件相反的情况,再找到特殊情况;
  4. 从各个分类中挑选测试用例数据。

二、边界值

2.1 定义

  • 大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部;
  • 为检测边界附近的处理,专门设计测试用例,通常都会取得很好的测试效果;
  • 边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力;
  • 边界值分析法是作为对等价类划分法的补充,测试用例来自等价类的边界。

2.2 确定方法

  • 上点:边界上的点;
  • 离点:离上点最近的点;
  • 内点:在输入域内任意一个点;
  • 选取正好等于、刚好大于或刚好小于边界值作为测试数据。

2.3 划分规则

场景 取值
如果规定了输入域的取值范围 选取刚好在范围边界的点、刚好超过边界的点
如果规定了输入值的个数 选取最大个数、最小个数、比最小个数少1、比最大个数多1
如果规定了输入是一个有序的集合 选取集合的第一个元素、最后一个元素

image

三、因果图

3.1 定义

  • 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法;
  • 它适合于检查程序输入条件的各种组合情况:
    • “因”——输入条件
    • “果”——输出结果

3.2 使用场景

  • 描述多种条件的组合;
  • 产生多个动作。

3.3 基本符号

符号 描述
恒等 若原因出现,则结果出现;若原因不出现,则结果也不出现
若原因出现,则结果不出现;若原因不出现,则结果出现
有多个原因。若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现
有多个原因。若几个原因都出现,则结果才出现;若其中一个原因不出现,则结果不出现

3.4 互斥条件

条件 描述
互斥(E) a、b、c只能有一个成立,但是可以都不成立
包含(I) a、b、c中至少有一个成立
唯一(O) a、b、c有且仅有一个成立
要求(R) 如果a成立,则要求b必须也成立,其他的不约束
屏蔽(M) 如果a成立的时候,强制b不成立,其他的不约束

3.5 基本步骤

  1. 找出所有的输入条件(因);
  2. 找出所有的输出条件(果);
  3. 明确所有输入条件之间的制约关系以及组合关系;
  4. 明确所有输出条件之间的制约关系已经组合关系;
  5. 找出什么样的输入条件组合会产生哪种输出结果;
  6. 把因果图转换成判定表;
  7. 为判定表中的每一列表示的情况设计测试用例。