等价类是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

一、等价类划分规则

1.如果输入条件规定了一个取值范围,那么就应该确定一个有效等价类以及两个无效等价类。
如月份取值在1~12之间,由此可确定一个有效等价类即月份在1~12之间,和两个无效等价类,即月份取值小于1及月份取值大于12.
2.规定了输入条件必须如何的情况下可以确定一个有效等价类和一个无效等价类。
如输入值必须大于0,则有效等价类为输入值大于0 ,无效等价类为输入值小于或者等于0.
3.在输入数据是一个bool常量的情况下,可以确定一个有效等价类和一个无效等价类。
4.在规定了输入数据由n个值构成的情况下,并要求定其中的每个值进行测试时,可以确定n个有效等价类和一个无效等价类。
如交通工具类型为公共汽车、卡车、出租车、火车或者摩托车,那么就应该为每一个输入值确定一个有效等价类和一个无效等价类例如拖车。
5.在规定了输入数据冰箱最受的规则的情况下,可以确定一个有效等价类和若干个无效等价类(从不同角度违反规则)。
如输入值必须是数字类型的字符,则可确定一个有效等价类,及输入值为数字类型得字符,和多个无效等价类,即输入值为字母、为专用字符(如+、*、@等)以及为非打印字符(如回车、空格等)。
6.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
划分等价类之后,应建立等价类表,列出与每一个输入条件对于的有效等价类和无效等价类。

二、等价类设计测试用例

1.根据需求,划分有效等价类和无效等价类,有效等价类统一编号,无效等价类统一编号。
2.设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
3.设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

三、等价类四则运算法

1.不考虑需求其他子项,细致分解当期测试点及详细需求,做累加。
2.根据业务规则减少,排除相关不可能出现的规则,减少不可能出现的组合。
3.如果有效等价类中具有互斥条件的需求时,可运用乘得到用例个数。
4.排除所有具有重复特性的等价类,尽可能做到有效等价类之间交集为空。

四、小示例

1.有效等价类一条用例尽量覆盖所有有效等价类
1.有效等价类一条用例尽量覆盖所有有效等价类
2.无效等价类一条用例覆盖一个无效等价类
2.无效等价类一条用例覆盖一个无效等价类
3.根据覆盖条件编写等价类测试用例
3.根据覆盖条件编写等价类测试用例

持续更新…

最后更新: 2018年05月11日 14:32

原始链接: http://pythonfood.github.io/2017/12/27/等价类/

× 多少都行~
打赏二维码