等价类测试
等价类
指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误是等效的。故通常假设测试某等价类的代表值就等价于这一类其他值的测试。等价类测试是一种黑盒测试方法。
有效等价类:指对程序的规格说明来说是合理的、有意义的输入数据构成的集合,利用它检验程序是否实现了预先规定的功能和性能。
无效等价类:指对程序的规格说明来说是不合理的、无意义的输入数据构成的集合,利用它检查程序的功能和性能的实现是否有不符合规格说明的地方。
等价类的划分(启发式规则):
- 如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值或大于最大值)。
- 如果规定了输入数据的个数,则类似地也可以划分出一个有效的等价类和两个无效的等价类。
- 如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值)。
- 如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从不同角度违反规则)。
- 如果规定了输入数据为整型,则可以划分出正整数、零、负整数等3个有效类。
- 如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。
划分出等价类以后,根据等价类设计测试方案时主要使用下面两个步骤:
- 设计一个新的测试方案以尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步骤直到所有有效等价类都被覆盖为止。
- 设计一个新的测试方案,使它覆盖一个而且只覆盖一个尚未被覆盖的无效等