1、等价类划分法的概念
把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。
等价类划分可有两种不同的情况:有效等价类 和 无效等价类。
2、等价类划分法使用的场景
1)规定了取值范围或值的个数的情况;例如红包范围0.01-200
2)规定了输入值的集合或者规定了"必须如何";例如充值金额必须是整数
3)true和false的情况下,可确定一个有效等价类和一个无效等价类;
4)规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;例如性别输入只能是男、女,男女之外的就是一个无效等价类
5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);常见用户名、密码规则
6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类;例如学校学生成绩评判等级的系统,1-100的分数录入是有效的,但是系统程序会根据录入分数的不同评判出不同等级,例如0-59是不及格、90-100是优秀;那会对等价类进一步划分
3、等价类划分法应用到用例设计中的步骤
1)为每一个等价类规定一个唯一的编号;
2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止
4、案例分享
下面以新浪微博的注册的密码设置为例:
设置规则: 6-16位数字、字母、常用符号的组合,字母区分大小写
1)进行等价类划分,列出每一个有效等价类和无效等价类,并为每一个等价类规定一个唯一的编号
2)设计测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;其中长度选取覆盖边界值。
3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止其中长度选取覆盖边界值。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理