首页>参考读物>计算机科学与技术>软件工程及软件方法学

探索吧!深入理解探索式软件测试
作者 : (美)Elisabeth Hendrickson 著
译者 : 徐毅 译 李晓辉 审校
出版日期 : 2014-02-13
ISBN : 978-7-111-45158-7
定价 : 39.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 169
开本 : 16
原书名 : Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing
原出版社: Pragmatic Bookshelf
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书介绍探索性软件测试方法,可用于揭示软件的风险与潜在问题,从前一个测试中了解的问题来进行下一个测试,而不是事先定制好测试流程,介绍了各种探索式测试方法,包括如何分析软件来找出漏洞的关键问题,如何设计小的测试实验,如何提高测试技巧,如何观察问题,如何锁定问题。软件开发充满了不确定因素,无论开发者多么仔细、水平有多高,都无法完全掌控软件开的结果,探索性测试方法能够减轻这些风险。本书适用于各种软件开发:包括嵌入式系统、Web应用程苏、桌面应用程序、API等,都可以用本书介绍的方法,内容丰富,可操作性强。

第一部分介绍探索性测试的核心方法,包括流程与技巧,观察到底发生了什么(这并不简单),找出相关的变化点,当以意想不到的方式测试软件时,会发生什么。第二部分介绍基础内容,探索性测试的基本方法的变化方式,例如交互、数据、时间、配置等,并结合分析技术如状态建模、数据建模、定义上下文图等。第3部分介绍了一个具体的软件项目如何应用探索性测试方法,从软件开发开始,涉及整个开发周期。

图书特色

Elisabeth Hendrickson  业内公认、世界知名的大师级敏捷软件测试专家,她的“测试启发法速查表”在业内广为流传,帮助了无数的测试工作者。她还是Google Tech Talk on Agile Testing系列技术视频的组织者。2010年敏捷联盟为她颁发了Gordon Pask奖,以表彰她为敏捷测试领域所做出的卓越贡献。她早在1980年就开始了软件开发生涯,一直很注重发掘软件中的bug。她在敏捷开发领域不遗余力地教学、演讲、写作、编码,痴迷于软件测试,为敏捷软件测试做出了巨大贡献。
译者简介徐毅 中国最有经验的敏捷及精益教练之一,也是敏捷测试、测试自动化以及RobotFramework方面的专家,曾在多家知名企业担任敏捷教练或顾问,在亲身实践和辅导各行业客户实践的过程中,积累了丰富的专业经验,涉猎的领域包括软件测试、测试自动化、Scrum、敏捷软件开发、团队管理等。
个人主页:http://kaverjody.com
LinkedIn:http://linkedin.com/in/kaveri
审校者简介李晓辉 大众点评网的资深QA和商务线QA负责人,对于测试和敏捷都有很深的理解。
探索式测试是敏捷团队中不断升温的一个热门话题,本书对此话题进行了全面而详细的阐述,适合于所有真心关注软件质量问题的敏捷团队成员,特别是敏捷团队的测试工作者。本书不但思路清晰、文笔优美,而且内容实用,作者以讲故事的方式娓娓道来,让阅读也变成了一种享受。即便是那些各种技巧已用多年的测试老鸟,也一样可以洞悉新知、明晓其中微妙,还能学会借助新方式运用现有技能去帮助团队。管理人员和开发人员则能从中学到怎样将探索式测试贯穿项目开发的前、中、后期,帮助提高开发效率并免受困扰。

主要内容包括:
如何设计探索思路,执行小巧、快速的测试方法
如何分析软件,找出关键问题以发现漏洞
如何改变交互、顺序、数据、时间点和配置进行探索
如何利用状态建模和数据建模等分析技术辅助探索
如何设计小的测试实验
如何提高测试技巧,如何观察问题,如何锁定问题
如何探索无用户接口的软件
“Elisabeth开创了将探索式测试应用于敏捷开发的先河,并推动它不断演进,使其成为了一种主流实践。”
——Ward Cunnningham
wiki概念的发明者
设计模式和敏捷软件方法的先驱之一
“这是我看到的最佳书籍之一。优良的测试设计源自优良的测试思路,这本书里满是各种优秀的测试思路,辅以故事情节烘托,涎玉沫珠。”
——Alan Page
微软公司Principal SDET
《微软的软件测试之道》作者

