描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302525011丛书名: 高等学校计算机应用规划教材
《软件测试技术》主要包括以下内容:
(1) 测试基础知识。在第1 章中通过分析软件测试工程师的职业发展前景和当前我国软件测试行业现状,使读者首先了解学习本课程的意义,增强学习兴趣;介绍软件测试的发展历程、
基本概念、原则和术语;详细说明软件测试的目的、分类、流程和基本的软件测试过程;细致讲解常见的软件测试模型;阐述什么是测试用例、如何正规书写测试用例、如何保障测试用例的设计质量。
(2) 测试基本技术。在第2 章和第3 章中结合经典实例,重点讲解常用的白盒测试技术和黑盒测试技术以及相应的测试用例设计方法,对难以掌握和应用中易错的知识点进行实例化说
明。总结和分析白盒测试和黑盒测试的优缺点,在此基础上给出白盒测试和黑盒测试技术的应用策略。
(3) 测试过程。在第4 章中,从单元测试、集成测试、系统测试和验收测试4 个阶段详细介绍软件测试执行过程,说明各测试阶段依据的主要技术文档、参与人员、典型测试数据和采
用的主要技术,对回归测试的方法和注意事项进行介绍。
(4) 功能与非功能测试。在第5 章中,对各种典型的功能和非功能测试技术进行说明,重点讲解性能测试的分类以及常用的性能测试指标。
(5) 缺陷报告与测试评估。在第6 章中,详细说明报告软件缺陷的方法,重点说明如何完成定量化测试评估,介绍测试总结报告的编写方法。
(6) 测试管理。在第7 章中,介绍测试管理中一些*为重要的管理内容和相关知识,主要包括软件质量管理标准和管理体系、如何制定测试计划、测试项目中的测试文档以及测试配置
管理等内容。
(7) 软件测试自动化。在第8 章中,介绍自动化测试的原理,说明测试工具的分类和选择方法,给出一些常用测试工具的说明。
《软件测试技术》融入作者十余年软件工程领域实践与教学经验,内容精炼实用、条理清晰并且通俗易懂。通过丰富的实例和实践要点描述,方便读者理解测试理论和技术的具体应用方法,力求使软件测试初学者可以在短时间内掌握软件测试技术核心内容,为进一步适应高级软件测试工作打下坚实基础。
《软件测试技术》可作为软件工程、计算机科学与技术以及相关专业的本科生教材和硕士研究生参考教材,也可以作为各类软件工程技术相关人员的参考书。
《软件测试技术》对应的课件可以到http://www.tupwk.com.cn/downpage网站下载,也可通过扫描前言中的二维码下载。
第1章 软件测试概述 1
1.1 软件测试行业需求与现状 1
1.2 软件中的Bug 4
1.2.1 Bug与软件缺陷 4
1.2.2 软件Bug的普遍性与危害性 6
1.2.3 软件缺陷产生的原因 7
1.3 什么是软件测试 8
1.3.1 软件测试的发展历程 8
1.3.2 软件测试的定义 10
1.3.3 软件测试认识误区 11
1.4 软件测试的目的与原则 12
1.4.1 软件测试的目的 12
1.4.2 软件测试的原则 13
1.5 软件测试过程与分类 14
1.5.1 软件测试过程 15
1.5.2 软件测试分类 16
1.6 软件测试过程模型 19
1.6.1 V模型 20
1.6.2 W模型 20
1.6.3 H模型 21
1.6.4 X模型 22
1.6.5 前置测试模型 23
1.6.6 测试模型的特点 24
1.7 软件测试信息流 24
1.8 软件测试用例 25
1.8.1 什么是测试用例 25
1.8.2 测试用例编写规范 27
1.8.3 编写测试用例的注意事项 28
1.8.4 设计测试用例的误区 30
思考题 30
第2章 白盒测试 33
2.1 对于白盒测试的基本认识 33
2.2 静态测试 34
2.2.1 代码检查法 35
2.2.2 静态结构分析法 36
2.3 程序插桩 37
2.4 逻辑覆盖测试 39
2.4.1 语句覆盖 40
2.4.2 判定覆盖 41
2.4.3 条件覆盖 41
2.4.4 判定-条件覆盖 42
2.4.5 条件组合覆盖 43
2.4.6 路径覆盖 44
2.4.7 Z路径覆盖 45
2.4.8 计算路径覆盖最少的测试用例数 46
2.5 循环结构测试 47
2.6 基本路径测试 49
2.6.1 程序控制流图与环路复杂度 49
2.6.2 独立路径集合 51
2.6.3 基本路径测试用例 52
2.6.4 控制流图矩阵 56
2.6.5 基本路径测试的扩展应用 57
2.7 其他白盒测试方法 57
2.8 白盒测试应用策略 59
思考题 59
第3章 黑盒测试 61
3.1 对于黑盒测试的基本认识 61
3.2 等价类划分法 62
3.2.1 等价类划分思想 62
3.2.2 等价类划分的规则 63
3.2.3 测试用例的设计步骤与实例 64
3.3 边界值分析法 67
3.3.1 边界值选取原则 67
3.3.2 两类边界值选取方法 68
3.3.3 边界值分析法示例 69
3.3.4 边界值分析法的特点 70
3.4 判定表驱动法 70
3.4.1 判定表的构造与化简 70
3.4.2 判定表驱动法应用实例 72
3.4.3 适用范围及优缺点 73
3.5 因果图法 74
3.5.1 因果图法的原理 74
3.5.2 因果图法应用实例 76
3.6 正交实验法 78
3.6.1 正交实验法的基本原理 78
3.6.2 正交表及其选择方法 81
3.6.3 正交实验法的设计步骤与实例 82
3.7 场景法 84
3.7.1 场景法的基本概念 84
3.7.2 基本流和备选流 85
3.7.3 场景法的设计步骤与实例 86
3.8 错误推测法 88
3.9 黑盒测试应用策略 89
3.10 黑盒测试与白盒测试的优缺点与对比 90
思考题 91
第4章 软件测试的执行阶段 93
4.1 单元测试 93
4.1.1 单元测试和集成测试的关系 93
4.1.2 对于单元测试的基本认识 95
4.1.3 单元测试的认识误区 97
4.1.4 单元测试的意义 99
4.1.5 单元测试的原则 99
4.1.6 单元测试的主要任务 100
4.1.7 驱动模块与桩模块 102
4.2 集成测试 104
4.2.1 对于集成测试的基本认识 104
4.2.2 集成测试的原则 106
4.2.3 集成测试与系统测试的区别 106
4.2.4 集成测试的策略与模式 107
4.3 系统测试 115
4.3.1 什么是系统测试 115
4.3.2 系统测试的内容 116
4.3.3 系统测试人员 117
4.3.4 系统测试所采用的技术与数据 117
4.3.5 系统测试前的准备工作 118
4.4 验收测试 119
4.4.1 对于验收测试的基本认识 119
4.4.2 验收测试的主要内容 120
4.4.3 验收测试的注意事项 123
4.4.4 ?测试与?测试 123
4.4.5 四种主要测试执行阶段的简要对比 124
4.5 回归测试 125
4.5.1 什么是回归测试 125
4.5.2 回归测试的范围与测试用例的选择 125
4.5.3 回归测试用例的维护 127
思考题 128
第5章 功能测试与非功能测试 129
5.1 对功能测试和非功能测试的基本认识 129
5.1.1 什么是功能测试 129
5.1.2 功能测试的主要内容 130
5.1.3 什么是非功能测试 131
5.1.4 非功能测试的主要内容 132
5.2 UI测试和易用性测试 133
5.2.1 UI测试 133
5.2.2 易用性测试 136
5.3 性能测试 138
5.3.1 性能测试的分类 139
5.3.2 不同性能测试类型的区别与联系 141
5.3.3 性能测试的指标与术语 143
5.3.4 性能测试的需求与目的 145
5.3.5 性能测试的过程 147
5.3.6 负载测试 148
5.3.7 压力测试 150
5.3.8 容量测试 151
5.4 兼容性测试 152
5.4.1 硬件兼容性测试 152
5.4.2 软件兼容性测试 152
5.4.3 数据兼容性测试 154
5.5 其他测试 154
5.5.1 安装与卸载测试 154
5.5.2 安全性测试 155
5.5.3 容错性测试 157
5.6 Web测试 158
思考题 161
第6章 软件缺陷报告与测试评估 163
6.1 软件缺陷的主要属性 163
6.2 软件缺陷报告 167
6.2.1 软件缺陷报告中的信息 167
6.2.2 软件缺陷报告模板 168
6.2.3 软件缺陷报告的注意事项 169
6.2.4 分离和再现软件缺陷 171
6.3 软件缺陷的生命周期与处理流程 173
6.4 软件测试的评估 175
6.4.1 测试评估的目的和方法 175
6.4.2 覆盖率评估 175
6.4.3 质量评估 177
6.4.4 性能评估 185
6.5 测试总结报告 185
思考题 187
第7章 软件测试管理 189
7.1 软件质量管理 189
7.1.1 软件质量特性 189
7.1.2 软件质量标准与管理体系 192
7.2 软件评审 197
7.3 测试计划 199
7.3.1 对于测试计划的基本认识 199
7.3.2 测试计划的主要内容 201
7.4 测试文档管理 207
7.5 软件配置管理 210
7.5.1 软件配置管理的作用 210
7.5.2 软件配置管理的重点工作 211
7.5.3 软件配置管理的流程 213
7.5.4 软件配置管理的误区 214
7.6 测试结束的原则 214
思考题 216
第8章 软件测试自动化 217
8.1 自动化测试的作用与优势 217
8.1.1 自动化测试的作用 217
8.1.2 自动化测试的优势 218
8.2 自动化测试的原理 219
8.2.1 测试用例的录制与回放 219
8.2.2 代码分析 222
8.2.3 对象识别 224
8.2.4 自动化测试框架 230
8.3 测试工具的分类与选择 235
8.3.1 测试工具的分类 235
8.3.2 当前最好的自动化测试工具 238
8.3.3 如何选择测试工具 239
8.4 自动化测试的引入 240
8.4.1 引入过程中存在的问题 240
8.4.2 自动化测试的引入风险分析 242
8.4.3 适合引入自动化测试的软件项目 243
思考题 244
附录A 常用软件测试术语中英文对照 245
附录B 软件工程国家标准目录 251
附录C 软件测试计划模板 253
附录D 验收测试报告模板 267
参考文献 275
现阶段,软件测试基础人才不足,已成为制约我国软件产业发展的瓶颈。在国内,虽然软件测试仍然处于起步阶段,但是毫无疑问,就IT产业发展前景来看,软件测试是软件行业中的朝阳产业。信息产业目前已成为我国的支柱性产业,特别是伴随着“互联网 ”战略上升至国家战略,软件行业正在以前所未有的速度蓬勃发展,因此也极大地带动了软件测试行业的快速发展。软件测试对于软件质量保障的重要性越来越多地得到软件企业和软件研发团队的重视,专业的软件测试人才需求不断扩大,各种软件测试培训机构和网站数量不断增多,软件测试已成为IT产业中的一个重要行业分支。
但是与软件测试发展和人才需求不相适应的是,很多软件企业认为,大量软件测试岗位应聘者缺乏对于软件测试技术的系统培训,未能系统化地掌握软件测试正规流程,一些应聘者虽然有一些软件研发经验,但是不了解软件测试岗位需求。从软件测试人员的现状来看,也存在着很多问题。测试人员的专业知识不够扎实,只懂得一些表面上的测试技术,不能全面胜任软件测试工作,更无法胜任软件测试项目管理工作;测试人员没有建立相对完整的测试体系概念,对软件测试的基本定义和目的不清晰,不了解如何具体开展软件测试工作;忽视软件测试理论知识,认为理论知识没有用而不去深入理解软件测试的基本原理。软件测试人才知识能力结构不健全的根本原因是人才培养途径不健全,因此,急须加强高等院校软件测试技术相关课程的建设。
软件测试远比人们直观想象的复杂,测试工作具有很高的组织管理和技术难度,测试理论也比较庞杂,具有理论和实践高度联系的特点。软件测试工具相比于软件开发工具来讲,分类更为细致并且数量众多,一个软件项目的测试工作往往需要多种软件测试工具的配合使用才能达到全面和深入测试的效果。同时,高等院校软件测试技术课程的讲授或多或少地受到讲授形式和有限课时的限制,与培训机构动辄4~6个月的软件测试培训周期和以实验练习为主的培训方式有很大的不同。
上述实际情况使得高等院校软件测试技术课程的讲授具有一定的挑战性,需要精心编排和组织授课内容,设定合理的授课目标,力争在有限的学时内,使学生掌握软件测试的基本原理、方法和技术,熟悉软件测试的正规流程以及相关标准和规范,了解软件测试项目的管理方法,并且能够学习掌握自动化测试的原理和基本的软件测试工具,为今后更为深入地学习软件测试知识技能和胜任高级软件测试工作打下坚实基础。为此,《软件测试技术》在内容上进行了精心组织,摒弃了一些复杂深奥和实用性不强的理论内容,加强了对软件测试基本技术的讲解,力求通过丰富的典型实例和通俗易懂的语言,使读者快速理解重点内容、切实掌握相关难点。同时,重视理论与实践相结合,根据当前软件测试行业技术应用现状和未来发展趋势,使读者既能够系统地掌握软件测试的基本理论和方法,又能够明晰这些理论和方法是如何在实际应用中发挥作用的。《软件测试技术》主要包括以下内容:
(1) 测试基础知识。在第1章中通过分析软件测试工程师的职业发展前景和当前我国软件测试行业现状,使读者首先了解学习本课程的意义,增强学习兴趣;介绍软件测试的发展历程、基本概念、原则和术语;详细说明软件测试的目的、分类、流程和基本的软件测试过程;细致讲解常见的软件测试模型;阐述什么是测试用例、如何正规书写测试用例、如何保障测试用例的设计质量。
(2) 测试基本技术。在第2章和第3章中结合经典实例,重点讲解常用的白盒测试技术和黑盒测试技术以及相应的测试用例设计方法,对难以掌握和应用中易错的知识点进行实例化说明。总结和分析白盒测试和黑盒测试的优缺点,在此基础上给出白盒测试和黑盒测试技术的应用策略。
(3) 测试过程。在第4章中,从单元测试、集成测试、系统测试和验收测试4个阶段详细介绍软件测试执行过程,说明各测试阶段依据的主要技术文档、参与人员、典型测试数据和采用的主要技术,对回归测试的方法和注意事项进行介绍。
(4) 功能与非功能测试。在第5章中,对各种典型的功能和非功能测试技术进行说明,重点讲解性能测试的分类以及常用的性能测试指标。
(5) 缺陷报告与测试评估。在第6章中,详细说明报告软件缺陷的方法,重点说明如何完成定量化测试评估,介绍测试总结报告的编写方法。
(6) 测试管理。在第7章中,介绍测试管理中一些最为重要的管理内容和相关知识,主要包括软件质量管理标准和管理体系、如何制定测试计划、测试项目中的测试文档以及测试配置管理等内容。
(7) 软件测试自动化。在第8章中,介绍自动化测试的原理,说明测试工具的分类和选择方法,给出一些常用测试工具的说明。
《软件测试技术》在编写过程中参考了很多专著、教材、论文和大量的网上资料,由于篇幅所限,一些细节之处未能一一列出。在此,向所有作者表示衷心的感谢和诚挚的敬意。由于作者专业水平有限,书中难免有缺点和欠妥之处,恳请读者批评指正,以便于今后不断修正和改进。我们的电话是010-62796045,信箱是[email protected]。
《软件测试技术》对应的课件可以到http://www.tupwk.com.cn/downpage网站下载,也可通过扫描下方的二维码下载。
作 者
2018年12月
评论
还没有评论。