说说等价划分和边界值分析的区别

等价划分和边界值分析都是软件黑盒测试的测试方法,二者都是选取一些特定的输入数据进行测试,那么二者的区别是什么呢?

其实,等价划分和边界值分析要完成的测试目标是不同的。

当我们验证软件的某个功能是否正确的时候,最好是把符合条件的每一项输入数据都测试一遍。但是,这样的穷尽测试的代价很大。为了以最小的代价来完成测试,我们会把所有可能的输入数据划分成若干个等价的类型数据,并且假定每个等价类中的一个典型数据与这一类中的其他数据测试的效果相同,这就是等价划分的方法。

等价划分这种测试方法可以有效地降低测试用例数。

而边界值分析这种测试方法则是为了解决下面的问题:

软件在对输入数据的边界进行处理时最容易发生错误。例如,许多程序错误出现在下标、纯量、数据结构、循环等的边界附近。

使用边界值分析,我们会针对输入数据的边界来设计测试用例——选取刚好等于边界值、刚刚小于边界值和刚刚大于边界值这3种输入数据作为测试用例。

举个例子。

假设输入数据为整型,数据范围是0~1000,那么使用等价分析方法,我们会把输入数据划分成一个有效等价类和两个无效等价类:

  • 有效等价类:我们选取在数据范围内的一个整型数,比如500;

  • 无效等价类:一个无效等价类我们选取大于这个范围的整型数,比如1100,另一个无效等价类我们会选取小于这个范围的整型数,比如-100。

而使用边界值分析方法,我们会在0和1000这两个边界选取典型数据:

  • 0边界:我们选取-1,0,1(分别对应刚刚小于,刚好等于和刚刚大于)这3个典型数据;

  • 1000边界:我们选取999,1000,1001(分别对应刚刚小于,刚好等于和刚刚大于)这3个典型数据。

实际上,我们会经常联合使用等价划分和边界值分析这两种方法来设计测试用例。

这正是:

等价边界有分工,完成目标各不同

一个避免去穷尽,一个边界显神功

参考书目:软件工程(第4版),作者:张海藩 吕云翔,出版社:人民邮电出版社有限公司

(0)

相关推荐