第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软件运行得犹如蜗牛在爬行 63
3.5好钢用在刀刃上:测试技术应用之合适设计 64
3.5.1通信的心跳在狂蹦 65
3.5.2解开用例失效之谜 66
第4章 测试架构的设计 69
4.1思索测试架构 69
4.1.1认知测试架构 69
4.1.2测试架构设计不仅仅在技术上 72
4.2让每个测试人员都看到希望 72
4.2.1回顾与思考微软的测试职业发展路线设计 73
4.2.2架构合适的测试技术发展梯队通道 78
4.2.3架构合适的测试管理方向发展轨道 80
4.3万里航行总舵手——业务测试架构的设计 82
4.4测试建设之基石——测试框架的设计 84
4.4.1相框与测试框架 84
4.4.2化抽象为具体——测试框架内容 85
4.4.3突破起点——搭建测试框架的方法 88
第5章 测试需求分析与测试策略制定 91
5.1从测试需求开始 91
5.1.1多管齐下溯需求 92
5.1.2考虑可测试性需求 94
5.2识别庐山真面目——分析需求 97
5.2.1快速理解需求的捷径:需求宣讲 97
5.2.2需求定义也会错并不是谎言 98
5.2.3不可忽视:从设计需求中提取测试需求 100
5.3确定顶层方向性测试类别 103
5.4布道——部署测试策略 106
5.5测试技术的裁剪与合理应用 108
5.5.1黑盒测试不等于手工测试 108
5.5.2适当采用白盒测试 109
5.5.3活用灰盒测试 110
5.5.4部分自动化测试 113
5.5.5着眼专项测试 114
5.6测试计划与跟踪机制 116
5.7测试策略需考虑的其他要素 118
第6章 聚焦测试方案的设计 120
6.1理解测试方案的设计 120
6.1.1疑问与认识过程 120
6.1.2测试方案设计的重要性 122
6.1.3把握核心——测试方案设计的三步曲 124
6.2创新乐园:多路测试分析方法 125
6.3三层架构模式分析法 127
6.3.1三层架构模式分析法的原理 127
6.3.2应用案例 128
6.4多叉树节点分析法 132
6.4.1多叉树节点分析法的原理 132
6.4.2应用案例 134
6.5业务状态变迁分析法 137
6.5.1业务状态变迁分析法原理 137
6.5.2应用案例 138
6.6代码更改追溯分析法 142
6.6.1代码更改追溯分析法原理介绍 142
6.6.2应用案例 144
第7章 话说用例的设计 146
7.1漏测一个提示界面,不仅损失158万元 146
7.2逆境中的用例设计 148
7.3技术攻关:高效用例设计方法 151
7.3.1隐式边界 151
7.3.2分类法 155
7.3.3反常规操作法 160
7.3.4倒推法 162
7.3.5用例设计的综合策略 165
7.4用例有效、无效的正确认识 166
7.5用例的价值 168
7.6设计可复用的用例 170
7.7用例重构 173
7.8用例设计规范诞生 176
第8章 测试执行流程设计 178
8.1需求测试 178
8.1.1需求内审中的测试需求 180
8.1.2需求外审中的测试需求 182
8.1.3测试设计过程中的测试需求 182
8.1.4需求测试检查点 183
8.1.5需求测试中的几个问题 186
8.2内部版本发布测试 187
8.2.1版本发布恶梦 187
8.2.2小议冒烟测试 189
8.2.3版本发布信息传递 191
8.3回归测试 193
8.3.1确定回归内容 193
8.3.2基于用例的回归测试方法 193
8.3.3基于Bug的回归测试方法 197
8.4交叉测试 198
8.4.1交叉测试的特点 199
8.4.2交叉测试模式 201
8.4.3交叉测试后的进一步思考 204
第9章 测试输出管理设计 205
9.1 Bug管理 205
9.1.1 “Bug单”的故事 207
9.1.2 Bug管理工具的选择 208
9.1.3 Bug生命周期设计 209
9.1.4约束的力量——Bug管理规范 213
9.1.5 Bug库的应用杂谈 218
9.1.6处理不可重现的Bug 221
9.2用例管理 223
9.2.1用例管理工具选择 223
9.2.2用例结构与元素的设计 226
9.2.3用例维护的设计 230
9.3测试文档模板设计 231
9.3.1测试计划模板设计 233
9.3.2测试方案模板设计 234
9.3.3测试报告模板设计 235
9.4测试总结管理设计 238
9.4.1写总结的好处 238
9.4.2测试工作日志 239
9.5测试知识库设计 241
9.5.1沉淀测试知识库 241
9.5.2测试知识库的管理 242
9.5.3学以致用打折吗 244
第10章 控制测试过程的实用方法 245
10.1把握测试工作启动的起点 245
10.1.1测试人员何时投入项目合适 245
10.1.2项目测试启动会 248
10.2测试设计的评审 250
10.2.1三级评审机制 251
10.2.2自审检查单的诞生 252
10.2.3设计检查单——提高设计质量的有效工具 253
10.3测试版本的控制 255
10.3.1版本发布众生相 256
10.3.2版本接收/停止测试准则 257
10.3.3测试与版本号 259
10.4测试配置管理 260
10.4.1测试也需“电子眼” 260
10.4.2测试配置的构建与应用 261
10.5漏测分析:测试流程改进的助推器 263
10.5.1漏测的定义与漏测分析的意义 263
10.5.2漏测问题收集 265
10.5.3漏测分析计划 266
10.5.4漏测分析实施 266
10.5.5漏测措施执行跟踪 267
第11章 追逐软测之理念 269
11.1开拓测试管理新思维:测试环境创新 270
11.2畅想:测试团队的发展之路 272
11.2.1散兵游勇年代 273
11.2.2测试游击队 274
11.2.3测试部落 276
11.2.4以项目经理为核心的组织模式 279
11.3测试设计理念至上 281
11.4挑战测试新技术 282
11.5测试是不可或缺的“一条腿” 285
11.6通向“罗马”的测试之路 286
11.6.1识别自己——英雄不问出处 286
11.6.2选择一条适合自己的测试康庄大道 288
附录A专业名词解释 292
附录B参考书目和资源 297