**部分 写作线索
第1章 测试原理
1.1 生产软件中的测试背景
我们今天使用的几乎一切东西都包含软件。在软件发展的早期,软件用户的数量与大公司相比还是很少的。现在,一个典型的工作场所(或家里),差不多每个人都在使用计算机及软件。管理人员使用生产率很高的办公软件(代替以前的打字机)。会计师及财务人员使用电子表格软件和其他财务软件包,比使用计算器(甚至手工)要快得多。公司和家里的每个人都用电子邮件和互联网进行娱乐、教育、通信和交互,获取任何想要的信息。另外,“技术”人员使用程序设计语言、建模工具、仿真工具和数据库管理系统完成以前主要靠手工完成的任务。
上面只是说明软件的使用对于用户来说“很明显”的几个例子。但是,软件的无处不在和广泛普及远不止以上这些例子所揭示的那样。现在的软件就像20世纪初的电一样普及。我们在办公室和家庭所使用的几乎每一台设备都嵌入大量的软件,例如手机、电视、手表和冰箱以及厨房的每一件电器都有嵌入式软件。
另一个值得注意的现象是软件在任务关键场合的使用,在这些场合出现失效是根本不能接受的。对于心脏起搏器软件,决不能提议“请关机并重启系统”!我们离不开的几乎所有服务中都有软件。银行、航空管制、汽车等,驱动它们的软件都是**不能失效的。这些软件系统必须每时每刻、**、可靠、可预见地运行。
这些无所不在、广泛使用和关键之处都对软件的开发和部署提出了一定的要求。
首先,开发软件产品或提供服务的公司必须尽全力减少、*好消除每件所交付的软件产品或服务中的缺陷。用户越来越不能容忍劣质的软件产品。从软件开发公司的角度看,发布有缺陷的软件产品在经济上也不是可行的。比如,在电视机发运给成千上万的用户后,其中的嵌入式软件被发现有一个缺陷。怎么可能发送“补丁”给这些用户,要求他们“安装补丁”?因此,**的解决方案是在产品交付用户之前就一次做好。
……