软件测试教程 第3版
作者 : 主编 宫云战 参编 赵瑞莲,张威,王雅文,张俞炜
出版日期 : 2021-11-10
ISBN : 978-7-111-69478-6
适用人群 : 各大院校相关专业本科生、研究生
定价 : 79.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 313
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书根据前两版进行了升级,不仅系统地介绍了软件测试的基本原理和一般方法,而且阐述近几年出现的一些新的软件测试方法以及人工智能在软件测试中的应用,基本上涵盖了当今软件测试技术的全部内容,软件测试工具是结合软件测试技术来撰写的,并融合在每一章节中。其中,升级部分主要介绍了人工智能技术在软件测试中的应用,包括故障定位、测试用例的自动生成、模糊测试、程序理解、软件缺陷预测、软件缺陷的自动确认和缺陷的自动修复。
本书特色:
取材丰富。涵盖了软件测试领域国内外主流教材的内容。
形象生动。在写作方法上循序渐进,深入浅出,在概念的引入上尽力采用通俗化的语言和形象化的表达方式。
实用性强。精选了大量案例来讲解方法论。
适应面广。既适合作为本科生的教材,也适合作为研究生的教材。
本书为教师配有电子课件,有需要的教师可联系 “教学支持联系人”获取:www.cmpreading.com。

图书特色

图书前言

4年前,我和赵瑞莲教授分别写过一本名为《软件测试》的书。同4年前相比,软件测试技术与软件产业得到了快速发展,主要表现在:社会对其认识更加深刻,需求增大;我国的软件评测企业大幅度增加,目前已有近2000家,各个行业、各个省、发达地区的各个市都建立了软件评测中心;软件测试从业人员已达数十万人,我国软件测试产业产值已经达到上百亿元;国际上的IT巨头,如IBM、微软等,都在从事与软件测试相关的工作,众多的IT企业都在中国建立了以软件测试外包为主导的软件企业;以软件测试工具和软件测试服务为核心的软件测试产业每年都在以超过20%的速度递增;软件测试学术活动异常活跃,新的测试方法和测试工具不断出现。相比之下,原来书中有些内容虽然理论性强,但实用价值不大,而有些内容则处于被淘汰阶段。所有这些因素都促使我们认为有必要重新撰写一本有关软件测试的书。
本书叙述软件测试的一般原理和各种基本方法,包括基本的白盒测试、黑盒测试和集成测试方法,并结合近几年软件测试技术的发展,重点介绍了目前国际上一些比较流行的软件测试方法与软件测试工具,包括:
1)面向缺陷模式的软件测试技术:该技术以其缺陷检测效率高、准确、自动化程度高、易学等特点,在过去的几年中得到迅速发展,目前大约有80多个与该技术相关的工具。在美国,以该工具为基础的软件测试服务取得了很大的成功,成为美国一种主流软件测试技术。目前,随着缺陷模式的不断增加,该技术将有更广阔的应用前景。本书叙述了该技术的一般方法以及作者应用该技术开发的一款软件测试系统—缺陷测试系统(DTS)。
2)软件评审:软件评审比较经济且发现缺陷的效率高,是目前常用的提高软件质量的方法,已在许多大型软件开发中得到了印证。本书详细叙述了软件评审的内容及如何组织软件评审。
3)随着软件开发规模的扩大及复杂程度的增加,软件缺陷将更难发现。为了尽可能多地找出程序中的故障,开发出高质量的软件产品,必须对测试工作进行组织策划和有效管理,并采取系统的方法建立起软件测试管理体系,以确保软件测试在软件质量保证中发挥应有的关键作用。
4)软件测试工具是提高软件测试效率与质量的重要手段,在过去的几年中,在软件开发过程的各个阶段,产生了大量的软件测试工具,一些新技术的使用,也使得软件测试工具的自动化程度得到了大幅度的提高。本书介绍了目前多种主流的软件测试工具。
5)近几年来,随着IT的发展,与软件系统交互的相关技术也越来越多,包括网络、协议、安全性、界面等,所有这些方面都需要测试,而这些测试和基本的软件测试是不同的。本书全面论述了软件系统以及与此相关的系统测试。
赵瑞莲教授编写了本书的第1、2、8章,赵会群教授编写了第6章,张威教授、万琳副教授编写了第3、5、7章,杨朝红博士编写了第4章,全书由宫云战教授统稿、审查。
限于作者的水平,书中对某些问题的论述可能是肤浅的,也可能存在错误,恳请读者批评指正。

宫云战
2008年5月4日于北京

上架指导

计算机\软件工程

封底文字

