1. 定义
是把所有可能的输入数据划分为若干个子集,然后从每个子集里选取少数具有代表性的数据作为测试用例.
等价类划分有两种不通的情况,有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类数据可以验证程序是否实现了规格说明书中的功能。
无效等价类:对于程序来说是不合理的或者是无意义的输入数据所构成的集合。
设计测试用例,要同时考虑到这两种等价类,因为软件不仅要能接收合理的数据,也能接受不合理的意外的考验。
2. 划分等价类的方法
1)输入条件规定了取值范围或者值的个数的情况下,可以确立一个有效等价类和两个无效等价类。例如学生成绩,范围是0-100.
有效等价类0<=成绩<=100
无效等价类 成绩>100,成绩<0
2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
3)输入条件规定了输入数据的一组值,假定N个,且程序要求每个输入值分别处理,有N个有效等价类,1个无效等价类。
4)输入数据必须遵守的规则的情况下,可确立一个等价类(符合规则)和若干个无效等价类。(从不同的角度违反规则)
5)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,应再将该等价类进一步划分为更小的等价类。
3. 设计测试用例
在确立了等价类后,可建立等价类表,列出所有等价类条件,有效等价类和无效等价类。按以下3个原则设计测试用例。
1)为每一个等价类规定一个唯一的编号。
2)设计一个新的测试用例,使其尽可能多地覆盖有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
3)设计一个新的测试用例,使其仅覆盖一个尚未覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
4. 实战演习