等价类划分
原则
- 完备测试
- 避免冗余
- 边界值测试不能实现完备测试和避免冗余
- 等价类测试重复边界值测试的两个决定因素:健壮性和单/多缺陷假设
- 等价类种类:强/弱等价类,健壮/一般等价类
思想
- 等价类的测试思想是通过每个等价类中的一个元素标识测试用例
- 等价类测试的关键就是确定类的等价关系
等价类划分
例子
一个两变量x1和x2的函数F联系起来,如果F实现为一个程序,则输入变量x1和x2将拥有以下边界以及边界内的区间:
- a<=x1<=d,区间为[a,b),[b,c),[c,d]
- e<=x2<=g,区间为[e,f),[f,g]
x1和x2的无效值是:x1<a, x1>d,x2<e,x2>g
弱一般等价类测试
弱一般等价类测试通过使用一个测试用例中的每个等价类(区间)的一个变量实现。(单缺陷);
测试用例的个数实际上取决于变量区间最多的变量的区间个数。
强一般等价类测试
强一般等价类测试基于多缺陷假设,因此需要等价类笛卡儿积的每个元素对应的测试用例。
即所有变量所有取值的所有组合,取值为有效值。
覆盖所有的等价类。
有可能的输入组合中的一个。
弱健壮等价类测试
健壮:考虑无效值;弱:单缺陷假设。
对于有效输入,使用每个有效类的一个值。
对于无效输入,测试用例将拥有一个无效值,并保持其余的值都是有效的。
强健壮等价类测试
健壮:考虑无效值。
强:多缺陷假设。