1、无法对程序进行完全测试
(1)测试所需要的输入量太大
(2)测试的输出结果太多
(3)软件实现的途径太多
(4)软件规格说明没有一个客观标准
2、测试无法显示潜在的软件缺陷和故障
——通过软件测试只能报告软件已被发现的缺陷和故障,无法报告隐藏的软件故障。
3、存在的故障现象与发现的故障数量成正比
——结论:应当对故障集中的程序段进行重点测试
4、不能修复所有的软件故障
——原因:没有足够的进行修复;修复的风险较大; 不值得修复;可不算做故障的一些缺陷;“杀虫剂现象”。
——结论:关键是要进行正确的判断、合理的取舍,根据风险分析决定哪些故障必须修复,哪些故障可以不修复。
5、软件测试的代价
——工作原则:就是如何将无边无际的可能性减小到一个可以控制的范围,以及如何针对软件风险做出恰当选择,去粗存精,找到最佳的测试量,使得测试工作量不多也不少,既能达到测试的目的,又能较为经济。