软件测试
2008-4
7-81123
王爱平
155
信息技术业已成为国家经济发展的支柱产业之一,作为其重要组成部分的软件产业取得了长足的发展,并且越来越广泛地应用于国民经济和国防建设的各个领域。然而,在实际应用中,由于计算机软件缺陷而造成计算机系统故障并导致严重后果的事例屡见不鲜。因此,如何保证软件产品的质量就成了必须解决的一个问题,而对软件进行有效的测试就是解决软件质量问题的方法之一。软件测试是软件质量保证的关键步骤。软件测试研究的结果表明:软件中存在的问题发现越早,其软件开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件发布后的维护费用越低。另据对国际著名IT企业的统计,它们的软件测试费用占整个软件工程所有研发费用的50%以上。中国软件企业在软件测试方面与国际水准相比仍存在较大差距。首先,在认识上重开发、轻测试,忽略了如何通过流程改进和软件测试来保证产品或系统的质量,也没有认识到软件项目的如期完成不仅取决于系统设计水平和代码实现能力,而且还取决于设计、代码、文档等各方面的质量。其次,在管理上随意、简单,没有建立规范、有效的软件测试管理体系。另外,缺少自动化工具的支持,大多数企业在软件测试时并没有采用软件测试管理系统。所以对软件企业来说,不仅要提高对软件测试的认识,同时要建立起独立的软件测试组织,采用先进的测试技术,充分运用测试工具,不断改善软件开发流程,建立完善的软件质量保证的管理体系。只有这样,才有可能达到软件开发的预期目标,降低软件开发的成本和风险,提高软件开发的效率和生产力,确保及时地发布高质量的软件产品。
本书比较全面地介绍了软件测试方法,首先介绍了测试技术的发展历史和现状;然后,作为测试的基础,介绍了白盒测试、黑盒测试及测试覆盖率等几个重要概念,并充分分析了业界在这几个概念方面的研究成果:之后从全流程测试的角度详细介绍了面向对象的测试技术。又从目前实际情况出发,介绍了较为流行的WEB测试技术。为了使读者更快地掌握测试技术,第7章用一个实例,给出了完整的与软件测试相关的文档。最后,作者总结了测试的基本原则和一些好的实践经验。 本书内容充实,实用性强,可作为高职高专院校计算机软件专业软件测试技术课程的教材,也可作为有关软件测试的培训教材,对从事软件测试实际工作的相关技术人员也具有一定的参考价值。
第1章 软件测试概述 1.1 软件错误与缺陷 1.1.1 著名的软件错误案例 1.1.2 软件缺陷是什么 1.2 什么是软件测试 1.2.1 软件测试定义 1.2.2 软件测试的特性 1.2.3 测试的目标 1.2.4 软件测试的原则 1.3 软件质量保证 1.3.1 软件质量的定义 1.3.2 软件质量特性 1.3.3 软件质量管理 1.3.4 软件测试管理 1.4 软件测试过程 1.4.1 测试计划 1.4.2 单元测试 1.4.3 集成测试 1.4.4 系统测试 1.4.5 验收测试 1.4.6 测试总结与报告 习题第2章 软件开发过程 2.1 软件及其特征 2.1.1 软件定义 2.1.2 软件的特征 2.2 软件生命周期 2.3 软件开发模型 2.3.1 瀑布模型 2.3.2 快速原型模型 2.3.3 螺旋模型 2.3.4 v模型 2.3.5 喷泉模型 习题第3章 测试技术基础 3.1 代码检查 3.1.1 代码会审 3.1.2 走查 3.2 黑盒测试 3.2.1 等价类划分 3.2.2 边界值分析 3.2.3 错误推测法 3.2.4 因果图法 3.3 白盒测试 3.3.1 逻辑覆盖测试 3.3.2 基本路径测试 3.4 测试用例设计 3.4.1 测试用例的概念 3.4.2 设计测试用例 3.4.3 测试用例的评审 习题第4章 面向对象测试技术 4.1 面向对象测试概述 4.1.1 传统开发方法存在的问题 4.1.2 面向对象技术 4.1.3 什么是面向对象测试 4.1.4 面向对象测试模型 4.2 面向对象分析的测试 4.2.1 对类和对象范围的测试 4.2.2 对结构范围的测试 4.2.3 对主题范围的测试 4.2.4 对定义的属性和实例关联的测试 4.2.5 对定义的服务和消息关联的测试 4.3 面向对象设计的测试 4.3.1 确定测试的问题域 4.3.2 人机交互部分(HIC)设计的测试 4.3.3 对任务管理部分(1MC)设计的测试 4.3.4 对数据管理部分(DMC)设计的测试 4.4 面向对象编程的测试 4.4.1 数据成员是否满足数据封装的要求 4.4.2 类是否实现了要求的功能 4.5 面向对象的单元测试 ……第5章 Web系统测试技术第6章 软件测试的组织与管理第7章 软件测试实例附录A 软件测试术语参考文献
插图:第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日,美国航天局火星基地登陆飞船在试图登陆火星表面时失踪。错误修正委员会观测到故障,并认定出现误动作的原因极可能是某一个数据位被意外更改。
《软件测试》为21世纪高职高专计算机专业教材之一。
适合初学者使用内容比较简单
这个书好啊!!好啊!!!好啊!!!好啊!!!好啊!!!
内容跟目录有什么区别,简单罗列
不错 超喜欢满意 很好 很不错 速度快 内容很好 是适合基础学者