我是新手!以后希望大家多多帮助!
谢谢!
不可能完全测试一个程序
上一篇 /
下一篇 2007-03-31 18:38:35
/ 个人分类:软件测试说明
完全测试一个程序究竟意味着什么?它必然意味着在测试结束之时,再也没有未发现的软件错误了。有没有得到改正是另外一回事,但是所有的问题都必须被认识到,并得到充分理解。
人们普遍存在着一种信念,认为可以对程序进行完全的测试:
1.一些初级的程序设计教材甚至声称能够告诉你如何做到这点:测试程序对所有可能输入的响应,或测试程序中所有可能的执行路径。我们很快就能看到,以上两项工作没有任何一项能保证完全的测试,而且这两项通常都是不可能完成的任务。
2.许多管理者也相信存在完全测试的可能性。他们要求员工这样做,并在彼此间确认正在这样做。
3.某些软件测试公司的销售手册信誓旦旦地保证,他们能完全地测试你的代码。
4.测试覆盖率分析人员有时为了推销自己,宣称能告诉你:你是否已经完全测试了代码;以及为了达到完全的测试,你后面还需要进一步做什么测试。
5.许多销售人员都认为他们的软件产品经过了完全的测试,彻底与错误无缘,并且向客户灌输这种观点。
一些测试人员也相信存在着完全测试的秘诀。他们为这种想法吃尽苦头,感受了不安全,挫折和罪恶感,因为无论工作得多么辛苦、计划的多么精明、耗时多么巨大、投入的人手和计算机数量多么庞大,他们仍然无法做到足够的测试,仍然会遗漏缺陷。
完全的测试是不可能的,原因有三:
(1)可能的输入范围太大,根本无法穷尽测试。
(2)程序中可能的运行路径太多,也根本无法穷尽测试。
(3)用户界面问题(以及相应的设计问题)太复杂,在可能进行完全测试。
收藏
举报
TAG:
测试误区
软件测试说明