软件测试教程
作者 : 宫云战
出版日期 : 2008-09-18
ISBN : 7-111-24897-2
定价 : 29.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 242
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书全面介绍了软件测试的基本原理和一般方法,同时阐述了近几年出现的一些新的软件测试方法,基本上涵盖了当今软件测试技术的全部内容。本书通过结合实例来介绍目前比较流行的软件测试工程。

  本书特点
  ●取材丰富。涵盖了该领域国内外现有软件测试教材的主要内容。
  ●在写作方法上,循序渐进、深入浅出。在概念的引入上,尽量采用通俗的语言和形象化的方法来表达。
  ●理论与实际相结合。许多章节介绍了现代软件开发与应用的测试软件和测试实例。
  ●适应面广。既适合作为本科生的教材,也适合作为研究生的教材。
  ●本书为教师配有电子课件,有需的教师可登录机工新阅读网站www.cmpreading.com下载。

图书特色

图书前言

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

封底文字

本书全面介绍了软件测试的基本原理和一般方法,同时阐述了近几年出现的一些新的软件测试方法,基本上涵盖了当今软件测试技术的全部内容。本书通过结合实例来介绍目前比较流行的软件测试工程。

  本书特点
  ●取材丰富。涵盖了该领域国内外现有软件测试教材的主要内容。
  ●在写作方法上,循序渐进、深入浅出。在概念的引入上,尽量采用通俗的语言和形象化的方法来表达。
  ●理论与实际相结合。许多章节介绍了现代软件开发与应用的测试软件和测试实例。
  ●适应面广。既适合作为本科生的教材,也适合作为研究生的教材。
  ●本书为教师配有电子课件,有需的教师可登录机工新阅读网站(www.cmpreading.com)下载。

图书序言

在过去的几十年中,软件技术得到了快速发展,软件系统的应用已经遍布社会的各个领域,成为人类改造自然不可或缺的重要组成部分。
  一方面,软件的应用给社会带来了巨大的进步,大大提升了人们改造自然的能力。另一方面,由于软件的故障、漏洞等因素导致的软件不可信的程度也变得更加突出,这在很大程度上制约了软件技术的发展和软件系统的使用。软件的不可信问题正由一个纯粹的技术问题向社会问题转变,已到了非解决不可的地步。在诸如航空、航天、电信、医疗、金融等众多安全第一的领域,软件错误造成的危害是触目惊心的。
  软件是一个逻辑体,软件中的错误都是由人类自己造成的。由于软件规模、复杂性等因素,使得难以证明软件是正确的。软件中的错误是不可避免的,人们只能根据需要尽可能地减少软件中的错误。
  软件测试是发现软件缺陷,提高软件可信性的重要手段。在过去的三十年中,随着社会对软件测试需求的增加,软件测试理论和技术得到了较快的发展。特别是近十年来,国际上一些著名的学术机构,以及微软、IBM等众多国际IT巨头的参与,使得软件测试理论正在走向成熟,软件测试对错误与缺陷的发现能力、软件测试工具的自动化程度都得到了大幅度的提升。以软件测试工具、软件测试服务为主导的软件测试产业正在兴起,目前在全国已经形成近2 000家的软件评测企业、数十万人的软件测试队伍。
  本书作者长期以来一直从事软件测试技术的研究和教学,对软件测试技术有比较深刻的理解,对软件测试的教学有比较好的把握。希望这本书为大家学习、理解软件测试技术提供有益的参考。

  中国科学院
  中国工程院  院士
  北京邮电大学 教授
  2008年7月

作者简介

宫云战:暂无

图书目录