图书前言

欲获真知,必探索之。
  用这话说城市绝对没错。我总会在旅行的时候,多多少少预留出一点时间,漫步背街小巷,寻找隐藏的“宝石”。我会逃离旅游区,专找那种只有当地人才会去的餐馆,以及那些服务于日常生活所需的店铺。我就是从这闲逛之中开始理解当地文化、认识此地真实面貌的。
  对软件来说也是一样的道理。想了解你们软件的真正能力和局限,就得打破常规,不走寻常路。
  然而,漫无目的的闲逛和真正的探索是有区别的,Indexed网络漫画集的作者Jessica Hagy就用一幅“实地笔记”形象地描绘了这个区别。

  Jessica的漫画传达了一条重要的警示信息。如果没有方向或目的,就算你长时间地漫步也不会有多少收获,你会迷失的。
  这本书讲的就是如何做好探索。成为一名探索大师的必备技能技术就藏在书中等着你去发现。
本书是写给谁看的
  或许你觉得,这是一本讲软件测试的书,自然就是给测试人员看的。没错,但不只是测试人员。这本书我为那些关心如何产出可靠又健壮的软件的人们而写。他们包括程序员、业务分析师、产品经理,甚至支持人员,虽然支持人员通常都得等到软件接近完工时才能得见软件的庐山真面目。
  如果你是一名测试人员,已牢牢掌握状态分析等测试设计技术,那么你将能学会如何在进行探索的过程中运用那些技能设计测试。
  如果你是一名程序员,对底层技术有很深的理解,你将会学到如何通过不同焦距镜头观察软件,对它进行多视角透视分析。
  如果你是一名业务分析师或产品经理,你会学到如何换用多种方式与软件进行交互,以确保它在更多不同环境中都能实现你的意图。
  如果你是支持人员,你将发现如何加深自己对所支持软件的理解。或许你还能从中学会若干技巧,用来复现那些难以重现的客户故障。
  简单点说就是,只要你跟创建软件这事有那么一丁点的关系,不管是做规格说明的、写程序的、搞验证的还是搞支持的,这本书都适合你。
  本书不挑软件种类。书中技术可适用的技术环境范围很广,从网络应用到桌面应用、移动应用、嵌入式实时软件、API和网络服务,都适用。
本书的组织方式
  本书主要分为如下三大部分:
  第一部分,奠定基础,介绍那些要熟练掌握探索所需的核心构件。从这部分内容中你将学到:如何精制那些指引探索活动的探测章程;如何观察真实发生的情况(提示:它可比听起来困难多了);如何识别出有意义的变种;在采取前无古人的方式执行软件的情况下,如何确定应该期待什么样的行为。
  第二部分,增加维度,在基础之上进行延伸。你将学到如何改变交互、顺序、数据、时间点和配置进行探索。学完本部分后,你也将学会如何利用状态建模和数据建模等分析技术辅助你的探索。
  第三部分,结合场景,把技术带回到软件项目的场景中。你将学到如何在不同场景下运用前两部分中讲述的那些理念,包括对既有(遗留)应用和无用户接口软件进行的探索。你还将学会如何分享你的发现,以及如何让探索从一开始就融入到开发周期之中。
  你可以按任何顺序阅读这些章节,然而,按先后顺序阅读各部分内容效果最佳。
  提升探索技能不可缺少练习。为了实现这个目的,每章末尾都设有“练习题”环节,它们能够帮你巩固对概念的理解,还提供了如何立刻应用这些概念的思路。
  你会发现,整本书贯穿始终都在介绍各种有针对性的技术或启发法。每个启发法都有名称,比如“部分、全无、全部”或 “开始、中间、结束”。启发法的名称首字母皆为大写,易于识别,你还可以在附录2中查阅其完整列表。
在线资源
  所有Pragmatic Bookshelf出版的书籍都有一个配套网页,本书也不例外。访问http://pragprog.com/book/ehxta/explore-it,你就能与其他读者和我一起讨论,还能提交勘误(如果你找到任何勘误,我都很希望你能花点时间告诉我)。
  祝你快乐探索!
Elisabeth Hendrickson
elisabeth@testobsessed.com
2013年2月

专家评论

