《软件测试的艺术》读书笔记(第二章)
第二章:软件测试的心理学和经济学
前言:
软件测试是一项技术性工作,但同时涉及经济学和人类心理学的一些重要因素。
在理想情况下,我们会测试程序的所有可能执行情况,而在大多数情况下,这几乎是不可能的。即使是一个简单的程序,其可能的输入与输出组合可达到数百种甚至数千种,对所有的可能情况都设计测试用例是不切合实际的。对于一个复杂的应用程序进行完全的测试,将耗费大量的时间和人力资源,这样在经济上是不可行的。
另外,要成功地测试一个软件应用程序,测试人员也需要有正确的态度或者说是良好的心理。
[2] [1] 软件测试的心理学
测试执行得差,其中一个主要原因在于大多数程序员一开始就把“测试”这个术语的定义搞错了,他们可能会认为:
“软件测试就是证明软件不存在错误的过程。”
“软件测试的目的在于张明软件能够正确完成其预定的功能。”
“软件测试就是一个建立一个‘软件做了其应该做的’信心的过程。”
这些定义都是本末倒置的。
每当测试一个程序时,应当想到要为程序增加一些价值。通过测试来增加程序的价值,是指测试提高了程序的可靠性或者质量。提高了程序的可靠性,是指找出并最终修改了程序的错误。
那么对于测试,更为合适的定义应该是:
测试是为了发现错误而执行程序的过程。
这并不是在玩文字游戏,而是人类行为总是倾向于具有高度目标性&#