前言
教学建议
第1章  软件测试概述 1
1.1 计算机系统的软件可靠性问题 1
1.2 软件测试的目的和意义 3
1.3 软件测试过程 4
1.3.1 单元测试 4
1.3.2 集成测试 5
1.3.3 确认测试 6
1.3.4 系统测试 6
1.3.5 验收测试 7
1.4 软件测试与软件开发的关系 7
1.4.1 软件开发过程 8
1.4.2 软件测试在软件开发中的作用 9
1.4.3 软件测试过程模型 9
1.4.4 软件测试环境的搭建 11
1.5 软件测试的发展历程和现状 12
1.6 我国软件测试产业的现状 13
1.7 软件测试工具 14
1.7.1 白盒测试工具 14
1.7.2 黑盒测试工具 15
1.7.3 测试设计和开发工具 15
1.7.4 测试执行和评估工具 16
1.7.5 测试管理工具 16
1.7.6 目前市场上主流的测试工具 16
1.8 习题 18
第2章 黑盒测试 19
2.1 黑盒测试的基本概念 19
2.2 等价类划分 20
2.2.1 等价类划分方法 20
2.2.2 等价类划分法的测试运用 22
2.3 边界值分析法 25
2.3.1 边界值分析法的原理 25
2.3.2 边界值分析法的测试运用 27
2.4 因果图法 28
2.4.1 因果图法的原理 28
2.4.2 因果图法的测试运用 30
2.5 决策表法 31
2.5.1 决策表法的原理 32
2.5.2 决策表法的测试运用 33
2.6 黑盒测试方法的比较与选择 36
2.6.1 测试工作量 36
2.6.2 测试有效性 36
2.7 黑盒测试工具介绍 37
2.7.1 黑盒测试工具概述 37
2.7.2 黑盒功能测试工具—WinRunner 38
2.7.3 黑盒功能测试工具—QTP 43
2.7.4 其他常用功能测试工具 46
2.8 习题 48
第3章 白盒测试 50
3.1 控制流测试 50
3.1.1 基本概念 50
3.1.2 控制流覆盖准则 52
3.2 数据流测试 57
3.2.1 基本概念 57
3.2.2 数据流覆盖准则 58
3.3 程序插装 59
3.4 程序变异测试 62
3.4.1 程序强变异测试 62
3.4.2 程序弱变异测试 64
3.5 白盒测试工具 65
3.5.1 静态测试工具 65
3.5.2 静态测试工具应用实例 65
3.5.3 动态测试工具 77
3.5.4 动态测试工具应用实例 77
3.6 软件缺陷分析 79
3.6.1 软件缺陷的种类 80
3.6.2 软件缺陷的产生 81
3.6.3 软件缺陷数目估计 82
3.6.4 软件测试效率分析 85
3.6.5 软件缺陷的分布 87
3.7 习题 88
第4章 基于缺陷模式的软件测试 89
4.1 基于缺陷模式的软件测试概述 89
4.2 基于缺陷模式的软件测试指标分析 89
4.3 缺陷模式 90
4.3.1 缺陷模式概述 90
4.3.2 故障模式 91
4.3.3 安全漏洞模式 109
4.3.4 缺陷模式 125
4.3.5 规则模式 130
4.4 基于缺陷模式的软件测试系统 130
4.4.1 DTS系统结构 131
4.4.2 DTS缺陷模式描述 132
4.4.3 DTS的测试界面 133
4.4.4 DTS测试应用报告 134
4.5 习题 134
第5章 集成测试 136
5.1 集成测试概述 136
5.1.1 集成测试的概念 136
5.1.2 集成测试与系统测试的区别 137
5.1.3 集成测试与开发的关系 137
5.1.4 集成测试的层次与原则 138
5.2 集成测试策略 138
5.2.1 非渐增式集成 139
5.2.2 渐增式集成 140
5.2.3 三明治集成 142
5.3 集成测试用例设计 143
5.3.1 为系统运行设计用例 143
5.3.2 为正向集成测试设计用例 143
5.3.3 为逆向集成测试设计用例 144
5.3.4 为满足特殊需求设计用例 144
5.3.5 为覆盖设计用例 144
5.3.6 测试用例补充 144
5.3.7 注意事项 145
5.4 集成测试过程 145
5.4.1 计划阶段 145
5.4.2 设计阶段 145
5.4.3 实施阶段 146
5.4.4 执行阶段 146
5.4.5 评估阶段 146
5.5 面向对象的集成测试 146
5.5.1 对象交互 147
5.5.2 面向对象集成测试的常用方法 147
5.5.3 分布式对象测试 148
5.6 习题 149
第6章 系统测试 151
6.1 性能测试 151
6.1.1 性能测试的基本概念 151
6.1.2 性能测试方法 151
6.1.3 性能测试执行 152
6.1.4 性能测试案例分析 153
6.2 压力测试(负载测试、并发测试) 155
6.2.1 压力测试的基本概念 155
6.2.2 压力测试方法 156
6.2.3 压力测试执行 157
6.3 容量测试 158
6.3.1 容量测试的基本概念 158
6.3.2 容量测试方法 158
6.3.3 容量测试执行 159
6.3.4 容量测试案例分析 160
6.4 健壮性测试 161
6.4.1 健壮性测试的基本概念 161
6.4.2 健壮性测试方法 162
6.4.3 健壮性测试案例分析 163
6.5 安全性测试 163
6.5.1 安全性测试的基本概念 163
6.5.2 安全性测试方法 163
6.5.3 安全性测试案例分析 168
6.6 可靠性测试 170
6.6.1 可靠性测试的基本概念 170
6.6.2 软件的运行剖面 174
6.6.3 软件可靠性模型 179
6.6.4 可靠性测试案例分析 188
6.7 恢复性测试与备份测试 189
6.8 协议一致性测试 190
6.8.1 协议一致性测试的基本概念 190
6.8.2 协议一致性测试方法 191
6.8.3 协议一致性测试案例分析 194
6.9 兼容性测试 196
6.10 安装性测试 196
6.11 可用性测试 197
6.11.1 可用性测试的概念 197
6.11.2 可用性测试方法 198
6.12 配置性测试 199
6.12.1 配置性测试的概念 199
6.12.2 配置性测试方法 199
6.13 文档性测试 200
6.13.1 文档性测试的概念 200
6.13.2 文档性测试方法 201
6.14 GUI测试 203
6.14.1 GUI测试的概念及方法 203
6.14.2 GUI测试案例分析 205
6.15 验收测试 205
6.15.1 验收测试内容与策略 206
6.15.2 验收测试方法 206
6.16 回归测试 206
6.16.1 回归测试的概念 207
6.16.2 回归测试方法 207
6.17 系统测试工具及其应用 208
6.18 习题 212
第7章 软件评审 214
7.1 软件评审概述 214
7.1.1 评审目的 214
7.1.2 评审阶段的划分 214
7.1.3 评审的组织与管理 214
7.2 需求评审 215
7.2.1 需求评审概述 215
7.2.2 如何做好需求评审 216
7.2.3 “软件需求规格说明”评审细则 217
7.3 概要设计评审 218
7.3.1 概要设计评审概述 218
7.3.2 “概要设计说明”评审细则 218
7.4 详细设计评审 219
7.4.1 详细设计评审概述 219
7.4.2 “详细设计说明”评审细则 219
7.5 数据库设计评审 220
7.5.1 数据库设计评审概述 220
7.5.2 “数据库设计说明”评审细则 220
7.6 测试评审 220
7.6.1 “软件测试需求规格说明”
评审细则 220
7.6.2 “软件测试计划”评审细则 221
7.6.3 “软件测试说明”评审细则 222
7.6.4 “软件测试报告”评审细则 222
7.6.5 “软件测试记录”评审细则 222
7.7 习题 222
第8章 测试管理 224
8.1 建立测试管理体系 224
8.2 测试管理的基本内容 225
8.2.1 测试组织管理 225
8.2.2 测试过程管理 226
8.2.3 资源和配置管理 227
8.2.4 测试文档管理 228
8.3 测试管理原则 230
8.4 测试管理实践 232
8.5 常用的测试管理工具 233
8.5.1 TestDirector测试管理工具 233
8.5.2 国外其他测试管理工具 235
8.5.3 国产测试管理工具TestCenter 236
8.6 习题 237
参考文献 238
参考网站 241

教学资源推荐
作者: 厦门大学 杜朝运