一、首先,什么是等价类划分法呢?
等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。它把程序的输入域划分成若干个部分,然后从每一部分选取少数有代表性的数据作为测试用例。
等价类事指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其他值的测试。
注意:所有等价类的并集就是整个输入域。
因此,等价类测试对于测试有两个重要的意义。一、完备性-整个输入域提供一种形式的完备性。
二、无冗长。
二、等价类划分的原则
1.如果输入条件规定的取值范围,可以分成一个有效等价类和两个无效等价类。
示例: 输入数据要求是1到100,则
有效等价类 1 <=input<=100
无效等价类。input <1 和 input >100
2.如果输入条件规定了输入值的集合,则可划分一个有效等价类和一个无效等价类
示例: 输入数据要求是a,b,c
有效等价类:a, b, c
无效等价类:not a, not b, not c
3.若输入条件是bool值
示例: if(input)…
有效等价类:input ==true
无效等价类:input==false
4.规定了输入数据的一组值,程序要对每一组值分别进行处理
示例:switch … case …
有效等价类:所有case情况的数据
无效等价类:除所有case情况外的数据
5.若是规定了输入数据鼻血遵守的规则。
有效等价类:符合规则的数据
无效等价类:从不同角度违反规则的数据,有多个无效等价类。
6.若是比较复杂,已划分的等价类还有不同的处理方式,可以继续进一步划分成更小的等价类。
示例: if:
Switch…case…
三、举例说明
For example one:
输入3个数作为三角形的三边,判断此三角形为合法三角形
合法三角形的条件:a,b,c a >0&b>0&c>0&a+b>c&a+c>b&b+c&a
划分等价类:有效等价类
无效等价类:
设计测试用例
注:N2-01~N2-06都是类似的
四。总结
测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的产品或软件有各自的特点,针对不同产品或软件如何利用这些黑盒方法是非常重要的。在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度。
一般而言,测试方法选择可以参考以下几点:
♦1.首先进行等价类划分,包括输入条件和输出条件的等价类划分。这是减少工作量和提高测试效率的最有效方法。
♦2.边界值分析法。经验表明用这种方法设计出测试用例发现程序错误的能力最强。
♦3.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
♦4.对于业务流清晰的系统。可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。
♦5.黑盒盒百合测试用例设计方法相互辅助使用。