等价类分析法

一、首先,什么是等价类划分法呢? 

等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。它把程序的输入域划分成若干个部分,然后从每一部分选取少数有代表性的数据作为测试用例。 
等价类事指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其他值的测试。 
这里写图片描述
注意:所有等价类的并集就是整个输入域。 
因此,等价类测试对于测试有两个重要的意义。一、完备性-整个输入域提供一种形式的完备性。 
二、无冗长。 

二、等价类划分的原则 

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.黑盒盒百合测试用例设计方法相互辅助使用。

posted @ 2018-05-22 23:40  tooltime  阅读(1844)  评论(1编辑  收藏  举报