1、 1 软件工程专业毕业论文软件工程专业毕业论文 姓姓 名:名: 专专 业业: : 年年 级:级: 学学 号:号: 指导教师指导教师: : 2 软件测试的概述及方法 、 、 摘要:摘要:从软件产业的发展初期到目前的大型软件开发过程,软件测试 已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测 试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测 试有着广泛的需求, 基于缺陷模式的软件测试技术作为高可信软件的 重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。 本文从 测试的基本概念入手,深入剖析软件测试相关理论 关键字:关键字:软件测试、白盒测试、黑盒测试、类测试 3 目
2、目 录录 1 1 软件测试的发展史软件测试的发展史4 2 2 软件测试的相关背景软件测试的相关背景. 5 3 3 软件测试概述软件测试概述6 3.1软件测试的定义6 3.2软件测试的描述.6 3.3 软件测试的目的7 3.4软件测试的原则.8 4 软件测试的内容软件测试的内容9 4.1 验证(verification).9 4.2确认(validation)9 5 5 软件测试的分类软件测试的分类.10 5.1 常用分类10 错误错误! !未定义书签。未定义书签。 5.2 黑盒测试10 5.3白盒测试.11 5.4 静态测试14 5.5 动态测试.15 6 6 软件测试中的类测试软件测试中的类
3、测试.15 6.1 面向对象软件的类测试概念.15 6.2.类测试技术.16 7 7 参考文献参考文献1717 4 8 8 致谢致谢.18 1 1 软件测试的发展史软件测试的发展史 软件测试的发展历史:20 世纪 60 年代(软件工程建立前) ,为表明 程序正确而进行测试。. 1972 年在北卡罗来纳大学举行了首届软件 测试正式会议。 . 1975 年 John Good Enough 和 Susan Gerhart 在 IEEE 上发表了测试数据选择的原理的文章,软件测试被确定为一种研 究方向。. 1979 年,Glenford Myers 的软件测试艺术 ,对测试做 了定义:测试是为发现错
4、误而执行的一个程序或者系统的过程。. 20 世纪 80 年代早期,“质量”的号角开始吹响。软件测试定义发生了 改变,测试不单纯是一个发现错误的过程, 而且包含软件质量评价的 内容。制定了各类标准。. 1983 年,Bill Hetzel 在软件测试完全 指南中指出:测试是以评价一个程序或者系统属性为目标的任何一 种活动,测试是对软件质量的度量。. 20 世纪 90 年代,测试工具盛 行起来。 . 1996 年提出的测试能力成熟度 TCMM(Testing Capability Maturity Model) 、测试支持度 TSM(Testability Support Model) 、 测试成
5、熟度 TMM(Testing Maturity Model) 。. 到了 2002 年,Rick 和 Stefan 在 系统的软件测试 一书中对软件测试做了进一步定义: 测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、 实施和维护的整个生命过程。 5 2 2 软件测试的相关背景软件测试的相关背景 相关背景: 前段时间, 就是在我没有认真了解测试行业之前, 可 能由于测试在中国的重视程度的问题, 我也一直认为测试应该是不 重要的, 甚至认为有必要有专门的测试职业吗?认为软件主要是开 发人员的事, 软件的成果也是由开发人员决定的, 当我在参加工作 后, 真正从学校的学习环境中走上实际运
6、用开发的时候, 事实上真 的不是那么一回事哦。 软件无处不在, 软而, 软件是人编的所以 不完美。臭名昭著的软件测试案例: 1、迪士尼的狮子王 (19941995)软件在少数系统中能正常工 作, 但在大众使用的常见系统中不行。 后来证实, 迪士尼公司没有对 市场上投入实用的各种 pc 机型进行正确的测试。 2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软 件缺陷拿出 4 亿美元支付更换坏芯片的费用。 导致付出如此昂贵的代 价, 其主要原因是发现了软件缺陷没有正确的处理。 3、美国航天局火星极地登陆(1999)该项目使用前有经过测试, 两个测试小组双方独立工作都很好, 但从未走在一起。 4、爱国者导弹防御系统 (1991)一枚导弹在多哈击毙 28 名美 国士兵, 症结在于一个软件缺陷: 一个很小的系统时钟错误累积起来 就可能拖延 14 小时, 造成跟踪系统失去准确度。在多哈袭击战中系 统被拖延 100 小时。 6 5、千年虫 (大约 1974)估计世界各地更换或升级该系统程序 解决