第 1 部分 软件需求与设计 ......................1
第 1 章 软件需求 ......................................2
1.1 从需求的含混性说到软件测试的目的 2
1.2 需求的定义与分类 ...............................5
第 2 章 PRD 审核 .....................................8
2.1 PRD 分类 ..............................................8
2.2 软件产品定位.......... .............................9
2.3 软件产品需求 .....................................14
2.4 审核软件产品需求 .............................17
2.5 范围约束 .............................................26
第 3 章 用户故事........................... .........29
3.1 什么用户故事 .....................................29
3.2 用户故事特点 .....................................30
3.3 用户故事分解、细化、合并 .............32
第 4 章 审核 FS ......................................35
4.1 实现的含混性 .....................................35
4.2 交付目标 ............................................36
4.3 范围约束 ............................................37
4.4 假设和依赖 ........................................37
4.5 功能描述 ...........................................38
4.6 审核功能描述 .................................... 38
4.7 非功能描述. ........................................ 41
第 2 部分 软件功能性测试... ................ 43
第 5 章 功能性测试的准确性和合适性 44
5.1 功能性测试概念 ................................ 44
5.2 功能性测试分类 ................................ 45
5.3 适合性测试 ........................................ 45
5.4 准确性测试 ......................................... 46
第 6 章 软件功能性测试用户故事 ......... 47
6.1 软件功能性测试故事表 ...................... 47
6.2 执行者/行为/状态/预期结果/检查点 48
第 7 章 软件互操作性测试 .................... 72
7.1 互操作性测试定义 ............................. 72
7.2 兼容性和互操作性的区别 ................. 73
7.3 不可互操作的原因 ............................. 74
7.4 互操作性测试分类 ............................. 75
第 8 章 安全性测试 ................................. 81
8.1 软件安全性测试概念 ......................... 81
8.2 软件安全性测试策略 ......................... 82
8.3 用户认证安全 ..................................... 84
8.4 系统网络安全性测试 ......................... 89
8.5 数据库安全性测试 ............................. 94
第 9 章 全球化测试 ................................ 99
9.1 全球化测试分类 ................................. 99
9.2 日期 ................................................... 101
9.3 字符格式 ........................................... 103
9.4 数字格式 ........................................... 104
9.5 输入法编辑器测试 ........................... 106
9.6 语言敏感信息测试 ............................ 107
第 3 部分 软件非功能性测试 ...............109
第 10 章 易用性测试 .............................110
10.1 易用性测试分类 .............................110
10.2 易理解性测试 ................................111
10.3 易学习性测试 .................................113
10.4 易操作性测试 .................................114
10.5 UI 测试 ...........................................121
第 11 章 可靠性测试 ............................126
11.1 容错性测试 .....................................126
11.2 可恢复性测试 ..................................127
11.3 故障转移测试 .................................130
第 12 章 可移植性测试 .........................131
12.1 可移植性测试定义与分类 ..............131
12.2 用户故事列表 ..................................131
12.3 行为/状态/预期结果/检查点 ........133
第 13 章 性能测试 .................................143
13.1 功能与性能的区别 ..........................143
13.2 性能测试指标 ..................................144
13.3 获取性能需求 ..................................148
13.4 性能测试分类 ..................................149
13.5 如何进行性能测试 ..........................151
13.6 分析性能瓶颈 ..................................152
第 14 章 文档测试 .................................156
14.1 文档测试重要性 ..............................156
14.2 文档种类 ..........................................156
14.3 文档测试检查点. .............................157
第 4 部分 软件项目流程与风险 ..........159
第 15 章 软件项目开发流程 .................160
15.1 Project Milestone定义 ..................160
15.2 软件项目的主要阶段 ......................161
15.3 研发周期制定 ................................ 170
15.4 工作量估计 ...................................... 171
第 16 章 项目风险分析 ........................ 177
16.1 风险、问题、缺陷的区别 ............. 177
16.2 风险分类 ........................................ 177
16.3 风险分析 ......................................... 183
16.4 风险缓解 ......................................... 184
16.5 常见的风险处理措施... ................. 186
第 5 部分 测试策略与测试计划 .......... 190
第 17 章 测试策略 ................................ 191
17.1 测试策略的定义和分类 ................. 191
17.2 测试重点/测试优先级分析 ............ 192
17.3 各时间阶段对应的测试策略 .......... 193
17.4 多平台/操作系统/浏览器的测试策略 198
17.5 测试开始和结束的标准 .................. 198
17.6 测试环境策略 .................................. 201
17.7 测试人员指定策略/任务分配策略 203
17.8 测试工具的使用策略 ................... 205
17.9 测试报告/进度策略 ........................ 205
第 18 章 测试计划 ................................ 206
18.1 测试计划的定义 ............................. 206
18.2 测试计划的范围 ............................. 207
18.3 测试用例设计方法 ......................... 207
18.4 测试用例优先级划分 ..................... 217
第 6 部分 软件测试管理 ...................... 219
第 19 章 如何预防 Bug ........................ 220
19.1 Bug 和 Defect 的区别 .................. 220
19.2 预防 Bug 的意义 ........................... 221
19.3 干净的代码 ..................................... 222
19.4 代码可复用 ..................................... 224
19.5 代码审核管理机制 ..........................227
19.6 做好单元测试 ..................................227
19.7 代码重构 .........................................228
第 20 章 如何Log高质量的Bug ..........232
20.1 Bug报告写给谁看 ...........................232
20.2 Bug模板介绍 ...................................232
20.3 常见的 Bug 问题 ............................246
20.4 如何分析Root Cause .......................247
20.5 Bug 生命周期 ..................................251
20.6 测试报告分析 ...................................253
第 21 章 其他QA日常工作 ...................255
21.1 日报 ...................................................255
21.2 如何开会.......................... .................258
后记 QA的自我修养 ................................261
第 1 课 QA到底是做什么的? ...............261
第 2 课 质疑和思考 .................................262
第 3 课 QA要具备的技能 .......................264
第 4 课 QA和DEV的关系 .. ....................265
第 5 课 QA的主要贡献 ...........................266
第 6 课 自动化测试和常规测试的关系 .267