【摘要】:完全测试是不可能的,主要原因有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个数字相加的情况。可能要借助超级计算机来测试。测试完加法,还有测试减法、乘法、除法、平方、倒数等。
这个例子主要是为了说明完全的测试是不可能的。因此,当觉得某些测试是重复的、无必要的,或者为了节省时间、空间,而将某些测试项删除,这就是进行了不完全测试。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。