第1章 软件测试的基本概念 1
1.1 软件测试的概念 1
1.2 软件测试的分类 2
1.2.1 按测试方式分类 2
1.2.2 按测试方法分类 2
1.2.3 按测试阶段分类 3
1.2.4 按测试类型分类 3
1.3 软件测试模型 4
1.3.1 V模型 5
1.3.2 W模型 5
1.3.3 H模型 6
1.4 软件测试流程 7
1.5 软件开发各个阶段的测试任务 7
1.5.1 需求分析阶段 8
1.5.2 设计阶段 8
1.5.3 实现阶段 8
1.5.4 测试阶段 8
1.5.5 运行维护阶段 8
本章小结 9
习题 9
第2章 功能测试 10
2.1 功能测试的依据 10
2.2 功能测试的步骤 11
2.3 功能测试实例:图书管理系统的借书功能 11
2.3.1 借书功能的需求描述 11
2.3.2 测试借书单一功能 14
2.3.3 测试借书功能相关联功能 16
2.3.4 测试借书功能的系统业务流程 17
本章小结 18
实训 18
习题 18
第3章 界面测试 19
3.1 界面测试的基本原则 19
3.1.1 易用性 19
3.1.2 规范性 20
3.1.3 合理性 20
3.1.4 一致性 21
3.1.5 美观协调性 21
3.2 界面测试要点 21
3.3 界面测试实例 22
3.4 常用的界面测试工具 23
3.4.1 HttpUnit 24
3.4.2 Selenium 28
3.4.3 Xenu 31
本章小结 33
实训 33
习题 33
第4章 性能测试 34
4.1 性能测试的基本概念 34
4.1.1 什么是性能测试 34
4.1.2 性能测试常见术语 36
4.1.3 性能测试的内容 39
4.2 性能测试的需求 43
4.2.1 确定性能测试点 44
4.2.2 确定性能指标 44
4.2.3 “ACM在线评判系统”性能测试的需求 46
4.3 性能测试的设计 47
4.3.1 性能测试模型 47
4.3.2 “ACM在线评判系统”性能测试设计 49
4.4 性能测试的执行 58
4.4.1 LoadRunner简介 58
4.4.2 测试脚本的录制 58
4.4.3 测试脚本的优化 68
4.4.4 测试脚本的回放 88
4.4.5 测试场景的设计 92
4.4.6 测试场景的执行 103
4.5 性能测试的分析 105
4.5.1 测试结果的收集 105
4.5.2 测试结果的分析 105
本章小结 115
实训 116
习题 116
第5章 安全测试 117
5.1 Web安全概述 117
5.2 注入漏洞 118
5.2.1 SQL注入概述 119
5.2.2 SQL注入检测 121
5.2.3 绕过登录 122
5.2.4 注入不同的语句类型 123
5.2.5 UNION操作符 124
5.2.6 SQL注入攻击防范 125
5.3 跨站脚本漏洞 131
5.3.1 XSS概述 131
5.3.2 XSS检测 134
5.3.3 使用XSS窃取Cookie 136
5.3.4 使用XSS产生HTTP请求 137
5.3.5 以交互方式尝试基于DOM的XSS 138
5.3.6 绕过字段长度限制 139
5.3.7 修改Host头 139
5.3.8 XSS攻击防范 140
5.4 其他常见攻击手段 143
5.5 常用安全测试工具 145
5.5.1 Firebug 145
5.5.2 WebScarab 148
5.5.3 Burp Suite 153
5.5.4 SQL Inject Me 154
本章小结 156
实训 156
习题 156
第6章 了解项目需求 157
6.1 中工运动网需求说明书 157
6.1.1 系统概述 157
6.1.2 系统功能 157
6.1.3 系统用户 159
6.1.4 系统运行环境 159
6.1.5 功能描述 159
6.1.6 系统非功能需求 191
6.2 需求说明书的评审 191
6.2.1 软件测试活动的基本形式 192
6.2.2 验证的三种方式 193
6.2.3 评审检查表 194
6.2.4 需求说明书的评审 195
本章小结 197
实训 198
习题 198
第7章 制订测试计划 199
7.1 确定测试需求 199
7.2 制订测试策略 200
7.3 确定测试资源 201
7.4 创建进度表 201
7.5 评估风险 202
7.6 生成测试计划文档 203
7.7 中工运动网测试计划 206
7.7.1 文档介绍 206
7.7.2 测试策略 206
7.7.3 角色和职责 207
7.7.4 进度安排 208
7.7.5 风险说明 209
7.7.6 测试环境 209
7.7.7 辅助管理 209
7.7.8 测试结束时提交的工作产品 209
7.8 测试计划的评审 210
本章小结 210
实训 210
习题 210
第8章 测试的设计 212
8.1 测试设计的内容 212
8.1.1 测试用例 212
8.1.2 测试数据 214
8.1.3 测试脚本 215
8.2 中工运动网功能测试用例的设计 216
8.3 中工运动网界面测试的设计 243
8.4 中工运动网性能测试用例的设计 243
8.5 中工运动网安全测试用例的设计 245
8.6 中工运动网测试数据的设计 251
8.7 测试用例、测试数据、测试脚本的评审 253
8.8 对测试用例的理解误区 255
本章小结 259
实训 259
习题 259
第9章 测试的执行 261
9.1 搭建测试环境 261
9.2 执行冒烟测试 263
9.3 测试的执行和记录 265
9.4 中工运动网测试的执行和记录 266
9.4.1 执行功能测试 266
9.4.2 执行界面测试 273
9.4.3 执行性能测试 273
9.4.4 执行安全测试 297
9.5 缺陷的记录 298
9.6 中工运动网缺陷的记录 301
9.6.1 功能缺陷 301
9.6.2 界面缺陷 312
9.6.3 安全缺陷 313
9.7 缺陷的管理流程 317
9.8 缺陷跟踪工具 320
9.9 回归测试 320
9.10 中工运动网第一次回归测试 321
9.10.1 搭建测试环境 321
9.10.2 功能回归测试 322
9.10.3 界面回归测试 324
9.11 中工运动网第二次回归测试 325
9.11.1 功能回归测试 325
9.11.2 界面回归测试 327
9.11.3 性能回归测试 327
本章小结 329
实训 329
习题 329
第10章 测试的分析总结 331
10.1 软件质量的度量分析 331
10.2 测试过程的度量分析 334
10.3 测试总结报告 336
10.4 中工运动网测试总结报告 337
10.4.1 文档介绍 337
10.4.2 测试环境 338
10.4.3 测试执行过程 339
10.4.4 软件质量的度量分析 340
10.4.5 测试活动的度量分析 343
10.5 测试总结报告的评审 345
10.6 测试结束时提交的工作产品 345
本章小结 345
实训 345
习题 346
第11章 配置管理 347
11.1 引入配置管理 347
11.2 配置管理的基本概念 348
11.3 配置管理的主要活动 349
11.4 配置管理工具介绍 352
11.5 SVN配置管理工具的使用 353
11.5.1 SVN相关软件准备 353
11.5.2 SVN服务器安装与配置 353
11.5.3 SVN客户端的安装与使用 357
本章小结 362
实训 362
习题 362
第12章 测试过程管理 363
12.1 测试的跟踪与监督 363
12.2 测试团队的管理 364
12.2.1 测试团队的组织形式 364
12.2.2 测试团队的沟通交流 365
12.2.3 测试团队的风险管理 365
12.3 测试人员的管理 365
12.3.1 测试人员的基本素质 365
12.3.2 测试人员的培训 366
本章小结 367
习题 368
附录A 软件测试常用文档模板 369
A.1 测试计划 369
A.2 测试用例 369
A.3 缺陷报告 370
A.4 缺陷跟踪文档 370
A.5 测试总结报告 371
附录B 测试项目实训 372
B.1 实训一 372
B.1.1 实训内容及要求 372
B.1.2 实训指导 373
B.2 实训二 380
B.2.1 实训内容及要求 380
B.2.2 实训指导 381
参考文献 397