概念:
- 等价类划分是一种黑盒测试方法,把无限的测试变成有限的测试。
- 把所有可能的输入数据,即程序的输入域划分成若干等价类,然后从每一个等价类中选取少数具有代表性的数据作为测试用例。
- 依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
应用场景:
- 在很多情况下,很多人想到的测试方法是穷举测试,穷举测试是最全面的测试,但是数据量很大的情况下不太现实,测试效率太低,后来为了减少测试人员的工作量和提高测试的效率和以达到最好的测试质量,慢慢的就有了等价类的测试方法。只要有输入框输入数据的地方就可以使用等价类进行测试 ,从大量数据中挑选代表性的数据进行测试。
等效类的划分:
有效等价类:
对于程序的规格说明书是合理的、有意义的输入数据构成的集合。
利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能。
无效等价类:
与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
对软件而言,无效的数据,错误的数据,程序不允许输入的数据,当我们输入了这些数据时,程序应该给予错误的提示
通俗一点举一个例子:
超市买水果
有效等价类:苹果、桃子、梨
无效等价类:青菜、米、饮料,...
实际应用举一个例子:
姓名长度是6~200位,应该如何设计测试用例?
第一步:(确定有效类和无效等价类)
有效等价类:6~200
无效等价类:小于6大于200
第二步:(编写测试用例)
缺点:
等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
这里我们在引入边界值法补充一下实现上边的测试用例
边界值:
边界值法通常是对等价类的补充!
设计边界值的测试用例时需要加上:边界值+次边界值