探索式软件测试

探索式软件测试
作 者: 惠特克 方敏 张胜 钟颂东
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 软件工程/开发项目管理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  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本地化软件开发测试工作。张胜拥有复旦大学计算机系硕七和学上学位。

内容简介

谈论软件质量的方法有很多,感兴趣的听众也有很多。本书是为软件测试人员而写的,写的是一种我认为比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。 任何一个软件公司发布的产品都有缺陷。缺陷是怎么引入的?为什么没有在代码审核、单元测试、静态分析或其他面向开发人员的活动中把它们找出来?为什么自动化测试没有找出它们?那些缺陷有些什么特质使其能逃过手工测试? 什么是找出产品缺陷的最好方法? 本书针对的正是最后一个问题。在第2章“手工测试”中,我提出了一个观点:因为用户是在使用软件过程中找到这些缺陷的,所以我们的测试人员也应该通过使用软件来找到它们。无论使用自动化测试和单元测试,还是其他一些手段,都难以接触到这些缺陷。无论测试人员怎么实现自动化测试,即使全部都自动化,这些缺陷还是会处处作怪,并在产品中屡屡重现从而伤害最终用户。 问题在于很多现代化手工测试实践都缺乏目的性,随机性强且重复性强。有些人可能还会加上一条:手工测试无聊透顶。本书试图为手工测试流程提供一些指导、技术和规划。 在第3章“局部探索式测试法”中,针对测试人员在运行任何一个测试用例时都需要做出很多细微的战术层面决定,我给出了详尽的指导建议。测试人员必须决定对于某个特定的输入字段应该使用什么输入值,或者给应用程序使用的文件提供什么数据。在测试过程中,必须做出许多这样的小决定。在缺乏指导的情况下,这些决定常常是未经分析且不是最优化的。在向一个文本框内输入一个数时,选择整数4难道就胜过整数400么?应该用长度为32字节的字符串还是长度为256字节的字符串?选择一个而不选另一个是有一定道理的,这一切都取决于处理该输入的软件的具体情况。鉴于测试人员每天都要做出数百次这样的小决定,在这里提供有效的指导建议显得至关重要。 在第4章“全局探索式测试法”中,针对测试人员在编制测试计划和测试用例设计时需要考虑哪些广泛的战略性问题,我也给出了一些指导建议。这些技术都基于“漫游测试”(tour)概念,如同一个导游带领旅游团队参观大都市中一系列著名景点一样,这种漫游测试法指出的路线可以指导测试人员如何探索软件的方方面面。这里的探索并不一定是随机的或者漫无目的的。本书所记录的方法已经成为微软和谷歌的许多测试人员日常工作的一部分。诸如“地标测试法”(landmark tour)和“极限测试法”(intellectual’s tour)等词汇已经列入了...

图书目录

第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