第1章软件测试概述
软件测试是软件开发过程的重要组成部分,用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的*终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它作必要的测试(称为单元测试),编码和单元测试属于软件生存期中的同一个阶段;在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
1.1软件错误与缺陷
计算机技术的发展使计算机渗透到人们生活中的各个方面,帮助人们解决了各种难题。人们在欣喜地享受计算机带来的巨大变化的同时,也承受着由于软件错误而产生的灾难。
1.1.1**的软件错误案例
1.“爱国者”导弹防御系统
美国“爱国者”导弹防御系统**应用在海湾战争中对抗伊拉克“飞毛腿”导弹。尽管大家对此导弹系统赞誉有加,但是它在实战中还是出现了失利,其中一枚在沙特阿拉伯的多哈误杀了28名美国兵。通过调查分析,专家发现原因是一个软件缺陷。一个很小的系统时钟错误累积起来就可能拖延14小时,造成跟踪系统失去准确度。在多哈战中,系统被拖延100多个小时。
2.WindowsXP漏洞
随着大家越来越多地使用Windows XP系统,其本身的漏洞也越多地暴露出来,例如,浏览器1E 6.0的漏洞、Windows XP内建的“即插即用”功能的漏洞……日本微软甚至在支持技术信息中指出,当用户重新安装、修复及升级Windows XP时有可能导致保存在电脑中数据文件丢失……
美国微软公司承认,其*新推出的Windows XP操作系统存在巨大**隐患,Windows XP的用户只要上网,黑客就可以完全控制电脑,并利用它发动网上攻击行动。Gartner公司网络**评定**已经把这两个漏洞标为高危险级,估计到2002年春季末,一名“合格的”黑客就能利用这些漏洞开发出专门针对Cable Modem(电缆调制解调器)和DSL(DigitalSubscriber Loop,数字用户环路)网络设备的攻击工具。
3.美国航天局火星基地登陆失败
1999年12月3日,美国航天局火星基地登陆飞船在试图登陆火星表面时失踪。错误修正委员会观测到故障,并认定出现误动作的原因极可能是某一个数据位被意外更改。
……