读这本书让我学到了新技能和新“启发法”,更棒的是,它能帮助我更有创造性且更有效地打造自己的测试人“蜘蛛感应”。这本书我一直放在手边,时不时地翻一翻,做一做书里的练习题,能让我保持意识敏锐。我需要确保我们的软件能带给客户和公司实实在在的价值,这本书对我帮助很大,它一定也能帮到你。
    ——Lisa Crispin
    《敏捷软件测试:测试人员与敏捷团队的实践指南》作者之一(与Janet Gregory合著)
  这本书就像一颗重磅炸弹。Elisabeth满足了你所有想象,书里满满当当都是实用性理念,你可以运用这些理念探索从典型GUI场景到测试思路(需求)的一切,她还给程序员们提出了如何探索低层级代码的建议。这本书不只属于测试人员,还应该出现在每一名开发团队成员的桌面上。这是一本我到任何地方给开发团队介绍探索式测试时都会带上的好书。
    ——Janet Gregory
    《敏捷软件测试:测试人员与敏捷团队的实践指南》作者之一(与Lisa Crispin合著)
  在Moolya,我们一直想知道如何才能帮助测试新手们上手探索式测试。本书出现得很及时,能够帮助我们解决手头上的问题。
    ——Pradeep Soundararajan
    Moolya软件测试私人有限公司创始人
  这本书是一个宝藏,包含了探索式测试的精妙和深奥内容。这是我读过的最佳测试设计书之一。优良的测试设计源自优良的测试思路,这本书里满是各种优秀的测试思路,辅以故事情节烘托,涎玉沫珠。
    ——Alan Page
    微软
  多年前我们相见之时,Elisabeth Hendrickson就已经在写这本书了。它值得等待!探索式测试领域亟需一部写作精良的书籍,这本书就探索了探索式测试这个话题。这本书不但写得清楚、文笔很好,内容也实用,而且Elisabeth以讲故事的方式娓娓道来,让阅读变成了一种享受。强烈推荐,探索这本书吧。
    ——Bas Vodde
    Odd-e
  这本书满载大量的实用建议,诠释了如何规划和执行探索式测试,探索式测试是敏捷团队中不断升温的一个热门话题。本书围绕这个话题进行了介绍,它适合所有真心关切质量问题的敏捷项目成员;和敏捷团队一起工作的测试人员则会发现,它尤为有效,可以用作调查时的参考。我觉得有关启发法的那几章最有意思,这几章介绍了多种启发法可用于探索有趣之物,包括如何识别变量、区分顺序和交互,以及如何探索状态转换。
    ——Gojko Adzic
    《实例化需求》等多本著作的作者
  Elisabeth写的这本书应该摆上每一个团队的书架,有口皆碑而且经常被引用。她以浅显易懂、易于理解的文笔风格诠释了探索式测试是什么,以及它不是什么(这点非常重要)。她讲趣事、举实例,借此解释和阐明她给出的建议。我衷心地把这本书推荐给参与测试真实世界软件系统的所有人。
    ——Shane Hastie

  一听到这本书已出版的消息,我就告诉自己一定要尽快拿到并读完这本书。Elisabeth提供的实用指导让我欣喜若狂、获益匪浅。我的探索式测试课程有一份推荐阅读清单,其中探索式测试的位置上尚有空缺,而本书弥补了这个缺憾。
    ——Markus G?rtner
    《验收测试驱动开发:ATDD实例详解》作者,it-agile有限责任公司(德国)
  这本书超级棒,这是一份不仅属于测试人员更是属于整个开发团队的精要指南。测试新人很快就能学会如何找到数不清的有效测试思路。测试老鸟虽已使用那些技术很多年,也能从中洞悉新知、明晓微妙,还能学会借助新方式运用现有技能去帮助团队。管理人员和开发人员将能学到如何将探索式测试贯穿到开发前、中、后期全程,以便保持高成效并免受困扰。
    ——Dale Emery
    顾问

上架指导

计算机\软件工程

封底文字

“Elisabeth开创了将探索式测试应用于敏捷开发的先河,并推动它不断演进,使其成为了一种主流实践。”
——Ward Cunnningham,wiki概念的发明者,设计模式和敏捷软件方法的先驱之一

“这是我看到的最佳书籍之一。优良的测试设计源自优良的测试思路,这本书里满是各种优秀的测试思路,辅以故事情节烘托,涎玉沫珠。”
——Alan Page,微软公司Principal SDET,《微软测试之道》的作者

