资源名称:完美测试-软件测试系列最佳实践
内容简介:
《完美测试:软件测试系列最佳实践》每个人都怀有梦想或理想,测试人员也不例外,希望将自己的工作做得比较完美。《完美测试:软件测试系列最佳实践》力求通过一些典型案例告诉大家什么是完美测试,又如何做到完美测试。在给出的例子中,不仅包括功能测试、功能的异常测试、不同平台的功能测试和一些崩溃问题的处理,而且包括国际化测试、性能测试、用户体验测试、Accessibility测试等,并用较大的篇幅讨论了自动化测试。为了达到完美测试,建立良好的测试体系、使产品具有可测试性以及缺陷预防等更为重要,《完美测试:软件测试系列最佳实践》也做了讨论。《完美测试:软件测试系列最佳实践》还展示了软件测试之美,使读者可以领会到软件测试的距离之美、空间之美、技巧之美、辩证之美以及贯穿测试过程的平衡之美。虽然《完美测试:软件测试系列最佳实践》还很难覆盖完美测试应具备的各种方法和实践,但目的在于抛砖引玉,使读者能通过最有效的手段(包括方法、技术和工具)完成所有必要的测试,实现事先所要求的需求和代码的测试覆盖率,最终能准确地给出软件产品一个完整的质量评估,使测试达到相对完美的水平。
作者简介:
朱少民:网迅(中国)软件有限公司QA高级总监、CSTQB资深专家、中国科技大学软件学院教指委委员。最近多年来一直从事软件测试、质量管理和过程改进等工作,先后出版专著《全程软件测试》、《软件测试》和《软件工程导论》,并主编了《软件测试方法和技术》等多部高等学校的精品教材。. 个人博客:http://blog.csdn.net/KerryZhu
资源目录:
第1章 软件测试的金字塔体系 1
1.1 从1个中心到5个要素 3
1.2 5个工作面 5
1.3 8组关系 6
1.4 13项原则 8
1.5 21个关键域 11
1.6 34个方法 15
第2章 测试架构从何而来 17
2.1 什么是测试架构 18
2.2 测试领域架构 21
2.3 自动化测试架构之说 25
2.3.1 为何要建立自动化测试架构 25
2.3.2 解决什么问题 26
2.3.3 软件开发框架的启发 30
2.3.4 测试自动化框架的基本构成 31
2.4 谁能成为测试架构师 34
第3章 如何让缺陷无处藏身 38
3.1 什么是软件可测试性 39
3.2 sock模型和james bach的观点 41
.3.3 tdd和代码的可测试性 43
3.4 设计的可测试性 48
3.5 需求的可测试性 51
第4章 可以像这样设计测试用例吗 53
4.1 从需求到测试用例 53
4.2 基于流程图设计测试用例 56
4.3 基于uml视图的测试用例设计 61
4.4 小结 65
第5章 从虚拟测试环境到一键部署 67
5.1 虚拟出更多的机器 67
5.2 虚拟的疑问 70
5.3 另一种把资源用到极致的方法 71
5.4 一键部署 73
第6章 客户端的gui测试自动化 79
6.1 初识自动化测试 79
6.2 困惑 80
6.3 建议 81
6.4 三类标准控件的不同处理办法 82
6.4.1 标准控件 83
6.4.2 自定义控件 84
6.4.3 自定义控件库 84
6.5 微软的uia和msaa 85
6.5.1 msaa 85
6.5.2 uia 86
6.5.3 windows automation api 3.0 88
6.6 和开发人员合作的好处 88
第7章 后台自动化测试 90
7.1 什么是后台测试 90
7.1.1 后台测试的特点 90
7.1.2 后台测试的自动化 91
7.2 后台自动化测试的统一脚本控制 92
7.2.1 自动化测试框架 93
7.2.2 自动化测试脚本的分层实现 93
7.3 后台自动化测试实例 95
7.3.1 测试工具树形图 95
7.3.2 基于staf框架的python脚本 97
7.4 后台大规模性能测试 102
7.4.1 测试工具的管理 103
7.4.2 同步及异步控制模式 103
7.4.3 测试逻辑的同步执行问题 104
7.4.4 测试结果的收集 106
7.5 小结 107
第8章 高亢之龙——jmeter后台自动化测试 108
8.1 潜龙勿用,见龙在田 109
8.2 终日乾乾,或跃于渊 113
8.3 飞龙在天 117
8.4 亢龙有悔 121
8.5 小结 123
第9章 重读探索式软件测试 124
9.1 概念及目标 124
9.2 关键要素 125
9.3 常见的认识误区 127
9.4 探索思维“十六”计 128
9.5 如何应用探索式测试 136
9.6 机遇与挑战 138
9.7 小结 139
第10章 完美的功能测试 140
10.1 测试准备 141
10.2 测试计划 145
10.3 功能测试用例的设计 147
10.4 用例执行的窍门 149
10.5 功能测试的三步曲 150
10.6 查找遗漏问题的七大招 152
10.7 基于组件元素的通用测试点 154
10.8 基于系统行为和操作习惯的测试点 156
第11章 异常测试的方法与技巧 158
11.1 异常测试定义与范围 159
11.2 技巧之一:改(以彼之道,还施彼身) 160
11.2.1 更改“自身” 160
11.2.2 更改“相关” 161
11.3 技巧之二:借(他山之石,可以攻玉) 162
11.3.1 借code coverage发现异常 162
11.3.2 借junit+jmockit测试异常 166
11.3.3 借iptables创造异常 167
11.4 异常测试其他技巧 169
11.5 小结 170
第12章 如何在苹果上找虫 171
12.1 造成mac系统崩溃的常见操作 171
12.2 通过崩溃日志来定位问题 172
12.3 通过console来定位崩溃问题 176
12.4 通过shark工具来定位freeze问题 176
第13章 穿越时空的国际化和本地化测试 182
13.1 案例背景 183
13.2 时区及夏令时 186
13.3 有关时区的应用测试 188
13.4 本地化测试的方方面面 190
13.4.1 语言标识 190
13.4.2 文化生活 191
13.4.3 书写习惯 192
13.5 本地化测试的主要方法 193
13.6 本地化测试的常见问题 194
13.6.1 人力资源短缺 194
13.6.2 开发人员、翻译组、资源文件维护者与测试人间之间的协作 195
13.6.3 基础工作的缺乏 196
第14章 用户体验的享受 198
14.1 最终用户特点 198
14.1.1 绝大多数的中间用户 199
14.1.2 不同用户需求 200
14.2 生活中的用户体验 203
14.2.1 用户体验的复杂性 203
14.2.2 视觉反馈 204
14.2.3 听觉反馈——声音 211
14.3 ue测试策略 213
14.3.1 少就是多 214
14.3.2 工具就放在手边 215
14.3.3 提供非模态的反馈 215
14.3.4 提供符合情景的信息 216
14.3.5 提供直接的操作和图形输入 217
14.3.6 不要用对话框来报告常态内容 218
14.3.7 提供选择而不是提问 218
14.3.8 优化响应能力以调节延迟时间 219
14.3.9 多平台多浏览器支持 220
14.4 小结 221
第15章 可能没听说过的测试——accessibility测试 223
15.1 测试的范围和要点 224
15.2 测试工具 226
15.2.1 soatest 226
15.2.2 jaws 228
15.2.3 actf adesigner 229
15.3 accessibility测试注意事项 231
15.3.1 规范快捷键,尽量与系统操作键统一 231
15.3.2 应尽早制定accessibility checklist 232
15.3.3 注意对其他任务的影响 232
15.3.4 restore case要定义明确 232
15.3.5 应从用户使用习惯的角度去考虑测试需求 233
第16章 谁说了算?——代码覆盖率 234
16.1 衡量代码覆盖率软件的引入 235
16.2 c/c++代码覆盖率测试工具bullseyecoverage 237
16.3 开源测试代码覆盖率工具emma 239
16.4 代码覆盖率报告的分析 240
16.5 代码覆盖率工具的相关运用 242
16.6 代码覆盖率工具应用的局限性 243
16.7 小结 244
第17章 bug的“美丽人生” 246
17.1 报告新的bug 246
17.1.1 发现bug 247
17.1.2 隔离分析bug 248
17.1.3 提交一个新的bug 251
17.2 处理已经提交的bug 254
17.3 验证bug 256
17.4 案例说明 256
第18章 从亡羊补牢到未雨绸缪 260
18.1 防止“病从口入” 261
18.2 缺陷rca三步曲 262
18.2.1 缺陷的分类统计分析 263
18.2.2 深度分析找到根本原因 266
18.2.3 找到解决问题的办法 268
第19章 云中漫步——后端测试流程管理 269
19.1 欢迎来到“云”的世界 271
19.1.1 为什么要进行后台测试 271
19.1.2 shindig框架的部署 273
19.2 你不是她,但你处处为她着想 276
19.2.1 以用户行为为核心 276
19.2.2 以用户数据为核心 277
19.2.3 “虫虫”哪里走 278
19.3 进入云,必须做好聪明又狂野的准备 279
19.3.1 其徐如林——周密计划,才能有条不紊 280
19.3.2 其疾如风——快速执行 281
19.3.3 侵掠如火——干吧,我们就是为这个来的 282
19.3.4 不动如山——牢固占领,“云”上一分钟,“云”下十年功 283
19.4 小结 285
第20章 敏捷测试——速度之美 286
20.1 敏捷开发和传统瀑布模型比较 286
20.2 快速迭代、发布可工作的软件 288
20.2.1 面对面交流和简洁的文档 290
20.2.2 基于用户故事的测试计划 292
20.2.3 面向敏捷开发团队的高效测试用例 294
20.2.4 持续集成和持续测试框架hudson 295
20.2.5 有效管理和跟踪测试任务 297
20.2.6 快速跟踪和解决缺陷 300
20.3 持续回顾和调整 304
20.4 小结:速度之美的真正含义 307
第21章 再谈敏捷测试的方法和实践 310
21.1 测试驱动开发与敏捷测试 310
21.2 敏捷测试自动化 313
21.2.1 自动化测试策略 313
21.2.2 自动化测试框架 314
21.2.3 敏捷测试工具 315
21.3 敏捷测试及其管理 316
21.3.1 敏捷测试流程的优化 316
21.3.2 新功能的测试和回归测试策略 317
21.3.3 基于需求测试和基于风险测试的平衡 318
21.4 有关敏捷测试的思考 319
21.4.1 探索式测试的地位 320
21.4.2 测试人员在敏捷方法中的价值 321
21.5 小结 322
后记——从“软件测试艺术”讲座品味完美 323
空间之美 324
距离之美 324
技巧之美 325
辩证之美 326
白盒测试方法vs.黑盒测试方法 327
静态测试vs.动态测试 328
被动测试vs.主动测试 329
手工测试vs.自动化测试 330
计划测试vs.探索式测试 332
新功能测试vs.回归测试 332
附录a 敏捷方法的相关概念 334
附录b 软件测试的详细分类 336
参考文献 342