background image

有专门的测试职业吗?认为软件主要是开发人员的事

, 软件的成果也是由开发

人员决定的

, 当我在参加工作后, 真正从学校的学习环境中走上实际运用开发的

时候

, 事实上真的不是那么一回事。软件无处不在, 然而, 

——

软件是人编的

所以

不完美。臭名昭著的软件测试案例:

1

 

、迪士尼的狮子王 (

1994~1995)软件在少数系统中能正常工作, 但在

大众使用的常见系统中不行。后来证实

,迪士尼公司没有对市场上投入实用的各

pc 机型进行正确的测试。

2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软件缺陷拿

4 亿美元支付更换坏芯片的费用。导致付出如此昂贵的代价, 其主要原因是发

现了软件缺陷没有正确的处理。

3、美国航天局火星极地登陆(1999)该项目使用前有经过测试, 两个测试

小组双方独立工作都很好

, 但从未走在一起。

4

 

、爱国者导弹防御系统 (

1991)一枚导弹在多哈击毙 28 名美国士兵, 症

结在于一个软件缺陷:一个很小的系统时钟错误累积起来就可能拖延

14 小时, 

造成跟踪系统失去准确度。在多哈袭击战中系统被拖延

100 小时。

5

 

、千年虫 (大约

1974)估计世界各地更换或升级该系统程序解决原有

2000 年错误的费用已经超过数亿美元。

软件测试的概述

3.1 软件测试的定义

软件测试使用人工或者自动手段来运行或测试某个系统的过程

,其目的在于

检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识

别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度

(correctness)   完 全 度 (completeness) 和 质 量 (quality) 的 软 件 过 程 ; 是

SQA(software quality assurance)的重要子域。

(1)测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生

趋势

,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;

    (2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率

和有效性;

2