第1章 软件测试的意义 1
1.1软件缺陷带来影响的例子 2
游戏软件bug 2
火星登陆事故 2
英特尔奔腾芯片缺陷 3
千年虫问题 3
Windows 2000中文版输入法漏洞 4
金山词霸bug 4
1.2软件缺陷 5
1.3软件缺陷产生的原因 6
1.4修复软件缺陷的代价 7
1.5软件测试员的工作目标 7
1.6软件测试员的必备素质 8
1.7软件测试职业 9
1.8小结 11
第2章 软件开发过程简介 13
2.1软件产品的组成 14
各种各样的开发投入 14
客户需求 14
产品说明 15
软件设计文档 15
软件测试文档 16
开发进度表 16
软件产品的组成部分 16
2.2软件开发项目组成员 17
2.3软件开发模式 18
大棒模式 18
边写边改模式 18
瀑布模式 19
快速原型模式 21
螺旋模式 21
2.4小结 22
第3章 软件测试的原则 23
3.1软件测试的基本原则 24
不可能对程序进行完全测试 24
无法显示潜伏的软件缺陷 25
软件测试的风险 25
软件缺陷越找越多 26
难以描述的软件缺陷 26
产品说明书不断变化 27
杀虫剂现象 27
软件缺陷不都能得到修复 27
软件测试员的作用 28
软件测试的条理性 28
3.2有关软件测试的专用术语 29
精确与准确 29
验证检查与合法性检查 29
质量与可靠性 30
质量评判(QA)与测试 30
3.3小结 31
第4章 软件测试的相关理论 33
4.1软件测试的基本概念 34
有关软件测试的基础知识 34
静态测试方法和动态测试方法 36
黑盒测试方法和白盒测试方法 37
软件测试过程 39
4.2单元测试 40
单元测试的主要任务 40
单元测试的执行过程 42
4.3集成测试 42
非增式测试方法 42
增式测试方法 43
不同集成测试方法的比较 45
4.4确认测试 45
确认测试的准则 45
配置审查的内容 46
4.5系统测试 46
恢复测试方法 46
安全测试方法 46
强度测试方法 46
性能测试方法 47
4.6验收测试 47
验收测试的内容 47
软件配置和文档资料 48
4.7调试过程 48
4.8面向对象的软件测试 48
面向对象的单元测试 49
面向对象的集成测试 49
面向对象的确认测试 49
4.9小结 49
第5章 软件测试用例设计 51
5.1黑盒测试方法 52
边界值分析法 52
等价类划分方法 53
因果图方法 54
比较测试法 54
测试方法的选择 54
5.2白盒测试方法 55
基本概念 55
逻辑覆盖测试方法 58
路径测试方法 64
5.3特定环境及应用的测试 67
客户/服务器体系结构的测试 67
GUI的测试 67
实时系统的测试 68
5.4小结 69
第6章 软件自动化测试 71
6.1软件自动化测试基础 72
自动化测试的产生 72
自动化测试的定义 72
自动化测试的引入 72
自动化工具的作用及优势 73
测试自动化的几个例子 73
6.2软件自动化测试生存周期方法学 75
决定采用自动化测试 77
测试工具的采购 78
自动化测试的引入阶段 78
测试计划、设计和开发 78
测试执行与管理 79
测试活动评审与评估 79
6.3自动化测试生存周期方法学的应用 79
6.4自动化测试决定 81
建立正确的自动化测试目标 82
应用自动化测试的优点 85
6.5小结 91
第7章 WEB服务器负载测试软件简介 93
7.1 Web ApplicationStress Tool概述 94
7.2 Web Application Stress Tool的安装 94
系统要求 94
如何获取 94
如何安装 95
7.3 Web Application Stress Tool的设置及基本操作 95
主界面窗口 95
制作脚本 96
7.4小结 102
第8章 单元测试工具软件简介 105
8.1 Dunit概述 106
8.2 Dunit的配置 106
系统要求 106
如何获取 106
文件内容 106
配置方法 107
8.3 Dunit的使用介绍 108
创建一个被测试的Project 108
建立一个测试方案 108
查看测试结果 111
测试组(TestSuite)的使用 112
在控制台模式下使用测试个案 113
8.4 Dunit附加功能的使用 114
重复运行测试案例 114
使用TTestSetup类 115
测试Exception的说明 116
8.5 Dunit小结 116
第9章 RATIONAL ROBOT软件的使用 117
9.1 Rational Robot概述 118
概述 118
基本概念 119
9.2Rational Robot的安装 119
系统要求 121
如何获取 121
9.3 Rational Robot产生用于功能测试的GUI脚本 121
设置以及预定义 121
记录GUI脚本 126
在GUI Script中加入特写 132
使用查证点 137
使用Datapool 137
编辑GUI脚本 140
编译GUI脚本 142
调试GUI脚本 143
回放GUI脚本 144
工具条操作 145
9.4 Rational Robot产生用于性能测试的VU 146
设置以及预定义 146
记录VU脚本 147
回放VU脚本 149
重录VU脚本 149
复制VU脚本 150
删除VU脚本 150
编译VU脚本 150
查询会话中的脚本列表 150
用会话生成脚本 151
将VU脚本融入会话 151
手工VU脚本编码 151
9.5删除VB脚本 155
9.6定制SQABASIc脚本 156
定制SQAB asic脚本 156
库文件(Library Source Files) 156
创建、编辑.sbl库文件 156
创建、编辑.rec库文件 157
在Global.sbl中加入子程序 158
使用库文件 158
SQABasic头文件 158
创建、编辑仓库(Repository)范围的头文件 158
创建、编辑项目头文件 159
使用头文件 159
使用模板文件 159
9.7测试应用程序举例 160
测试Delphi应用程序 160
测试Visual Basic应用程序 161
9.8小结 162
第10章 DataFactory软件的使用 165
10.1 DataFactory概述 166
10.2 DataFactory的安装 166
系统要求 166
如何获取 166
如何安装 167
10.3 DataFactory的基本操作 167
主界面窗口 167
新建项目 167
数据库的链接 167
数据的产生方式 170
10.4小结 176
第11章 其他测试工具简介 177
11.1 QACenter 178
11.2 WinRunner 179
11.3 LoadRunner 181
11.4 PureLoad 181
11.5 Open System Testing Architecture(OpenSTA) 182
第12章 规划测试工作 183
12.1建立测试计划的目标 184
12.2测试计划的主要内容 184
测试计划的高级期望 185
产品基本情况调研 185
测试策略 186
资源需求 186
问题跟踪报告 187
测试计划中的人员、地点和事件 187
术语和定义的统一 187
明确团队责任 188
确定测试内容 189
测试阶段 190
测试员的任务分配 190
测试进度控制 191
频度和统计手段 192
风险和问题 192
12.3小结 192
第13章 测试案例的编写和跟踪 195
13.1计划测试案例的原因 196
13.2测试案例计划一览 196
有关测试设计说明 197
有关测试案例说明 198
有关测试过程说明 200
测试计划的细节 201
13.3组织和跟踪测试案例 201
13.4小结 202
第14章 报告软件缺陷 203
14.1如何面对软件缺陷 204
14.2软件缺陷的分离和再现 207
14.3软件缺陷的严重性和优先级 208
14.4软件缺陷的生命周期 209
14.5软件缺陷跟踪系统 211
测试事件报告 211
手工软件缺陷报告和跟踪 211
14.6小结 213
第15章 评价成效 215
15.1软件缺陷跟踪数据库 216
15.2测试使用频度 217
15.3常用项目级频度 220
154小结 223
第16章 软件质量标准简介 225
16.1能力成熟度模型简介 226
CMM基本的过程概念 226
CMM的5级体系结构 227
16.2ISO 9000标准简介 228
ISO 9000标准的构成 229
ISO 9000标准的要求 229
ISO 9000质量管理的8项原则 230
16.3小结 231
第17章 软件质量管理 233
17.1质量与质量管理的概念 234
什么是质量 234
质量管理的基本概念 234
17.2软件质量管理的内容 238
软件质量策划的内容 238
软件质量控制与质量保证 240
对软件质量进行的度量和验证 241
软件质量改进的活动内容 242
17.3小结 243
第18章 实践软件质量管理 245
18.1 ISO 900和CMM对软件组织的适应性 246
对ISO 9000的误解 246
ISO 9000和CMM的联系 247
18.2建立质量管理体系的方法 247
对顾客需求和期望进行确定 248
质量方针和质量目标的建立 248
实现目标的过程和职责 249
质量管理体系文件的形成 250
18.3采用ISO 9000和CMM的软件质量管理 251
软件项目策划 251
软件项目跟踪与监督 253
软件需求的管理 256
软件配置管理 260
软件质量保证 264
软件子合同管理 267
同行评审 270
缺陷预防 274
内部质量审核 276
纠正措施 278
18.4小结 279
第19章 软件质量的评判 281
19.1质量是免费的 282
19.2软件测试和质量评判 282
软件测试员 283
软件质量评判人员 283
软件测试团队的其他名称 284
软件测试团队的管理和组织结构 284
19.3小结 286
参考文献 287