内容简介
探索式测试是一种重要的软件测试思想。随着测试行业的发展,其性、机动性和实用性受到了广泛的关注、讨论和实证,但是仍有许多测试人员对探索式测试充满疑问,甚至误解。本书的目标就是回答疑问,澄清误解,分享作者们在探索式测试领域的实战经验和反思总结,并介绍业界专家的相关见解。
本书内容可分成4个部分。第1章介绍了探索式测试的定义和理论基础,并回答了测试人员感兴趣的常见问题。第2~7章介绍了探索式测试的具体技术,包括思维方法、测试设计、测试工具和测试自动化。第8~12章讨论了测试团队如何实施与管理探索式测试。第13章回顾全书内容,并分析了探索式测试获得成功的关键因素。
目录
目录
第1章 探索式测试的定义 1
1.1 什么是探索式测试 1
1.2 语境驱动测试7原则 4
1.3 探索式测试的问与答 8
第2章 探索式测试设计概论 26
2.1 思维模型 26
2.2 测试先知和启发式方法 29
2.3 测试过程 32
2.4 测试覆盖 36
2.5 启发式测试策略模型HTSM 39
2.5.1 为什么需要HTSM 40
2.5.2 HTSM的内容 40
2.5.3 定制HTSM 44
2.5.4 应用HTSM 46
第3章 单个特性测试方法 47
3.1 联想输入模型 48
3.1.1 联想输入模型介绍 49
3.1.2 联想输入模型的实践案例 54
3.2 互联网测试模型 56
3.2.1 互联网测试模型来源 58
3.2.2 经典互联网测试模型 61
3.3 漫游测试模型 77
3.3.1 基础测试方法 78
3.3.2 进阶测试方法 84
3.4 单个特性测试相关案例 88
第4章 交互特性测试方法 95
4.1 场景操作模型 97
4.2 漫游探索模型 106
4.3 交互特性测试相关案例 112
第5章 系统交互测试方法 122
5.1 通用功能性与稳定性测试过程 123
5.1.1 确定产品目的和功能 123
5.1.2 确定潜在的不稳定区域 125
5.1.3 测试产品的功能性和稳定性 127
5.2 漫游地图模型 128
5.2.1 漫游地图模型简介 129
5.2.2 漫游地图思维架构 130
5.3 肥皂剧测试模型 131
5.3.1 肥皂剧测试用例 131
5.3.2 肥皂剧测试的特征 132
5.4 系统交互测试案例 134
5.4.1 通用功能性与稳定性测试过程的案例 135
5.4.2 漫游地图模型的案例 137
5.4.3 肥皂剧测试模型的案例 139
第6章 探索式测试的工具 141
6.1 基于Microsoft Test Manager 2010的 探索式测试 142
6.1.1 测试计划与测试用例 142
6.1.2 测试执行与缺陷记录 145
6.1.3 从探索式缺陷到测试用例 149
6.1.4 测试活动小结 151
6.2 探索式测试的工具 153
6.2.1 测试计划 154
6.2.2 测试设计与执行 157
6.2.3 软件监控 162
6.2.4 测试评估 168
第7章 探索式测试与测试自动化 170
7.1 探索式测试与自动化测试用例 170
7.1.1 自动化测试用例的开发目标 171
7.1.2 综合运用探索式测试和脚本测试 173
7.1.3 探索式的自动化测试用例开发 175
7.2 探索式自动化测试案例 179
7.2.1 案例1:盖特伍德奶奶 179
7.2.2 案例2:测试搜索引擎的自动建议 182
7.2.3 案例3:测试在线地图的驾车路线 184
7.2.4 对案例2与案例3的再分析 187
7.3 开发探索式测试工具 189
7.3.1 探索式测试自动化的定义 189
7.3.2 测试工具开发策略 191
第8章 探索式测试的组织与实施 195
8.1 探索式测试与脚本测试 196
8.2 探索式测试四象限 199
8.3 基于测程的测试管理 201
8.3.1 测程的基本特点 201
8.3.2 SBTM的任务 202
8.3.3 SBTM的测程 204
8.4 实践方式的选择依据 209
8.5 实践方式的实践特点 212
第9章 自由风格的探索式测试 215
9.1 什么是自由风格的探索式测试 215
9.2 实践流程 216
9.2.1 实践的条件和目的 217
9.2.2 实践的时机 218
9.2.3 实践的流程 220
9.3 实践注意点 223
9.4 实践案例 224
第10章 ET主导与ST辅助方式的探索式测试 230
10.1 什么是ET主导与ST辅助方式 230
10.2 实践流程 231
10.2.1 实践的条件 231
10.2.2 实践的流程 232
10.2.3 实践的活动 235
10.3 实践注意点 238
10.4 实践案例 239
第11章 ST主导与ET辅助方式的探索式测试 242
11.1 什么是ST主导与ET辅助方式 242
11.2 脚本
摘要与插图
序1“路漫漫其修远兮,吾将上下而求索”出自屈原的代表作《离骚》,在IT界工作几年后,发现没有几个人能将长篇巨作《离骚》全文背下来,但这两句诗却是每个人耳熟能详的。我们每个人,是刚走出校门的年轻人,憧憬着未来,心中揣着理想,向往美好的生活,追求职业的成功,都孜孜不倦地探索着未知的世界。
“探索”,是让人为之一振的词,当我们无精打采的时候,有人告诉我们:“来,一起看探索频道(Discovery Channel)!”马上我们就来精神了。未知世界是那么有吸引力,这也是为什么“探索频道”成了世界上的记录片频道,它帮助我们寻找科技、自然、历史、文化等各个方面未知的角落。即使是我们知道的事情,它也能从不同寻常的角度、以精湛的拍摄技术带给我们新的画面、新的享受。软件测试业也不例外,每个测试人总在探索着软件测试的未知空间,寻求新的方法、新的技术,甚至越探索越觉得有更多的东西要学,反过来会促使我们更加努力地探索下去,“路漫漫其修远兮,吾将上下而求索”。
在整个软件开发领域,人们已找到不少能够解决问题的方法,但是至今没能找到解决所有问题的方法。软件工程领域没有银弹,在软件开发过程中所采用的方法或技术只能解决一部分问题,而不能解决某类问题。在测试领域,这个特点更加明显,我们都知道,测试不能穷尽,测试不能做到百分之百,总是有不能测到的地方,总是有缺陷遗留下来,这就给我们留下了足够的探索空间。探索式测试(Exploratory Testing,ET)的出现正是因为在软件系统中存在许多未知的东西难以得到快速、简单的验证,需要我们转变思路,不要以固定的模式来完成测试,而是要换一种新的模式来进行测试,以提高测试效率,更重要的是让测试过程成为科学探索的一部分,将无味的测试工作变成有趣的探索,在享受工作的同时完成测试。
本书两位作者--微软的史亮(@史亮SL)和淘宝的高翔(@季哥也是Jerry)都是我的老朋友了,他们正是国内探索式测试的早期实践者,力图通过本书将美妙的探索式测试呈现在我们面前,让我们一睹探索式测试的思想、方法、技术和工具。我也认真看了本书的初稿,他们也的确做到了。
在谈到探索式测试时,我们不免会提到James A.Whittaker的《探索式软件测试》一书,在此之前只有这本书全面讨论了探索式测试,从局部的探索式测试到全局的探索式测试,把测试人员比做一个旅行者,向我们介绍在不同的区域(如商业区、历史区、娱乐区等)如何漫游,进而告诉我们在实践中如何利用漫游法进行测试、在不同的场景下如何引入变化。James的确向我们展示了不少探索式测试的方法或技巧,打开了我们的测试思路,但James的《探索式软件测试》也存在一些不足之处,例如:
陷入漫游之中,差不多将“探索式测试”等价于“漫游”。
没有交待清楚探索式测试的背景,更没有很好地交待探索式测试的思维方式。
没有告诉我们如何从头至尾进行探索式测试,即从测试的计划、分析(探索式测试准备阶段)到设计/执行的完整的测试过程,我们也就不知道如何进行探索式测试的管理、如何控制探索式测试带来的潜在风险。
没有告诉我们如何将探索式测试和基于脚本的测试方式两者有机地结合起来,而现实工作中我们又不得不把两者结合起来,形成一个完整、可靠的测试空间。
而史亮和高翔写的《探索式测试实践之路》这本书恰恰弥补了James A.Whittaker的《探索式软件测试》一书的不足,全书结构清晰,让我们了解了“语境驱动测试学派”(Context Driven Testing