本书根据前两版进行了升级,不仅系统地介绍了软件测试的基本原理和一般方法,而且阐述了近几年出现的一些新的软件测试方法以及人工智能在软件测试中的应用,基本涵盖了当今软件测试技术的全部内容,并结合软件测试技术来介绍软件测试工具。其中,升级部分主要介绍了人工智能技术在软件测试中的应用,包括故障定位、测试用例的自动生成、模糊测试、程序理解、软件缺陷预测、软件缺陷的自动确认和缺陷的自动修复。
本书特色:
取材丰富。涵盖了软件测试领域国内外主流教材的内容。
形象生动。在写作方法上循序渐进,深入浅出,在概念的引入上采用通俗的语言和形象的表达方式。
实用性强。精选了大量案例来讲解方法论。
适应面广。既适合作为本科生的教材,也适合作为研究生的教材。
本书为教师配有电子课件,有需要的教师可登录华章网站下载,网址为:www.hzbook.com。

图书目录

教学建议
第3版说明
第2版说明
第1版序
第1版前言
第1章 软件测试概述1
1.1 计算机系统的软件可靠性问题1
1.2 软件测试的概念3
1.2.1 软件测试的定义3
1.2.2 测试用例4
1.2.3 软件测试文档5
1.2.4 软件测试的基本原则5
1.2.5 软件测试从业人员要求6
1.3 软件测试过程7
1.4 软件测试与软件开发的关系10
1.4.1 软件开发过程11
1.4.2 软件测试在软件开发中的作用12
1.4.3 软件测试过程模型13
1.4.4 软件测试环境的搭建15
1.5 软件测试的发展历程和现状15
1.6 我国软件测试产业现状19
1.7 软件测试工具19
习题23
第2章 软件缺陷24
2.1 软件缺陷概述24
2.1.1 软件缺陷的定义24
2.1.2 软件缺陷分析25
2.1.3 软件缺陷的种类25
2.1.4 软件缺陷的产生26
2.1.5 软件缺陷数目估计27
2.1.6 软件测试效率分析30
2.2 软件缺陷管理32
2.2.1 缺陷管理的目标32
2.2.2 缺陷报告33
2.2.3 软件缺陷管理流程34
2.2.4 缺陷管理工具36
习题38
第3章 黑盒测试39
3.1 黑盒测试的基本概念39
3.2 等价类划分法40
3.2.1 等价类划分法的原理40
3.2.2 等价类划分法的测试运用42
3.3 边界值分析法46
3.3.1 边界值分析法的原理46
3.3.2 边界值分析法的测试运用47
3.4 因果图法49
3.4.1 因果图法的原理50
3.4.2 因果图法的测试运用 51
3.5 决策表法53
3.5.1 决策表法的原理53
3.5.2 决策表法的测试运用54
3.6 黑盒测试方法的比较与选择57
3.7 黑盒测试工具介绍58
3.7.1 黑盒测试工具概要 58
3.7.2 黑盒功能测试工具—QTP59
3.7.3 黑盒功能测试工具—Selenium62
3.7.4 其他常用功能测试工具65
习题67
第4章 白盒测试68
4.1 控制流测试68
4.1.1 基本概念68
4.1.2 控制流覆盖准则70
4.2 数据流测试76
4.2.1 基本概念76
4.2.2 数据流覆盖准则77
4.3 代码审查78
4.3.1 代码审查的意义78
4.3.2 代码审查的内容79
4.3.3 代码审查的过程81
4.4 代码走查82
4.4.1 代码走查的意义82
4.4.2 代码走查小组的组成82
4.4.3 代码走查的过程83
4.5 程序变异测试83
4.5.1 程序强变异测试83
4.5.2 程序弱变异测试85
4.6 白盒测试工具86
4.6.1 Emma86
4.6.2 C++test92
4.6.3 JUnit96
4.6.4 Testbed97
4.7 单元测试工具CTS99
习题104
第5章 基于缺陷模式的软件测试106
5.1 基于缺陷模式的软件测试概述106
5.2 基于缺陷模式的软件测试指标分析107
5.3 缺陷模式108
5.3.1 缺陷模式概述108
5.3.2 故障模式108
5.3.3 安全漏洞模式127
5.3.4 疑问代码模式144
5.3.5 规则模式150
5.4 软件缺陷检测系统150
5.4.1 DTS系统结构150
5.4.2 DTS缺陷模式描述151
5.4.3 DTS的测试界面153
5.4.4 DTS测试应用报告153
习题154
第6章 集成测试155
6.1 集成测试概述155
6.1.1 集成测试的概念155
6.1.2 集成测试与系统测试的区别156
6.1.3 集成测试与开发的关系157
6.1.4 集成测试的层次与原则157
6.2 集成测试策略158
6.2.1 非渐增式集成158
6.2.2 渐增式集成159
6.2.3 三明治集成162
6.3 集成测试用例设计162
6.4 集成测试过程164
6.5 面向对象的集成测试166
6.5.1 对象交互166
6.5.2 面向对象集成测试的常用方法167
6.5.3 分布式对象测试168
习题169
第7章 系统测试170
7.1 性能测试170
7.1.1 性能测试方法170
7.1.2 性能测试执行171
7.1.3 性能测试案例分析172
7.2 压力测试175
7.2.1 压力测试方法176
7.2.2 压力测试执行177
7.3 容量测试177
7.3.1 容量测试方法178
7.3.2 容量测试执行179
7.3.3 容量测试案例分析179
7.4 健壮性测试181
7.4.1 健壮性测试评价181
7.4.2 健壮性测试案例分析182
7.5 安全性测试182
7.5.1 安全性测试方法183
7.5.2 安全性测试案例分析188
7.6 可靠性测试190
7.6.1 可靠性测试的基本概念191
7.6.2 软件的运行剖面194
7.6.3 可靠性测试案例分析198
7.7 恢复性测试与备份测试200
7.8 协议一致性测试201
7.8.1 协议一致性测试的基本概念201
7.8.2 协议一致性测试方法202
7.9 兼容性测试206
7.10 安装测试206
7.11 可用性测试207
7.11.1 可用性测试的概念207
7.11.2 可用性测试方法208
7.12 配置测试209
7.12.1 配置测试的概念209
7.12.2 配置测试方法209
7.13 文档测试210
7.13.1 文档测试的概念210
7.13.2 文档测试方法211
7.14 GUI测试213
7.14.1 GUI测试的概念及方法213
7.14.2 GUI测试案例分析215
7.15 回归测试216
7.15.1 回归测试的概念216
7.15.2 回归测试方法216
7.16 系统测试工具及其应用217
7.16.1 LoadRunner217
7.16.2 TTworkbench220
7.16.3 QACenter220
7.16.4 DataFactory221
7.16.5 JMeter221
习题225
第8章 主流信息应用系统测试227
8.1 Web应用系统测试227
8.1.1 Web系统基本组成227
8.1.2 Web应用系统测试综述228
8.1.3 Web应用系统测试的实施229
8.2 数据库测试232
8.2.1 数据库测试概述232
8.2.2 数据库功能性测试233
8.2.3 数据库性能测试与原因分析234
8.2.4 数据库可靠性及安全性测试236
8.3 嵌入式系统测试237
8.3.1 嵌入式软件测试策略及测试流程237
8.3.2 嵌入式软件测试代表工具238
8.4 游戏测试239
8.4.1 游戏开发与测试过程240
8.4.2 游戏测试主要内容241
8.4.3 游戏测试的实施242
8.5 移动应用软件测试243
8.5.1 移动应用测试的困难244
8.5.2 测试类型245
8.5.3 移动应用测试工具246
8.6 云应用软件测试246
8.6.1 云测试基本概念246
8.6.2 云测试方法和技术247
8.6.3 云测试现状及挑战248
习题249
第9章 软件评审250
9.1 软件评审概述250
9.2 需求评审251
9.3 概要设计评审254
9.4 详细设计评审255
9.5 数据库设计评审256
9.6 测试评审256
习题259
第10章 测试管理260
10.1 建立测试管理体系260
10.2 测试管理的基本内容261
10.2.1 测试组织管理261
10.2.2 测试过程管理262
10.2.3 资源和配置管理264
10.2.4 测试文档管理264
10.3 测试管理的原则266
10.4 测试管理实践268
10.5 常用的测试管理工具269
10.5.1 TestDirector测试管理工具269
10.5.2 JIRA介绍 271
10.5.3 国外其他测试管理工具273
10.5.4 国产测试管理工具KTFlow275
习题277
第11章 人工智能在软件测试中的应用278
11.1 软件故障定位278
11.1.1 软件故障定位概述278
11.1.2 机器学习用于软件故障定位概述279
11.1.3 机器学习在软件故障定位领域的研究进展280
11.2 测试用例生成280
11.2.1 软件测试用例生成概述280
11.2.2 机器学习用于测试用例生成概述281
11.3 模糊测试282
11.3.1 模糊测试概述282
11.3.2 模糊器类型概述283
11.3.3 机器学习用于模糊测试概述283
11.3.4 机器学习在模糊测试领域的研究进展284
11.4 程序理解284
11.4.1 基于深度学习的程序理解框架284
11.4.2 程序理解的深度学习模型概述286
11.5 软件缺陷预测287
11.5.1 软件缺陷预测模型框架288
11.5.2 软件缺陷预测模型概述288
11.6 缺陷自动确认290
11.6.1 缺陷自动确认模型框架290
11.6.2 缺陷自动确认模型概述291
11.7 缺陷自动修复292
11.7.1 缺陷自动修复框架292
11.7.2 缺陷自动修复技术的进展293
习题294
附录A 测试用例样式295
附录B 测试报告样式297
参考文献298
参考网站300

教学资源推荐
参考读物推荐
作者: (以)Daniel Galin
作者: 李龙 黎连业 编著