边缘值分析法
出自 MBA智库百科(https://wiki.mbalib.com/)
目录 |
实践表明,程序员在处理边界情况时,很容易因疏忽或考虑不周发生编码错误。例如,在数组容量、循环次数以及输入数据与输出数据的边界值附近程序出错的概率往往较大。采用边缘值分析法,就是要这样来选择测试用例,使得被测程序能在边界值及其附近运行,从而更有效地暴露程序中潜藏的错误。
所谓边缘值分析,就是要把测试的重点放在各个等价类的边界上,选取刚好等于、大于和小于边界值的数据为测试数据,并据此设计出相应的测试用例。
运用边缘值分析法,需要有一定的创造性,以下几点供使用时参考:
1、如果某个输入条件说明了值的范围,则可选择一些恰好取到边界值的例子,另外,再编写一些代表不合理输入数据的例子,它们的值恰好越过边界。例如:输入值的范围是-1.0至1.0,则可选-1.0、1.0、-1.001和1.001等例子。
2、如果一个输入条件指出了输入数据的个数,则为最小个数、最大个数、比最小个数少1、比最大个数多1、分别设计例子。例如;一个输入文件可以有1~255个记录,则分别设计有0个、1个、255个和256个记录的输入文件。
3、为每个输出条件使用上面第1)点,例如,某个程序的功能是计算折扣量,最低折扣量是0元,最高拆扣量是1050元,则设计一些例子,使它们恰好产生0元或1050元的结果,此外还应考虑是否可设计结果为负值或大干1050元的例子。由于输入值的边界并不与输出值的边界相对应(例如计算SIN(x)的程序),所以要检查输出的边界值不一定可能,要产生输出值域之外的结果也不一定可能,尽管如此,考虑这种情况还是非常值得的。
4、为每个输出条件使用上面第2)点。例如一个情报检索系统根据用户打入的命令显示有关文献的摘要,但是最多只提供4篇摘要,则可设计一些例子,使得程序分别产生0篇、1篇或4篇摘要,并设计一个有可能使程序错误地显示5篇摘要的例子。
5、如果程序的输入和输出是有序集合(如顺序文件、线性表等),则应特别注意集合的第一个或最后一个元素。
注意:等价分类法与边缘值分析法的主要差别在于后者是着重检查等价类边界上的情况。
1、边缘值分析法不是从一个等价类中任选一个例子作代表,而是选一个或几个例子,使得该等价类的边界情况成为测试的主要目标。
2、边缘值分析不仅注意输入条件,它还根据输出的情况(即按输出等价类)设计测试用例。