background image

                     

 

软件测试 ?!

(1)

软件测试的背景

软件测试是伴随着软件而产生的。

20 世纪 60 年代(软件工程建立前),高级语言相继诞生并广泛应用,

因此为表明程序正确而进行测试。
到了

20 世纪 70 年代,随着软件规模越来越大,其复杂性也急剧增加,软件

在 计 算 机 系 统 中 的 重 要 性 越 来 越 高 。

1975 年 John Good Enough 和

Susan Gerhart 在 IEEE 上发表了《测试数据选择的原理》的文章,软件测
试被确定为一种研究方向。

1979 年,Glenford Myers 的《软件测试艺

术》一书成为软件测试领域的第一本重要专著,其中将软件测试定义为:

测试是为了发现错误而执行的一个程序或者系统的过程。

Myers 为软件测

试的发展起了重要作用。
    20 世纪 80

年代早期, 质量的号角开始吹响 。软件测试定义发生改变 ,

测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容,制订了
各类标准。

1982 年在美国卡来纳大学举行了首届软件测试正式会议。1983

年,

Bill Hetzel 在《软件测试完全指南》中指出:测试是以评价一个程序或

者系统属性为目标的任何一种活动,测试是对软件质量的度量。同年,

IEEE

提出的软件工程术语中对软件定义是: 使用人工或自动的手段来运行或测
定某个系统的过程,其目的在于检验它是否满足规定的需求或弄清实际结果

 

和预期结果的差别。 此时软件已成为一个专业,需要运用 方法和手段,需
要专门的人才。
    进入 20 世纪 90 年代,测试工具盛行起来。
1996 年 提 出 的 测 试 能 力 成 熟 度 TCMM ( Testing Capability Maturity 
Model)、测试支持度 TSM(Testability Support Model)、测试成熟度
TMM ( Testing Maturity Model ) 。 到 了 2002 年 , Rick 和 Stefan 在
《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和
提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周
期过程。
近二十年来,随着计算机和软件技术的飞速发展,软件测试技术研究也取得
很大突破。在

1982 年首届软件测试技术会议以后,该会议每两年召开一次。

此外,国际上还有软件可靠性会议,越来越多的人加入软件测试行业,从事
软件测试技术的研究。

(2)

软件测试和软件调试的区别

软件调试跟软件测试是两个不同的过程

,有着根本的区别

1. 软件测试就是为了发现错误而执行程序的过程。软件调试是发现错误

并改正的。

2. 软件调试是一个随机的,不可重复的过程,它用于隔离和确认问题发

生的原因,然后修改软件来纠正问题。软件测试是一个有计划的,可
以重复的过程,它的目的是为了发现与预先定义的规格和标准不符合
的问题。软件测试是找出软件已经存在的错误,而调试是定位错误,