概念
某个输入域的集合,在这个集合中每个输入条件都是等效的。如果其中一个输入并不能导致问题发生,那么集合中其他输入条件进行测试也不可能发生错误。
- 有效等价类:有效等价类是程序规格说明有意义,合理的输入数据
- 无效等价类:无效等价类是程序规格说明无意义,不合理的输入数据
等价类划分原则
- 输入条件规定了取值范围或值的格式,则可以确定一个有效等价类和零-两个无效等价类
- 输入条件规定了输入值的集合,或是规定了必须如何的条件,则可以确定一个有效等价类和一个无效等价类
- 输入条件是一个布尔量的情况下,则可以确定一个有效等价类和一个无效等价类
- 在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
- 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类
等价类设计测试用例的步骤
- 为每个输入划分等价类,得到等价类表,为每个等价类规定一个唯一编号
- 设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重复这一步骤,使得有效等价类均被测试用例所覆盖
- 设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤,使得所有无效等价类均被覆盖
等价类划分法举例
我们针对等价类划分法举一个例子,QQ账号为5-11位自然数,请用等价类划分方法设计测试用例。界面原型如下:
第一步:确定并划分等价类:
有效等价类:5-11位,类型是自然数
无效等价类:小于5位,大于11位,非自然数
第二步:建等价类表并编号
第三步:设计测试用例
参考文档:
https://zhuanlan.zhihu.com/p/529541472