探索式测试是敏捷团队中不断升温的一个热门话题,本书对此话题进行了全面而详细的阐述,适合于所有真心关注软件质量问题的敏捷团队成员,特别是敏捷团队的测试工作者。本书不但思路清晰、文笔优美,而且内容实用,作者以讲故事的方式娓娓道来,让阅读也变成了一种享受。即便是那些各种技巧已用多年的测试老鸟们,也一样可以洞悉新知、明晓其中微妙,还能学会借助新方式运用现有技能去帮助团队。管理人员和开发人员则能从中学到怎样将探索式测试贯穿项目开发的前、中、后期,帮助提高开发效率并免受困扰。

本书包含内容
? 如何设计探索思路,执行小巧、快速的测试方法
? 如何分析软件,找出关键问题以发现漏洞
? 如何改变交互、顺序、数据、时间点和配置进行探索
? 如何利用状态建模和数据建模等分析技术辅助探索
? 如何设计小的测试实验
? 如何提高测试技巧,如何观察问题,如何锁定问题
? 如何探索无用户接口的软件

作者简介

(美)Elisabeth Hendrickson 著:暂无简介

译者简介

徐毅 译 李晓辉 审校:暂无简介

译者序

为测试而痴迷
  作为译者,肯定是应该为自己的翻译作品写一篇译者序才对的,但我却真不知道该怎么来写这篇译者序才合适,刚写好几句一看觉得不好又删除重写,反复数次许久都无法定稿。
  打开谷歌(会被重定向到谷歌香港),搜索Elisabeth Hendrickson,在页面右侧的信息窗介绍了一位同名的美国女演员,然而在左边的搜索结果主页面则几乎全部都是这本书作者的信息。而当我搜索我自己名字的时候,我却怎么也无法出现在都市快报知名记者的前面。这让我感觉到很是佩服。
  Elisabeth是一位和蔼可亲的女士,总是面带着笑容、充满了激情。2007年10月的时候我第一次见到她,她为我们(前诺基亚网络)杭州研发中心提供敏捷测试相关的培训,我参加了她整整5天的培训,内容涵盖敏捷测试、ATDD、探索式测试等话题。当时我正处于职业生涯的低潮期,因为测试理念得不到认同,我有些怀疑自己所坚持的方向是否正确。然而,在她的课堂上,我却找到了共鸣,得到了认可,她的鼓励也给予了我想要成为一名教练的勇气。从这个角度来讲,Elisabeth还是我的人生导师。
  当时有几件事情给我留下了极其深刻的印象,一是她所使用的道具读字笔,以及她那份著名的变量参考清单,还有就是她发给大家的“Test Obsessed”手环。在测试之中学习测试,这是她一直所秉持的理念,那天的课堂也就是在不断地尝试使用读字笔的过程中去学习探索式测试。而那份变量参考清单,在业内流传数年之后,终于在今天正式地出现在了书本之中。
  在课堂上刚拿到“Test Obsessed”手环的时候,我想到的是:“哇,上测试培训居然还有耐克手环可以拿,唉,好像不是嘛,Test Obsessed是啥意思呢?”。
  再次见到Elisabeth,是2009年在德国柏林参加Agile Testing Days会议的时候,她是Keynote讲师,她在欢呼声中走上台发表演讲。演讲中,讲到激动时,她向大家呼喊“I’m Test Obsessed! Are you?”,她还特地向着坐在前排的我挥动手臂,那时候的我正兴奋着自己成为了一名“敏捷开发教练”,测试的日子已然远去,居然微笑地对她摇了摇头。多年以后,我才开始意识到当时的我是多么的愚蠢,我一直都深信,测试的很多思维不仅适用于工作也适用于生活,而那一刻,在她的面前,我却退缩了。Elisabeth则以她的热情和专业积极推动着敏捷测试,而这也为她赢得了2010年度的敏捷联盟Gordon Pask奖,该奖的设立正是为了表彰像她一样对敏捷实践做出了卓越贡献的人们。
  自从知道Elisabeth要写这本书,我就决定要把它抢下来翻译,只是我并没有想到其他人的热情也一样高涨,同时有好几个国家的人都在联系她要求翻译,我们甚至还成立了一个邮件组以便在翻译过程中交流对思想的理解和对文字的把控。有意思的是,德文版译者是一位女士,没有想到翻译书中一些小故事时用“她”、“他”还是中性“它”居然也是个需要斟酌的问题。对于简体中文版翻译来说,作为一名有经验但仍在不断探索中的译者,我始终想要在转述作者原意和加入少量诙谐之间保持平衡,希望大家能够喜欢,或者,委婉点说,叫做“少点批评,多提点建设性意见”。
  我很确信这篇译者序到此为止,但这本书到底有什么内容还一点儿都没见讲。不必惊奇为什么,本书内容翔实、紧凑、信息量巨大,想用简短的几句话来描述,实在是一个太艰巨的任务。
  倒不如,就让我们响应Elisabeth的号召,拿起这本书,开始探索吧!
