标题：探索式软件测试
图书信息
书 名:  探索式软件测试探索式软件测试
作　者：惠特克
出版社： 清华大学出版社
出版时间： 2010年4月1日
ISBN: 9787302223849
开本： 16开
定价: 35.00元
内容简介
《探索式软件测试》任命软件测试人员，OA专家、开发人员、程序经理和架构师阅读，对他们的工作具有重要的启发作用。探索式软件测试作为一种富有创新精神和现实意义的测试方法，引起越来越多软件测试人员、质量保证人员和项目经理的高度重视。《探索式软件测试》作者结合自己二十年的经验，从多个角度结合富的实例阐述了探索式软件测试的使用技巧、提示和相关技术。全书共8章，3个附录，为手工测试流程提供了重要的指导，技术和规划。
探索式软件测试的四个类型
探索式软件测试的四个类型、探索式软件测试一共分为自由式探索式测试、基于场景的探索式测试、基于策略的探索式测试和基于反馈的探索式测试。下面将详细介绍4种类型的应用场景。
一：自由式探索式测试自由式探索式测试指的是对一个应用程序的所有功能，以任意次序、使用任何如数进行随机探测，而不考虑哪些功能是否必须包括在内。自由式测试没有任何规则和模式、只是不停的去做。很不幸，很多人认为所有的探索式测试都是自由式的，从长远的观点来看，这种看法嘀咕了探索式测试技术的能力，我们在随后将看到这类测试的一些变种。
一个自由测试用例可能会被选中成为一个快速的冒烟测试，用它来检查是否会找到重大的崩溃或者严重的软件缺陷，或是在采用先进的技术之前通过它来熟悉一个应用程序。显然，自由式探索式测试无需也不应该进行大量的准备规则。事实上，它更像是“探索”而不是“测试”，所以我们应当相应的调整对它的期望值。
自由式测试不需要多少经验或者信息。但是，同以下提到的探索式技术相结合后，它将成为一个非常强大的测试工具。
二：基于场景的探索式测试基于场景的探索式测试和传统的基于场景的测试有类似之处。两者都涉及到一个开商店，就是用户故事或者是文档化得端到端场景的开始之处，那也是我们所期望的最终用户开始执行应用程序的地方。这些场景可以来自用户研究、应用程序、以前版本的数据等，并作为脚本用于测试软件。探索式测试对传统场景测试的补充吧脚本的应用范围扩大到了更改、调查和改变用户执行路径的范畴。
使用场景作为指导的探索式测试人员经常会修改他敢兴趣的输入或者是追寻一些并没有包括在脚本中的潜在副作用。不过，由于最终的不表是完成给出的场景，这些测试上的弯路、最终总是会回到脚本文件记载的用户主要执行路径。
三：基于策略的探索式测试将自由式测试探索式与具有测试老手的经验、技能和感知融合在一起，就成为基于策略的探索式测试。它属于自由式的探索，只是他是在现有的错误搜索技术下引导完成的。基于策略的探索式测试应用所有的已知技术（如边界值分析或组合测试）和未知的本能（如异常处理往往容易出现软件缺陷），来指导测试人员进行测试。
这些已知的策略是基于策略的探索式测试成功的关键，存储的测试知识越丰富，测试就会更有效率。这些策略缘于积累下来的知识，它们指导软件缺陷隐藏在哪里，如何综合人工输入数据，那些代码路径常常出现故障。
基于策略的探索式测试结合了测试老手的经验和探索型测试人员的随机性。
四：基于反馈的探索式测试基于反馈的探索式测试缘于自由式测试，但是随着测试历史的形成，测试人员们就会利用反馈来指导今后的探索。“覆盖”就是典型的例子。一名测试人员通过咨询那些覆盖指标（代码覆盖、用户界面覆盖、特性覆盖、输入覆盖或者其中的某一些组合）来选中新的测试用例，以使这些覆盖指标得以提高。覆盖指标只是收录反馈信息的标志之一。我们也会看其他标志，如代码改动数量和软件缺陷密集程度等。
基于反馈的探索式测试时一种“上一次测试”：在上一次我根据应用程序的最后状态选了每某一个输入之后、下一次我就会选中另外一个输入。或者是，在上一次遇到这个界面时我用A属性，这一次我就会用B属性。
基于反馈的探索式测试工具是非常有价值的，它可以是测试人员保存、搜索测试历史并据此采取实时行动。不幸的是这样的工具很少。
作者简介
James A.Whittaker，近日已加入谷歌担任测试工程主管，他曾在微软担任Visual Studio Team SysterTl架构师，负责为微软测试业务主导产品策略，并领导内部团队应用探索式软件测试。
Whittaker博士曾在佛罗里达理工学院担任计算机科学教授一职。在校期间，他被The Jourhal of Systems and Software授予“首席学者”称号，并领导一个研究团队创建了许多领先的测试工具和技术，包括备受称赞的运行时错误注入工具Holodeck。Wtlittaker博士还著有《如何攻破软件》、《如何破坏软件安全》和《如何破坏网络软件》。他发表过50+有关软件开发和安全的同级评审论文。他持有安全测试和安全防御技术方面多项发明的专利。
译者简介：
方敏，现任微软业洲工程院UIS项目首席测试部门主管，拥有20年软件测试管理和开发的丰富经验，曾参加过微软多项重大产品和技术的研制，包括UIS，Windows Server/Client/Security，SQL Server，Exchange Server，MSN，COM+Services，Windows Medi和微软内部IT工具等。方敏曾在清华大学获得电子工程学士和硕士学位，在美国新墨西哥技术学院获得计算机硕士学位。
张胜，现任微软总部高级软件开发测试主管，拥有10余年软件开发测试和团队管理经验，参与Visual Studio，SQL Server和Office Live的开发测试与发布，现主管Office Communications Server本地化软件开发测试工作。张胜拥有复旦大学计算机系硕七和学上学位。
图书目录
第1章 软件质量 1 
软件的魔力 1 
软件失效 4 
小结 9 
练习题 9 
第2章 手工测试 11 
软件缺陷的根源 11 
缺陷预防和检测 12 
缺陷预防 12 
缺陷检测 13 
手工测试 15 
手工测试中使用脚本 16 
探索式测试 16 
小结 21 
练习题 21 
第3章 局部探索式测试法 23 
想不想测试软件？ 23 
测试就是有所变，有所不变 25 
用户输入 26 
状态 36 
软件状态的基本知识 36 
如何测试软件状态 37 
代码路径 39 
用户数据 39 
运行环境 41 
小结 41 
练习题 42 
第4章 全局探索式测试法 45 
探索软件 45 
旅游者比喻 47 
漫游测试 49 
商业区测试类型 51 
历史区测试类型 58 
娱乐区测试类型 60 
旅游区测试类型 63 
旅馆区测试类型 66 
破旧区测试类型 68 
漫游测试法实战 70 
小结 72 
练习题 72 
第5章 混合探索式测试技术 73 
场景和探索 73 
使用基于场景的探索式测试 75 
通过场景操作引入变化 76 
插入步骤 76 
删除步骤 77 
替换步骤 77 
重复步骤 78 
替换数据 78 
替换环境 78 
通过漫游测试引入变化 80 
卖点测试法 80 
地标测试法 81 
极限测试法 81 
深巷测试法 81 
强迫症测试法 81 
通宵测试法 81 
破坏测试法 82 
收藏家测试法 82 
超模测试法 82 
配角测试法 82 
取消测试法 83 
混票测试法 83 
小结 83 
练习题 83 
第6章 实践中的探索式测试 85 
漫游测试 85 
Dynamics AX客户端的漫游 86 
有用的探索漫游 87 
收藏家测试法和收集缺陷 89 
漫游测试提示 92 
利用漫游查找隐错 94 
测试用例管理解决方案的测试 94 
取消测试法 95 
破坏测试法 96 
快递测试法 97 
测一送一测试法 98 
在Windows Mobile设备中的 
漫游实践 98 
我的测试方法和哲学 99 
漫游测试法找到的有趣缺陷 101 
破坏测试法实例 102 
超模测试法实例 103 
Windows媒体播放器的漫游测试 
实践 105 
Windows 媒体播放器 105 
遍历测试法 106 
超模测试法 108 
极限测试法 109 
与WMP相关的25个“假如” 
类型的问题 109 
极限测试法：边界之旅 110 
停车场测试法及其在 Visual Studio 
Team System测试版的应用 112 
Sprint中的测试 112 
停车场测试法 114 
漫游测试中的测试规划与管理 115 
定义地貌 115 
旅行计划 116 
让漫游测试运转起来 118 
漫游结果的分析 118 
判断：里程碑和发布 119 
在实践中 119 
小结 120 
练习题 120 
第7章 漫游与测试中的棘手问题 121 
软件测试的五个棘手问题 121 
漫无目的 122 
重复性 124 
暂时性 126 
单调性 127 
健忘 128 
小结 130 
练习题 130 
第8章 软件测试的未来 131 
欢迎来到未来世界 131 
测试人员的专有提示显示 132 
测试百科 134 
测试用例的重用 135 
测试原子和测试分子 136 
虚拟化的测试资产 137 
可视化 138 
未来的测试 141 
发布之后的测试 142 
小结 143 
练习题 144 
附录1 经营成功的测试职业生涯 145 
你是如何开始做测试工作的？ 145 
回到未来 146 
上山 147 
巅峰 149 
下山 150 
附录2 JW的专业博客摘录 151 
教我一些东西吧 151 
软件诫律 151 
测试错误代码 157 
真正的职业测试人员，请上前一步 160 
我找到的一些常见的共同特性 
(无特别顺序) 161 
建议总结 162 
三击不中出局，是新的打击手上场的 
时候了 163 
正式方法 164 
工具 164 
流程改进 165 
第四种提案 166 
软件测试是艺术、技巧或学科？ 166 
恢复对软件行业的尊重 169 
事与愿违的过去 170 
寻找更好的方法 171 
分析安全漏洞和质量问题的 
流程 171 
附录3 JW微软博客修订版 175 
加入博客圈 175 
2008年7月 176 
开篇 176 
PEST(泡吧与软件测试) 177 
测试人员评估 179 
预防与治疗(一) 181 
用户与John 182 
手工测试人员的赞歌 182 
预防与治疗(二) 185 
欧洲，你好！ 186 
测试赋 187 
预防与测试(三) 189 
回到测试 190 
2008年8月 192 
预防与治疗(四) 192 
如果微软擅长测试，为什么软件 
依然糟糕呢？ 194 
预防与治疗(五) 197 
自由式探索式测试 198 
基于场景的探索式测试 198 
基于策略的探索式测试 198 
基于反馈的探索式测试 199 
软件测试的未来(一) 199 
软件测试的未来(二) 201 
2008年9月 203 
测试认证 203 
软件测试的未来(三) 205 
软件测试的未来(四) 207 
软件测试的未来(五) 208 
2008年10月 210 
软件测试的未来(六) 210 
软件测试的未来(七) 212 
软件测试的未来(八) 214 
谈到谷歌 216 
再议手工测试与自动化测试 216 
2008年11月 218 
不再需要测试人员？ 218 
让测试人员继续测试 219 
2008年12月 220 
谷歌与微软的开发∶测试 
比例之争 220 
2009年1月 221 
Zune的问题 221 
解释探索式测试 223 
(未来的)测试用例重用 224 
测试用例重用(续) 226 
休假归来 227 
鼹鼠和受感染的花生 228