第1章 朝阳中的软件测试 1
1.1关于软件测试 1
1.1.1书中一角到书山一角的跨越 2
1.1.2捉虫子与挖金矿 3
1.2 Bug就在我们身边 5
1.2.1惠普100款笔记本软件曝严重漏洞 6
1.2.2奥运门票销售系统被迫关闭 6
1.2.3美F-22机群系统瘫痪,软件质量威胁国家安全 7
1.3把握测试岗位 8
1.3.1测试入门 9
1.3.2优秀测试 11
1.3.3卓越测试 13
1.4测试基础简要 14
1.4.1软件测试基本概念 14
1.4.2软件测试基本目的 15
1.4.3软件测试策略 15
1.4.4软件测试方法 17
1.4.5软件测试流程 18
第2章 找Bug的核心思维与境界 20
2.1情有独钟的思维模式 20
2.1.1逆向思维 20
2.1.2发散性思维 23
2.2测试的第一重境界:围着Bug转 26
2.2.1独上高楼——发现Bug 29
2.2.2为伊消得人憔悴——定位Bug 31
2.2.3蓦然回首——关闭Bug 34
2.3测试的第二重境界:站在Bug之上 36
2.3.1测试的价值不仅仅是发现Bug 37
2.3.2测试的服务链 42
2.4测试的第三重境界:挑战零缺陷 43
2.4.1缺陷的防与堵 44
2.4.2“零缺陷”文化 46
2.4.3“零缺陷”后的误区 47
第3章测试设计景观 48
3.1放眼设计 49
3.2解读测试设计 50
3.3测试管理中的隐形指挥棒:测试组织模式的设计 53
3.3.1以开发为核心的组织模式 54
3.3.2以项目经理为核心的组织模式 56
3.3.3独立的测试组织模式 58
3.4提高测试效率的有力武器:测试流程之设计 59
3.4.1认识测试流程 60
3.4.2让大家一起忙起来 61
3.4.3软件运行得犹如蜗牛在爬行 64
3.5好钢用在刀刃上:测试技术应用之合适设计 65
3.5.1通信的心跳在狂蹦 65
3.5.2解开用例失效之谜 67
第4章 测试架构的设计 70
4.1思索测试架构 70
4.1.1认知测试架构 70
4.1.2 测试架构设计不仅仅在技术上 73
4.2让每个测试人员都看到希望 73
4.2.1回顾与思考微软的测试职业发展路线设计 74
4.2.2架构合适的测试技术发展梯队通道 79
4.2.3架构合适的测试管理方向发展轨道 81
4.3万里航行总舵手——业务测试架构的设计 83
4.4测试建设之基石——测试框架的设计 85
4.4.1相框与测试框架 85
4.4.2化抽象为具体——测试框架内容 86
4.4.3突破起点——搭建测试框架的方法 89
第5章 测试需求分析与测试策略制定 92
5.1从测试需求开始 92
5.1.1多管齐下溯需求 93
5.1.2考虑可测试性需求 95
5.2识别庐山真面目——分析需求 98
5.2.1快速理解需求的捷径:需求宣讲 98
5.2.2需求定义也会错并不是谎言 99
5.2.3不可忽视:从设计需求中提取测试需求 101
5.3确定顶层方向性测试类别 104
5.4布道——部署测试策略 107
5.5测试技术的裁剪与合理应用 109
5.5.1黑盒测试不等于手工测试 109
5.5.2适当采用白盒测试 110
5.5.3灵活运用灰盒测试 111
5.5.4部分自动化测试 114
5.5.5着眼专项测试 115
5.6测试计划与跟踪机制 117
5.7测试策略需考虑的其他要素 119
第6章 聚焦测试方案的设计 121
6.1理解测试方案的设计 121
6.1.1疑问与认识过程 121
6.1.2测试方案设计的重要性 123
6.1.3把握核心——测试方案设计的三步曲 125
6.2创新乐园:多路测试分析方法 126
6.3三层架构模式分析法 128
6.3.1三层架构模式分析法的原理 128
6.3.2应用案例 129
6.4多叉树节点分析法 133
6.4.1多叉树节点分析法的原理 133
6.4.2应用案例 135
6.5业务状态变迁分析法 138
6.5.1业务状态变迁分析法的原理 138
6.5.2应用案例 139
6.6代码更改追溯分析法 143
6.6.1代码更改追溯分析法的原理 143
6.6.2应用案例 145
第7章 话说用例的设计 147
7.1漏测一个提示界面,不仅损失158万元 147
7.2逆境中的用例设计 149
7.3技术攻关:高效用例设计方法 152
7.3.1隐式边界 152
7.3.2分类法 156
7.3.3反常规操作法 161
7.3.4倒推法 163
7.3.5用例设计的综合策略 166
7.4用例有效、无效的正确认识 167
7.5用例的价值 169
7.6设计可复用的用例 171
7.7用例重构 174
7.8用例设计规范的诞生 177
第8章 测试执行流程设计 179
8.1需求测试 179
8.1.1需求内审中的测试需求 181
8.1.2需求外审中的测试需求 183
8.1.3测试设计过程中的测试需求 183
8.1.4需求测试检查点 184
8.1.5需求测试中的几个问题 187
8.2内部版本发布测试 188
8.2.1版本发布的恶梦 188
8.2.2小议冒烟测试 190
8.2.3版本发布的信息传递 192
8.3回归测试 194
8.3.1确定回归内容 194
8.3.2基于用例的回归测试方法 194
8.3.3基于Bug的回归测试方法 198
8.4交叉测试 199
8.4.1交叉测试的特点 200
8.4.2交叉测试模式 202
8.4.3交叉测试后的进一步思考 205
第9章 测试输出管理设计 206
9.1 Bug管理 206
9.1.1 “Bug单”的故事 208
9.1.2 Bug管理工具的选择 209
9.1.3 Bug生命周期设计 210
9.1.4约束的力量——Bug管理规范 214
9.1.5 Bug库的应用杂谈 219
9.1.6处理不可重现的Bug 222
9.2用例管理 224
9.2.1用例管理工具选择 224
9.2.2用例结构与元素的设计 227
9.2.3用例维护的设计 231
9.3测试文档模板设计 232
9.3.1测试计划模板设计 234
9.3.2测试方案模板设计 235
9.3.3测试报告模板设计 236
9.4测试总结管理设计 239
9.4.1写总结的好处 239
9.4.2测试工作日志 240
9.5测试知识库设计 242
9.5.1沉淀测试知识库 242
9.5.2测试知识库的管理 243
9.5.3学以致用打折吗 245
第10章 控制测试过程的实用方法 246
10.1把握测试工作启动的起点 246
10.1.1测试人员何时投入项目合适 246
10.1.2项目测试启动会 249
10.2测试设计的评审 251
10.2.1三级评审机制 252
10.2.2自审检查单的诞生 253
10.2.3设计检查单——提高设计质量的有效工具 254
10.3测试版本的控制 256
10.3.1版本发布众生相 257
10.3.2版本接收/停止测试准则 258
10.3.3测试与版本号 260
10.4测试配置管理 261
10.4.1测试也需“电子眼” 261
10.4.2测试配置的构建与应用 262
10.5漏测分析:测试流程改进的助推器 264
10.5.1漏测的定义与漏测分析的意义 264
10.5.2漏测问题收集 266
10.5.3漏测分析计划 267
10.5.4漏测分析实施 267
10.5.5漏测措施执行跟踪 268
第11章 软件质量与测试的故事 270
11.1软件质量与测试的几个故事 270
11.2软件质量模型到底是什么 272
11.2.1软件质量的标准定义 272
11.2.2测试人员谈软件质量 273
11.2.3软件质量模型——工程实践式解读 274
11.2.4对质量模型的进一步思考 281
11.3测试的宗旨 283
第12章 测试模式的设计 285
12.1了解测试模式设计 285
12.2基于用户环的测试模式 286
12.2.1识别用户 286
12.2.2案例1:生产出来的机器开机失败 287
12.2.3案例2:参展机真的累了吗 288
12.2.4案例3:我们真的了解用户吗 289
12.2.5案例4:用服的抱怨 290
12.3基于流程的测试模式 291
12.3.1案例1:软件没有任何更改却不正常了 292
12.3.2案例2:伤不起,自动构建惹的祸 293
12.4测试设计与测试执行人员分开模式 294
12.4.1案例1:测试时间变长了 295
12.4.2案例2:招聘实习生执行用例 296
12.5优秀测试团队的组合模式 300
12.5.1案例1:测试工作量评估 300
12.5.2案例2:测试需求实现的故事 302
12.5.3案例3:两个阿慢的故事 304
第13章 追逐软测之理念 307
13.1开拓测试管理新思维:测试环境创新 308
13.2畅想:测试团队的发展之路 310
13.2.1散兵游勇年代 311
13.2.2 测试游击队 312
13.2.3测试部落 314
13.2.4测试事业部 317
13.3测试设计理念至上 318
13.4挑战测试新技术 320
13.5测试是不可或缺的“一条腿” 322
13.6通向“罗马”的测试之路 323
13.6.1识别自己——英雄不问出处 324
13.6.2选择一条适合自己的测试康庄大道 325
附录A专业名词解释 330
附录B 参考书目和资源 335