软件测试技术的研究进展
测试学科建设及其研究方向提供参考。
关键词: 软件测试; 充分性准则; 静态分析; 动态测试
中图分类号: TP311
文献标识码: A
Abstract: Software testing is an important way to ensure software quality, and a significant component part of software engineering.
题存在,严重影响着系统功能和性能的发挥。实践证明,只有充 控制和软件测试技术等。软件测试技术作为一门有理论指导的
分的测试才能保证软件的质量, 有关软件测试技术的研究和软 实践学科,已成为当前软件技术研究的重点和难点,越来越受到
件测试工具的研究和开发越来越受到软件界的重视。
软件工程领域的广泛关注。
2 软件测试技术的研究背景及其发 展历程
2.1 软件缺陷所带来的危害 在过去的几十年里, 由软件问题导致系统失效的灾难时有 发生,给人类的生命、财产和环境造成了重大损失。例如,上世纪 60 年代中期, 美国的首次金星探测计划就因为在用 FORTRAN 语言编写的 DO 语句中漏掉了一个逗号酿成发射失败, 损失达 上千万美元。软件中潜藏的缺陷不仅造成巨大的经济损失,由于 缺陷的存在还给人身造成巨大伤害。如加拿大原子能有限公司 生产的 Therac-25 放射治疗仪曾以其安全性著称于世, 但在 1986 年 3 月至 1987 年 1 月间, 由于软件出错导致控制系统失 灵,造成 2 人死亡,多人受伤。上述这些鲜活的事例说明在安全 关键系统中,由于软件缺陷导致的系统失效所酿成的损失巨大, 软件的质量问题必须引起足够的重视。 2.2 软件测试的提出背景 随着计算机硬件技术的进步, 元器件可靠性得到了普遍提 高,硬件设计和验证技术不断成熟,由硬件所造成的系统故障相 比软件而言已大幅降低,研究表明:信息化系统中软件设计缺陷 导致的系统失效与硬件设计缺陷导致的系统比是 10:1, 软件缺
技 white-box dynamic test technology, discipline construction and research direction of reference. Keywords: software testing; adequacy criteria; static analysis; dynamic testing
LIU Ji-Hua CHEN Ce
摘要: 软件 测 试 是 保 障 软 件 质 量 的 重 要 手 段,是 软 件 工 程 的 重 要 组 成 部 分 。 本 文 回 顾 和 总 结 了 软 件 测 试 技 术 的 发 展 历 史,讨
论了软件测试技术的研究成果,包括软件测试的充分性准则、静态分析与度量技术以及黑盒与白盒动态测试技术,可为软件
软件时空
文 章 编 号 :1008-0570(2012)10-0494-03
《微计算机信息》2012 年第 28 卷第 10 期
软件测试技术的研究进展
Software testing technology research progress
(1.吕梁学院; 2.北京特种机电研究所软件测评中心) 刘 继 华 1 陈 策 2
术
创
1 引言
陷正成为导致计算机系统失效和停机的主要原因。随着系统复 杂程度的提高和软件功能的不断增强, 软件的规模也在不断增
随着信息技术的不断发展, 软件的规模和复杂性也不断增 大,这使得错误更可能发生。鉴于软件质量问题的重要性和迫切
新 加, 软件规模和复杂性的增加使得软件错误发生的概率也越来 性,人们提出各种方法和技术来提高软件质量,如形式化开发方 越大,很多军用装备经验收性软件测试后,仍然有上百项软件问 法、面向对象开发方法、基于软件能力成熟度模型(CMM)的过程
This paper reviews and summarizes the development of software test technology, and analyzes the research achievements of the soft-
ware testing technology, such as software testing criteria, static analysis and measurement technology as well as the black -box and
2.3 软件测试技术的发展历程 在早期的软件开发活动中,软件测试的概念非常狭窄,几乎 等同于程序的“调试”,上世纪 50 年代中期,出现程序测试的概 念,英国著名计算机科学家图灵给出了程序测试的原始定义,测 试是正确性确认实验方法的一种极端形式。进入 20 世纪 70 年 代后, 软件测试作为软件生存周期的一个阶段被提了出来。20 世纪 70 年代中期,软件测试的意义逐步被人们所认识,对软件 测试的研究工作开始受到重视。1975 年,Goodenough 和 Gerhart 首次提出软件测试理论。到了 20 世纪 80 年代,对软件测试技术 的研究越来越受到重视。1982 年 6 月, 在测试学科先驱 Bill Hetzel 博士的召集下, 美国北卡罗来纳大学召开了首届软件测 试正式技术会议,成为软件测试技术发展中的一个重要里程碑。 会后一批关于软件测试的理论专著相继出版, 这些专著构成了 软件测试学科的最初理论框架,标志着软件测试学科的诞生。目 前,国际上每隔两年召开一次软件测试与分析的学术会议,涌现 了大量的有关软件测试的研究成果。我国也定期召开全国软件 工程会议和容错计算会议, 软件测试已成为这两个会议的热门 专题。
3 软件测试的技术体系及其研究进展
刘继华: 讲师 硕士
3.1 软件测试的充分性准则
基金项目: 吕梁学院 2012 年 校 级 自然 科 学 校内 基 金 项目 名 称 :
软件测试的充分性准则是根据被测软件在有限多个测试
基于移动 Agen