首页 理论教育 完全测试不可能:寻找更实用的测试方法

完全测试不可能:寻找更实用的测试方法

时间:2023-06-27 理论教育 版权反馈
【摘要】:完全测试是不可能的,主要原因有4点:输入量太大;输出结果太多;条件执行路径太多;软件说明书是主观的。图7-4计算器软件假设先从加法开始测试。然而测试无法遍历所有整数。验证完所有的数字后,可能还需要测试一些非法输入,比如测试输入“1A1+A1A=”的结果,字母包括小写a~z,以及大写的A~Z,这种排列组合的数量级可能是亿级的。这个例子主要是为了说明完全的测试是不可能的。

完全测试不可能:寻找更实用的测试方法

完全测试是不可能的,主要原因有4点:

(1)输入量太大;

(2)输出结果太多;

(3)条件执行路径太多;

(4)软件说明书是主观的。

下面以计算器软件(图7-4)为例进行说明。

(www.xing528.com)

图7-4 计算器软件

假设先从加法开始测试。首先尝试输入“0+1=”,得到答案是1,结果正确;再输入“0+2=”,结果正确;再输入“0+3=”“0+4=”……然而测试无法遍历所有整数。

同时还需要测试所有小数:“1.0+1.0=”“1.0+0.2=”……依此类推。

验证完所有的数字后,可能还需要测试一些非法输入,比如测试输入“1A1+A1A=”的结果,字母包括小写a~z,以及大写的A~Z,这种排列组合数量级可能是亿级的。

输入的编辑修改也必须测试,因为计算器程序允许使用Delete键,比如输入“1〈delete〉2+2=”,验证结果是4。所以,前面经历的测试过程可能还要再来一遍。

现在还只是测试了两个数字相加的情况,对于3个数字、4个数字甚至5个数字相加的情况。可能要借助超级计算机来测试。测试完加法,还有测试减法、乘法、除法、平方、倒数等。

这个例子主要是为了说明完全的测试是不可能的。因此,当觉得某些测试是重复的、无必要的,或者为了节省时间、空间,而将某些测试项删除,这就是进行了不完全测试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