徐毅
敏捷测试实践者
2013年12月24日凌晨于江苏

图书目录

译者序

鸣 谢
前 言
第一部分 奠定基础
第1章 关于测试与探索 2
1.1 测试的两面 3
1.2 探索式测试的基本要素 5
1.3 以限时探测会话开展工作 7
1.4 练习题 8
第2章 为探索制定探测章程 9
2.1 用探测章程指导探险 9
2.2 一个简单的探测章程模板 11
2.3 优质探测章程 13
2.4 产生探测章程 14
2.5 “噩梦头条”游戏 19
2.6 规划探测章程 22
2.7 练习题 23
第3章 观察细节 24
3.1 你看见那个熊了吗 24
3.2 挖得再深点 26
3.3 可测试性与让不可见变可见 29
3.4 控制台和日志 30
3.5 练习题 32
第4章 找出有意义的变化 33
4.1 变量就是会变化的事物 34
4.2 微妙变量,巨大灾难 36
4.3 识别变量 38
4.4 变量无处不在! 44
4.5 练习题 45
第5章 评估结果 46
5.1 绝不和始终 47
5.2 替代资源 49
5.3 近似 52
5.4 练习题 54
第二部分 增加维度
第6章 改变顺序和交互 58
6.1 名词和动词 58
6.2 随机导航 60
6.3 角色人物 61
6.4 练习题 63
第7章 探索实体及实体之间的关系 65
7.1 识别实体、属性和依赖 65
7.2 CRUD:创建、读取、更新、删除 68
7.3 跟随数据 71
7.4 练习题 71
第8章 发现状态和转换 73
8.1 找出状态和事件 73
8.2 绘制状态模型图 76
8.3 探索状态模型 78
8.4 改变其呈现:状态表格 80
8.5 练习题 82
第9章 探索生态系统 84
9.1 绘制生态系统图 84
9.2 信任边界 88
9.3 如果的话 89
9.4 跟随数据 92
9.5 练习题 92
第三部分 结合场景
第10章 没有用户接口的探索 94
10.1 探索API 94
10.2 探索编程语言 97
10.3 探索Web服务 99
10.4 细究Bug 101
10.5 练习题 102
第11章 探索现存系统 103
11.1 侦察探测会话打头 103
11.2 分享观察结果 106
11.3 采访干系人以收集问题 107
11.4 选择技术 109
11.5 记录调查结果 110
11.6 如何处理恐怖的不可重现型Bug 111
11.7 练习题 113
第12章 探索需求 115
12.1 进入需求会议 116
12.2 需求会议中 119
12.3 需求讨论过程中写下探测章程 122
12.4 积极阅读 124
12.5 练习题 126
第13章 整合探索、融会贯通 127
13.1 在测试策略中包含探索 127
13.2 结对探索 131
13.3 发现问题的系统性根源 133
13.4 估算探索 134
13.5 如何得知探索已够充分 135
13.6 向干系人汇报 136
13.7 捕捉有智慧的结晶 138
13.8 练习题 139
附录1 面试探索式测试技能 140
附录2 测试启发法速查表 144
参考文献 151

教学资源推荐
作者: (英)Bob Hughes; Mike Cotterell 著
作者: 刘小松 等编著
作者: Joseph Phillips
参考读物推荐
作者: Peter Herzum, Oliver Sims
作者: 国际软件测试资质认证委员会中国分会(ISTQB/CSTQB) 杭州笨马网络技术有限公司(PerfMa) 著
作者: Richard Hopkins Kevin Jenkins