配套资源:电子课件
本书特色:
依据软件测试领域的新国际标准ISO/IEC/IEEE 29119(2013)系列编写;在各章节中设计了大量的实例和步骤讲解;介绍了软件测试领域中一些技术性和专业性较强的主题。
本书教学资源,样书申请可添加微信13146070618索取
本书依据软件测试领域的新国际标准ISO/IEC/IEEE 29119(2013)系列,系统地介绍了软件测试的基本概念与基本原理,主要的测试用例设计技术,软件生命周期中测试的实施,软件测试的计划、组织与管理,以及软件测试领域中的一些技术性和专业性较强的主题。 本书力求内容精炼、叙述清楚、循序渐进。在对理论和技术细节的阐述中设计了大量实例及步骤讲解,以期读者能够快速、全面地掌握软件测试的相关理论知识、测试用例设计技术,以及软件测试的实施和管理方法,并能够在工程实践中灵活运用。本书每章均配有习题,以指导读者深入地进行学习。 本书既可以作为高等学校软件工程专业、计算机应用专业以及其他相关专业软件测试技术课程的教材,也可以作为软件测试从业人员的技术参考书。
配套资源:电子课件
本书特色:
依据软件测试领域的新国际标准ISO/IEC/IEEE 29119(2013)系列编写;在各章节中设计了大量的实例和步骤讲解;介绍了软件测试领域中一些技术性和专业性较强的主题。
本书教学资源,样书申请可添加微信13146070618索取
本书依据软件测试领域的新国际标准ISO/IEC/IEEE 29119(2013)系列,系统地介绍了软件测试的基本概念与基本原理,主要的测试用例设计技术,软件生命周期中测试的实施,软件测试的计划、组织与管理,以及软件测试领域中的一些技术性和专业性较强的主题。 本书力求内容精炼、叙述清楚、循序渐进。在对理论和技术细节的阐述中设计了大量实例及步骤讲解,以期读者能够快速、全面地掌握软件测试的相关理论知识、测试用例设计技术,以及软件测试的实施和管理方法,并能够在工程实践中灵活运用。本书每章均配有习题,以指导读者深入地进行学习。 本书既可以作为高等学校软件工程专业、计算机应用专业以及其他相关专业软件测试技术课程的教材,也可以作为软件测试从业人员的技术参考书。
目 录
出版说明
前言
第1章 软件测试概述1
1.1 软件与软件缺陷1
1.1.1 软件及其特点1
1.1.2 软件缺陷2
1.1.3 软件缺陷的典型案例7
1.1.4 软件缺陷的经济影响及修复费用8
1.2 软件测试及其发展8
1.2.1 软件测试的定义9
1.2.2 软件测试的目标9
1.2.3 软件测试的基本类型9
1.2.4 软件测试的发展10
1.3 软件测试的基本原则11
1.4 软件测试的常用术语13
1.5 软件测试的基本过程15
1.6 软件测试人员的工作17
1.6.1 软件测试人员的工作内容与角色划分17
1.6.2 优秀软件测试人员应具备的素质18
1.6.3 软件测试人员的职业前景18
1.7 习题与练习18
第2章 黑盒测试技术20
2.1 静态黑盒测试技术20
2.1.1 软件需求与软件产品规格说明书20
2.1.2 规格说明书的高层次审查21
2.1.3 规格说明书的细节审查22
2.2 动态黑盒测试技术25
2.2.1 等价类划分方法25
2.2.2 组合测试设计方法34
2.2.3 分类树方法52
2.2.4 边界值分析方法56
2.2.5 决策表方法62
2.2.6 因果图方法68
2.2.7 状态转换测试方法75
2.3 习题与练习80
第3章 白盒测试技术82
3.1 静态白盒测试技术82
3.1.1 正式审查82
3.1.2 编码标准和规范84
3.1.3 代码审查要点88
3.2 动态白盒测试技术91
3.2.1 语句测试方法92
3.2.2 分支测试方法与决策测试方法96
3.2.3 分支条件测试方法98
3.2.4 分支条件组合测试方法101
3.2.5 修正的条件决策覆盖测试方法103
3.2.6 数据流测试方法106
3.3 习题与练习115
第4章 软件生命周期中测试的实施117
4.1 递增式测试策略117
4.2 单元测试118
4.2.1 单元测试的相关概念118
4.2.2 单元测试的主要内容119
4.2.3 单元测试的环境120
4.3 集成测试122
4.3.1 集成测试的相关概念122
4.3.2 集成测试中的主要集成方法122
4.3.3 集成测试用例的设计要点125
4.4 系统测试125
4.4.1 系统测试的相关概念126
4.4.2 系统测试的主要内容126
4.5 验收测试129
4.5.1 验收测试的相关概念129
4.5.2 验收测试的主要形式130
4.6 回归测试131
4.6.1 回归测试的相关概念131
4.6.2 回归测试的范围132
4.7 软件测试实施中的常用工具132
4.7.1 代码静态检查工具132
4.7.2 单元测试工具136
4.8 习题与练习146
第5章 软件测试的组织、计划与管理148
5.1 测试过程的层次模型148
5.2 组织的测试过程149
5.2.1 组织的测试过程的主要目的149
5.2.2 组织的测试过程的主要内容149
5.2.3 组织的测试过程的主要成果150
5.3 测试管理过程150
5.3.1 测试管理过程的主要内容150
5.3.2 测试计划过程152
5.3.3 测试监控过程157
5.3.4 测试完成过程159
5.4 动态测试过程160
5.4.1 动态测试过程的主要内容160
5.4.2 测试设计与实现过程161
5.4.3 测试环境搭建与维护过程164
5.4.4 测试执行过程165
5.4.5 测试事件报告过程166
5.5 成效评价与测试停止标准168
5.5.1 日常测试中使用的度量168
5.5.2 常用的项目级度量168
5.5.3 测试停止标准169
5.6 习题与练习170
第6章 软件测试的高级专题172
6.1 嵌入式软件测试172
6.1.1 嵌入式软件的特点及其对测试的影响172
6.1.2 嵌入式软件测试环境的搭建173
6.1.3 嵌入式软件测试中的程序插桩技术174
6.2 面向对象软件测试177
6.2.1 面向对象测试的相关概念177
6.2.2 类测试178
6.2.3 面向对象的集成测试180
6.2.4 面向对象的系统测试188
6.3 安全性测试189
6.3.1 安全性测试的基本概念189
6.3.2 软件安全性测试的基本过程190
6.3.3 缓存区溢出缺陷相关的静态检查191
6.4 程序变异测试技术194
6.4.1 程序变异测试的基本概念194
6.4.2 程序变异测试技术的基本思想196
6.4.3 用程序变异测试技术进行测试充分
性评价的步骤197
6.5 习题与练习201
参考文献203
前 言 近30年来,随着编程语言和软件工程相关技术的快速发展,软件的规模和复杂性大幅度提升,软件的质量问题也变得日益突出。软件中存在的缺陷轻则给用户带来不便,重则造成生命和财产的重大损失。作为软件质量保证的关键步骤,软件测试的效果直接关系到软件产品的质量,因此得到业界的高度重视,软件测试的理论知识和技术工具的发展日新月异。 目前,国内外软件企业或部门对软件测试人员的需求量非常大,掌握软件测试的基本原理、基本方法和基本技术业已成为软件工程及相关专业毕业生的基本要求之一。许多高等院校已经把软件测试技术列为相关专业的必修或选修课程。本书结合编者多年从事软件测试技术相关课程教学的经验,依据软件测试领域的新国际标准ISO/IEC/IEEE 29119(2013)系列,系统地介绍了当前软件测试领域的专业知识。在各章节中设计了大量的实例和步骤讲解,尽量做到内容精炼、叙述清楚、循序渐进。通过对本书内容的学习,读者能较快地学习到软件测试方面的理论知识,全面掌握测试用例设计技术,并在软件生命周期内得以灵活运用。因此,本书既可以作为软件测试技术课程的教材,也可以作为软件测试从业人员的技术参考书。 本书共6章,可分为3部分。第1部分包括1~4章的内容,介绍了软件测试的概念、原理、方法,以及软件测试的实施等基础内容。其中,第1章主要介绍了软件缺陷和软件测试的相关基本概念与基本原理。第2章介绍了黑盒测试技术,包括静态黑盒测试技术与动态黑盒测试技术。前者主要包括软件产品规格说明书的审查,后者主要包括等价类划分方法、组合测试设计方法(包括完全组合测试方法、成对测试方法、逐个选择测试方法及基本选择测试方法)、分类树方法、边界值分析方法、决策表方法、因果图方法,以及状态转换测试方法。第3章介绍了白盒测试技术,包括静态白盒测试技术与动态白盒测试技术。前者主要包括正式审查方面的内容,后者主要包括语句测试方法、分支测试方法与决策测试方法、分支条件测试方法、分支条件组合测试方法、MCDC测试方法,以及数据流测试方法。第4章介绍了软件生命周期中测试的实施,主要包括递增式测试策略,以及单元测试、集成测试、系统测试、验收测试和回归测试方面的内容,此外还介绍了软件测试实施中常用工具的使用方法。第2部分包括第5章的内容,主要介绍了软件测试的计划、组织与管理。第3部分包括第6章的内容,主要介绍了软件测试领域中一些技术性和专业性较强的主题,包括嵌入式软件测试、面向对象软件测试、安全性测试,以及程序变异测试技术。 本书第1~3章由李凡编写,第4~6章由王伟东、田文洪和李凡共同编写,全书由李凡统稿。本书在编写过程中得到了电子科技大学信息与软件工程学院相关领导的大力支持和机械工业出版社的积极协助,在此表示衷心的感谢。 本书在编写过程中难免存在疏漏和不妥之处,恳请广大专家和读者批评指正。本书编者的电子信箱是lifan@uestc.edu.cn。 编 者
随手扫一扫~了解多多