本书第一版为普通高等教育“十一五”国家级规划教材,第2版对原教材一些章节内容进行了重新编写,并增加了Web应用测试一章,将软件测试的新概念、新技术、新方法编入新教材中、使得教材内容更能体现软件测试技术的最新发展,更适合学生学习。本教材保持了教材原有内容的基本架构,特别注重突出教材的应用性、实践性,理论联系实际,把对学生应用能力的培养融汇于教材之中。第2版教材中保留某大型软件公司的一个完整的实际软件项目的测试案例,并对该内容进一步充实,来说明在实际工作中如何实施软件测试工作,以实现巩固理论知识,提高学生实践能力的教学目标。
本书内容全面、注重实际、简明实用,例题、习题丰富、通俗易懂、易于学生学习,适合作计算机、软件等相关专业软件测试教材,也可作软件测试技术培训教材。
1. 在测试实践一章,保留某大型软件公司的一个完整的实际软件项目的测试案例,并对该内容进一步充实,帮助学生提高软件测试技术的应用能力,实现巩固理论知识,提高实践能力的教学目标。2. 增加了Web应用测试,是目前流行的新技术。3. 普通高等教育“十一五”国家级规划教材。4. 内容全面、注重实际、简明实用,例题、习题丰富、通俗易懂、易于学生学习。5. 突出教材的应用性、实践性。6. 适合作计算机、软件等相关专业软件测试教材。7.
佟伟光,男,沈阳工程学院信息工程系教授,享受国务院政府特殊津贴专家。从事高等教育近30年,一直工作在教学、科研第一线。目前,主要在人工智能与专家系统、图象处理与识别研究方向开展研究工作。先后主持完成“人才预测模型与计算机数据处理”、“财务管理软件包”等5项省、部级科研课题,全部通过省、部级鉴定。其中“B型超声图象处理与诊断专家系统的研究”课题通过辽宁省科委组织的专家鉴定,获辽宁省科技进步二等奖。通过多年科研实践,对组织、实施大型科研课题积累了较丰富的经验。
第 1章 软件测试概述1
1.1软件、软件危机和软件工程1
1.1.1 软件、软件危机和软件工程的基本概念1
1.1.2 软件工程的目标及其一般开发过程3
1.1.3 软件过程模型4
1.2软件缺陷与软件故障9
1.3软件质量与质量模型11
1.4软件测试14
1.4.1 软件测试的概念14
1.4.2 软件测试的原则16
1.4.3 软件测试过程模型18
1.4.4 软件测试的分类22
1.4.5 软件测试流程24
1.4.6 软件测试发展历程和发展趋势28
?1.5软件测试人员的基本素质30 第 1章 软件测试概述1
1.1软件、软件危机和软件工程1
1.1.1 软件、软件危机和软件工程的基本概念1
1.1.2 软件工程的目标及其一般开发过程3
1.1.3 软件过程模型4
1.2软件缺陷与软件故障9
1.3软件质量与质量模型11
1.4软件测试14
1.4.1 软件测试的概念14
1.4.2 软件测试的原则16
1.4.3 软件测试过程模型18
1.4.4 软件测试的分类22
1.4.5 软件测试流程24
1.4.6 软件测试发展历程和发展趋势28
?1.5软件测试人员的基本素质30
习 题 132
第 2章 软件测试计划28
2.1软件测试计划的作用28
2.2制订测试计划的原则31
2.3如何制订软件测试计划31
2.4制订测试计划时面对的问题33
2.5衡量测试计划的标准33
2.6制订测试计划34
习 题 242
第 3章 软件测试基本技术41
3.1软件测试技术概述41
3.2白盒测试技术42
3.2.1 静态测试43
3.2.2 程序插桩46
3.2.3 逻辑覆盖48
3.2.4 基本路径测试54
3.2.5 其他白盒测试方法61
3.2.6 白盒测试应用策略63
3.3黑盒测试技术64
3.3.1 功能测试64
3.3.2 非功能测试75
3.3.3 黑盒测试策略80
3.4灰盒测试技术80
习 题 381
第 4章 软件测试过程80
4.1软件测试过程概述80
4.2单元测试81
4.2.1 单元测试的定义81
4.2.2 单元测试的重要性与单元测试原则82
4.2.3 单元测试的主要任务83
4.2.4 单元测试环境的建立85
4.2.5 单元测试主要技术和单元测试数据86
4.2.6 单元测试工具简介89
4.2.7 单元测试人员90
4.3集成测试90
4.3.1 集成测试的定义90
4.3.2 集成测试的主要任务91
4.3.3 集成测试遵循的原则91
4.3.4 集成测试实施方案91
4.3.5 集成测试的测试技术与集成测试数据96
4.3.6 集成测试人员97
4.4系统测试98
4.4.1 系统测试的定义98
4.4.2 系统测试前的准备工作98
4.4.3 系统测试的测试技术和系统测试数据99
4.4.4 系统测试人员101
4.5验收测试101
4.5.1 验收测试的定义101
4.5.2 验收测试的主要内容102
4.5.3 验收测试的测试技术和验收测试数据105
4.5.4 α、β测试106
4.5.5 验收测试人员107
4.6回归测试107
4.6.1 回归测试的测试技术和回归测试的数据108
4.6.2 回归测试的范围109
4.6.3 回归测试人员109
4.7系统排错109
习 题 4111
第 5章 测试用例设计113
5.1测试用例的基本概念113
5.2测试用例的设计114
5.2.1 测试设计说明114
5.2.2 测试用例的编写标准115
5.2.3 测试用例设计应考虑的因素116
5.2.4 测试用例的分类118
5.3测试用例设计实例119
5.4测试用例的执行与跟踪133
5.5测试用例管理135
习 题 5138
第 6 章 测试报告与测试评测1
6.1软件缺陷和软件缺陷种类1
6.1.1 软件缺陷的定义和描述1
6.1.2软件缺陷的种类2
6.1.3软件缺陷的属性5
6.2软件缺陷的生命周期8
6.3分离和再现软件缺陷10
6.4软件测试人员需正确面对软件缺陷11
6.5报告软件缺陷13
6.5.1 报告软件缺陷的基本原则13
6.5.2 IEEE 软件缺陷报告模版15
6.6软件缺陷的跟踪管理17
6.6.1 软件缺陷跟踪管理系统17
6.6.2 手工报告和跟踪软件缺陷19
6.7软件测试的评测20
6.7.1覆盖评测20
6.7.2质量评测23
6.8测试总结报告29
习题六30
第 7章 软件测试项目管理166
7.1软件测试项目管理概述166
7.1.1 软件测试项目与软件测试项目管理166
7.1.2 软件测试项目的范围管理169
7.2软件测试文档169
7.2.1 软件测试文档的作用170
7.2.2 软件测试文档的类型171
7.2.3 主要软件测试文档171
7.3软件测试的组织与人员管理175
7.3.1 软件测试的组织与人员管理概述175
7.3.2 软件测试人员的组织结构176
7.3.3 软件测试人员178
7.3.4 软件测试人员的通讯方式178
7.3.5 软件测试人员管理的激励机制178
7.3.6 软件测试人员的培训179
7.3.7 软件测试的组织与人员管理中的风险管理180
7.4软件测试过程管理180
7.4.1 软件项目的跟踪与质量控制180
7.4.2 软件测试项目的过程管理181
7.5软件测试的配置管理182
7.6软件测试风险管理184
7.7软件测试的成本管理188
7.7.1 软件测试成本管理概述188
7.7.2 软件测试成本管理的一些基本概念189
7.7.3 软件测试成本管理的基本原则和措施192
习 题 7194
第 8章 面向对象软件测试195
8.1面向对象软件的特点及其对测试的影响195
8.2面向对象软件测试的不同层次及其特点198
8.3面向对象软件测试模型207
习题8211
第 9章 Web应用测试1
9.1Web应用测试概述1
9.2Web应用的性能测试2
9.2.1Web性能测试的主要术语和性能指标2
9.2.2Web性能测试的目标和测试策略4
9.2.3Web应用系统性能测试人员应具有的能力5
9.2.4Web应用系统性能测试流程5
9.2.5 Web应用系统性能测试规划与设计6
9.2.6 Web应用系统性能测试的种类8
9.2.7 Web应用系统全面性能测试模型10
9.3Web应用的功能测试8
9.4Web应用的界面测试13
9.5Web应用的客户端兼容性测试20
9.6Web应用的安全性测试21
9.6.1 WebWeb应用的安全性概述21
9.6.2 WebWeb应用安全性测试22
习 题 923
第 10章 软件测试自动化211
10.1软件测试自动化基础211
10.2软件测试自动化的作用和优势212
10.3软件测试自动化的引入条件218
10.4软件测试自动化的实施过程220
10.5主流软件测试工具221
10.5.1白盒测试工具222
1.BoundsChecker223
2. Jtest224
3.JUnit224
4. JCheck225
5. .test226
10.5.2黑盒测试工具226
1.WinRunner226
2.QARun228
3.Robot228
10.5.4 性能测试工具228
1. QALoad229
2. LoadRunner229
3. QuickTest231
4. Performance Runner232
5. TeamTest232
6.WebLoad233
10.5.4 测试管理工具233
1.QADirector233
2. TestDirector233
3. QC235
习题 10236
第 11 章 测试实践—一个实际软件项目的测试案例236
11.1被测试软件项目介绍236
11.1.1 被测试软件项目的背景236
11.1.2 门诊挂号管理子系统介绍237
11.1.3 门诊挂号管理子系统的功能需求分析239
11.1.4 门诊挂号管理子系统的性能及可用性要求241
11.2测试计划242
11.2.1 概述242
11.2.2 定义243
11.2.3 质量风险摘要243
11.2.4 测试进度计划244
11.2.5 进入标准244
11.2.6 退出标准244
11.2.7 测试配置和环境245
11.2.8 测试开发245
11.2.9 预算245
11.2.10 关键参与者245
11.2.11 参考文档245
11.3HIS测试过程概述246
11.3.1 单元测试246
11.3.2 集成测试247
11.3.3 系统测试248
11.3.4 验收测试248
11.4测试用例设计248
11.4.1 挂号管理子系统测试大纲249
11.4.2 其他可用性测试检查标准250
11.4.3 功能测试用例250
11.4.4