【软件测试之等价类划分法概述】*(蓝桥云课学习笔记)
在《软件测试的原则》小节中我们提到过一个案例,假设让你负责一个计算器小程序的测试工作,如何着手呢?假设先测试其加法运算功能,在字长为 32 位的计算机上运行,若随意取 2 个整数进行相加,那么测试数据的最大可能数目为 232x232=264。如果测试一组数据需要 1 毫秒,一天工作 24 小时,一年工作 365 天,那么完成所有测试大概需要 5 亿年。还有减法、乘法、除法、其他算法,简直可以无穷无尽,测试到天荒地老。所以我们得出了一个软件测试的原则----穷尽测试是不可能的。
为了解决这个难题,又保证我们设计出来的测试用例具有完整性和代表性,我们引入等价类划分法,它将不能穷举的测试过程进行区域划分,减少测试的数量,从而使测试过程合理化。
1、等价类划分法的概述
等价类划分法是最常用的黑盒功能测试方法之一,根据程序对数据的要求,把程序的输入域划分成若干个部分,列出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例的数据。这样,每一类的代表数据在测试中的作用都等价于这类中的其他值。所谓的等价类是指具有相同属性或方法的集合。
软件不能只接收合理有效的数据,也要具有处理异常数据的功能,这样测试才能确保软件具有更高的可靠性。因此,在等价类划分的过程中,不但要考虑有效等价类,也要考虑无效等价类。
有效等价类是指对软件规格说明来说,合理、有意义的输入数据等构成的集合,利用有效等价类可以检验程序是否满足需求规格说