所谓等价类是指某个输入域的集合。他的指导思想是如果用一个集合中的一个输入条件作为测试数据进行测试不能发现程序的错误,那么使用集合中的其他输入条件进行测试也不可能发现错误。
考虑等价类时,需要注意区别下面两种不同的情况:
l 有效等价类:指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
l 无效等价类:指对于程序的规格说明来说是不合理的,没有意义的输入数据构成的集合。
l 等价类的划分有一些原则:
l 原则1:如果输入条件规定了取值范围或值的格式,则可以确定一个有效等价类和两个无效等价类。例如:程序规格说明提到的输入条件包括“......项数可以从1到999”,则可以去有效等价类为“1<项数<999”, 无效等价类为“项数<1”及“项数>999”。
l 原则2:输入条件规定了输入值的集合,或是规定了必须如何的条件,则可以确定一个有效等价类和一个无效等价类。例如,某程序规格说明中提到输入条件包括“...统计全国各省,市,自治区的人口”,则应该取“国内省,市,自治区”为有效等价类,非国内省,市,自治区为无效等价类。
l 原则3:如果我们确知,已经划分的等价类中各个元素在程序中的处理方式不同的,则应该将此等价类进一步划分。
等价类划分完成后,可以按照以下的形式将等价类列出:
输入条件 有效等价类 无效等价类