探索式软件测试

探索式软件测试
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , , ,
2010-04
版次: 1
ISBN: 9787302223849
定价: 35.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 230页
字数: 373千字
正文语种: 简体中文
原版书名: Exploratory Software Testing
270人买过
  •   谈论软件质量的方法有很多,感兴趣的听众也有很多。本书是为软件测试人员而写的,写的是一种我认为比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。  任何一个软件公司发布的产品都有缺陷。缺陷是怎么引入的?为什么没有在代码审核、单元测试、静态分析或其他面向开发人员的活动中把它们找出来?为什么自动化测试没有找出它们?那些缺陷有些什么特质使其能逃过手工测试?  什么是找出产品缺陷的更好方法?  本书针对的正是最后一个问题。在第2章“手工测试”中,我提出了一个观点:因为用户是在使用软件过程中找到这些缺陷的,所以我们的测试人员也应该通过使用软件来找到它们。无论使用自动化测试和单元测试,还是其他一些手段,都难以接触到这些缺陷。无论测试人员怎么实现自动化测试,即使全部都自动化,这些缺陷还是会处处作怪,并在产品中屡屡重现从而伤害最终用户。  问题在于很多现代化手工测试实践都缺乏目的性,随机性强且重复性强。有些人可能还会加上一条:手工测试无聊透顶。本书试图为手工测试流程提供一些指导、技术和规划。  在第3章“局部探索式测试法”中,针对测试人员在运行任何一个测试用例时都需要做出很多细微的战术层面决定,我给出了详尽的指导建议。测试人员必须决定对于某个特定的输入字段应该使用什么输入值,或者给应用程序使用的文件提供什么数据。在测试过程中,必须做出许多这样的小决定。在缺乏指导的情况下,这些决定常常是未经分析且不是优化的。在向一个文本框内输入一个数时,选择整数4难道就胜过整数400么?应该用长度为32字节的字符串还是长度为256字节的字符串?选择一个而不选另一个是有一定道理的,这一切都取决于处理该输入的软件的具体情况。鉴于测试人员每天都要做出数百次这样的小决定,在这里提供有效的指导建议显得至关重要。  在第4章“全局探索式测试法”中,针对测试人员在编制测试计划和测试用例设计时需要考虑哪些广泛的战略性问题,我也给出了一些指导建议。这些技术都基于“漫游测试”(tour)概念,如同一个导游带领旅游团队参观大都市中一系列著名景点一样,这种漫游测试法指出的路线可以指导测试人员如何探索软件的方方面面。这里的探索并不一定是随机的或者漫无目的的。本书所记录的方法已经成为微软和谷歌的许多测试人员日常工作的一部分。诸如“地标测试法”(landmark tour)和“极限测试法”(intellectual’s tour)等词汇已经列入了手工测试人员的标准词汇表中。测试技术以前确实被称作“漫游”,但是用整个旅游业来隐喻软件测试,并在测试实际发布的应用程序时,大规模使用这些隐喻的名称,还属于本书的一个创举。  全局探索式测试法对于制定完整的测试策略给出了指导建议。例如,如何创建一组特性覆盖率(feature coverage)较高的测试用例?如何确定是否要在一个单独的测试用例中使用多个特性?如何创建一个完整的测试用例套件(test case suite),从而使软件尽可能地满负荷工作以便能找到更多重要的缺陷?这些都是设计测试用例和保证测试套件质量时必须解决的重大问题。  在第5章“混合探索测试技术”中,通过把探索式测试和传统的脚本或基于场景的测试技术相结合,进一步扩展了漫游的概念。我们将讨论如何修改各种端到端场景(end-to-end scenario)、测试脚本(test script)或用户故事(user story),来创造更多的变化情况,以激发传统静态测试技术查找缺陷的潜力。  在第6章“探索式测试的实际应用”中,来自微软不同产品组的五位客串作者提供了他们使用漫游技术后得到的经验报告。这些作者和他们的团队在真实的开发环境中,把漫游方法应用在真实的软件上。他们记录了各自是如何使用漫游、修改漫游甚至创建自己的漫游的。这些内容来自于使用漫游法测试重要的关键软件产品的测试人员,属于真正的第一手资料。  最后,我用两章内容总结前面各章所讨论的内容。在第7章“漫游测试的棘手问题”中,描述了我认为的测试中最困难的几个问题,以及如何将那些具有高度针对性的探索式测试方法融入一个更广泛的解决方案中。在第8章“软件测试的未来”中,我更进一步讨论在未来几年中,诸如虚拟化、可视化甚至电视游戏之类的技术将如何改变测试的面貌。附录包括我对测试职业生涯的看法,收集了我以前一些深受读者喜爱的文章(加入了一些新的注解),其中一些文章已经无法在其他地方看到了。  写这本书对我来说是一种享受,我希望你阅读本书也是一种享受。
      JamesA.Whittaker,近日已加入谷歌担任测试工程主管,他曾在微软担任VisualStudioTeamSysterTl架构师,负责为微软测试业务主导产品策略,并领导内部团队应用探索式软件测试。
      Whittaker博士曾在佛罗里达理工学院担任计算机科学教授一职。在校期间,他被TheJourhalofSystemsandSoftware授予“首席学者”称号,并领导一个研究团队创建了许多领先的测试工具和技术,包括备受称赞的运行时错误注入工具Holodeck。Wtlittaker博士还著有《如何攻破软件》、《如何破坏软件安全》和《如何破坏网络软件》。他发表过50+有关软件开发和安全的同级评审论文。他持有安全测试和安全防御技术方面多项发明的专利。

      译者简介:
      方敏,现任微软业洲工程院UIS项目首席测试部门主管,拥有20年软件测试管理和开发的丰富经验,曾参加过微软多项重大产品和技术的研制,包括UIS,WindowsServer/Client/Security,SQLServer,ExchangeServer,MSN,COM+Services,WindowsMedi和微软内部IT工具等。方敏曾在清华大学获得电子工程学士和硕士学位,在美国新墨西哥技术学院获得计算机硕士学位。

      张胜,现任微软总部高级软件开发测试主管,拥有10余年软件开发测试和团队管理经验,参与VisualStudio,SQLServer和OfficeLive的开发测试与发布,现主管OfficeCommunicationsServer本地化软件开发测试工作。张胜拥有复旦大学计算机系硕七和学上学位。 第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
    DynamicsAX客户端的漫游86
    有用的探索漫游87
    收藏家测试法和收集缺陷89
    漫游测试提示92
    利用漫游查找隐错94
    测试用例管理解决方案的测试94
    取消测试法95
    破坏测试法96
    快递测试法97
    测一送一测试法98
    在WindowsMobile设备中的
    漫游实践98
    我的测试方法和哲学99
    漫游测试法找到的有趣缺陷101
    破坏测试法实例102
    超模测试法实例103
    Windows媒体播放器的漫游测试
    实践105
    Windows媒体播放器105
    遍历测试法106
    超模测试法108
    极限测试法109
    与WMP相关的25个“假如”
    类型的问题109
    极限测试法:边界之旅110
    停车场测试法及其在VisualStudio
    TeamSystem测试版的应用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
    附录2JW的专业博客摘录151
    教我一些东西吧151
    软件诫律151
    测试错误代码157
    真正的职业测试人员,请上前一步160
    我找到的一些常见的共同特性
    (无特别顺序)161
    建议总结162
    三击不中出局,是新的打击手上场的
    时候了163
    正式方法164
    工具164
    流程改进165
    第四种提案166
    软件测试是艺术、技巧或学科?166
    恢复对软件行业的尊重169
    事与愿违的过去170
    寻找更好的方法171
    分析安全漏洞和质量问题的
    流程171
    附录3JW微软博客修订版175
    加入博客圈175
    2008年7月176
    开篇176
    PEST(泡吧与软件测试)177
    测试人员评估179
    预防与治疗(一)181
    用户与John182
    手工测试人员的赞歌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
  • 内容简介:
      谈论软件质量的方法有很多,感兴趣的听众也有很多。本书是为软件测试人员而写的,写的是一种我认为比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。  任何一个软件公司发布的产品都有缺陷。缺陷是怎么引入的?为什么没有在代码审核、单元测试、静态分析或其他面向开发人员的活动中把它们找出来?为什么自动化测试没有找出它们?那些缺陷有些什么特质使其能逃过手工测试?  什么是找出产品缺陷的更好方法?  本书针对的正是最后一个问题。在第2章“手工测试”中,我提出了一个观点:因为用户是在使用软件过程中找到这些缺陷的,所以我们的测试人员也应该通过使用软件来找到它们。无论使用自动化测试和单元测试,还是其他一些手段,都难以接触到这些缺陷。无论测试人员怎么实现自动化测试,即使全部都自动化,这些缺陷还是会处处作怪,并在产品中屡屡重现从而伤害最终用户。  问题在于很多现代化手工测试实践都缺乏目的性,随机性强且重复性强。有些人可能还会加上一条:手工测试无聊透顶。本书试图为手工测试流程提供一些指导、技术和规划。  在第3章“局部探索式测试法”中,针对测试人员在运行任何一个测试用例时都需要做出很多细微的战术层面决定,我给出了详尽的指导建议。测试人员必须决定对于某个特定的输入字段应该使用什么输入值,或者给应用程序使用的文件提供什么数据。在测试过程中,必须做出许多这样的小决定。在缺乏指导的情况下,这些决定常常是未经分析且不是优化的。在向一个文本框内输入一个数时,选择整数4难道就胜过整数400么?应该用长度为32字节的字符串还是长度为256字节的字符串?选择一个而不选另一个是有一定道理的,这一切都取决于处理该输入的软件的具体情况。鉴于测试人员每天都要做出数百次这样的小决定,在这里提供有效的指导建议显得至关重要。  在第4章“全局探索式测试法”中,针对测试人员在编制测试计划和测试用例设计时需要考虑哪些广泛的战略性问题,我也给出了一些指导建议。这些技术都基于“漫游测试”(tour)概念,如同一个导游带领旅游团队参观大都市中一系列著名景点一样,这种漫游测试法指出的路线可以指导测试人员如何探索软件的方方面面。这里的探索并不一定是随机的或者漫无目的的。本书所记录的方法已经成为微软和谷歌的许多测试人员日常工作的一部分。诸如“地标测试法”(landmark tour)和“极限测试法”(intellectual’s tour)等词汇已经列入了手工测试人员的标准词汇表中。测试技术以前确实被称作“漫游”,但是用整个旅游业来隐喻软件测试,并在测试实际发布的应用程序时,大规模使用这些隐喻的名称,还属于本书的一个创举。  全局探索式测试法对于制定完整的测试策略给出了指导建议。例如,如何创建一组特性覆盖率(feature coverage)较高的测试用例?如何确定是否要在一个单独的测试用例中使用多个特性?如何创建一个完整的测试用例套件(test case suite),从而使软件尽可能地满负荷工作以便能找到更多重要的缺陷?这些都是设计测试用例和保证测试套件质量时必须解决的重大问题。  在第5章“混合探索测试技术”中,通过把探索式测试和传统的脚本或基于场景的测试技术相结合,进一步扩展了漫游的概念。我们将讨论如何修改各种端到端场景(end-to-end scenario)、测试脚本(test script)或用户故事(user story),来创造更多的变化情况,以激发传统静态测试技术查找缺陷的潜力。  在第6章“探索式测试的实际应用”中,来自微软不同产品组的五位客串作者提供了他们使用漫游技术后得到的经验报告。这些作者和他们的团队在真实的开发环境中,把漫游方法应用在真实的软件上。他们记录了各自是如何使用漫游、修改漫游甚至创建自己的漫游的。这些内容来自于使用漫游法测试重要的关键软件产品的测试人员,属于真正的第一手资料。  最后,我用两章内容总结前面各章所讨论的内容。在第7章“漫游测试的棘手问题”中,描述了我认为的测试中最困难的几个问题,以及如何将那些具有高度针对性的探索式测试方法融入一个更广泛的解决方案中。在第8章“软件测试的未来”中,我更进一步讨论在未来几年中,诸如虚拟化、可视化甚至电视游戏之类的技术将如何改变测试的面貌。附录包括我对测试职业生涯的看法,收集了我以前一些深受读者喜爱的文章(加入了一些新的注解),其中一些文章已经无法在其他地方看到了。  写这本书对我来说是一种享受,我希望你阅读本书也是一种享受。
  • 作者简介:
      JamesA.Whittaker,近日已加入谷歌担任测试工程主管,他曾在微软担任VisualStudioTeamSysterTl架构师,负责为微软测试业务主导产品策略,并领导内部团队应用探索式软件测试。
      Whittaker博士曾在佛罗里达理工学院担任计算机科学教授一职。在校期间,他被TheJourhalofSystemsandSoftware授予“首席学者”称号,并领导一个研究团队创建了许多领先的测试工具和技术,包括备受称赞的运行时错误注入工具Holodeck。Wtlittaker博士还著有《如何攻破软件》、《如何破坏软件安全》和《如何破坏网络软件》。他发表过50+有关软件开发和安全的同级评审论文。他持有安全测试和安全防御技术方面多项发明的专利。

      译者简介:
      方敏,现任微软业洲工程院UIS项目首席测试部门主管,拥有20年软件测试管理和开发的丰富经验,曾参加过微软多项重大产品和技术的研制,包括UIS,WindowsServer/Client/Security,SQLServer,ExchangeServer,MSN,COM+Services,WindowsMedi和微软内部IT工具等。方敏曾在清华大学获得电子工程学士和硕士学位,在美国新墨西哥技术学院获得计算机硕士学位。

      张胜,现任微软总部高级软件开发测试主管,拥有10余年软件开发测试和团队管理经验,参与VisualStudio,SQLServer和OfficeLive的开发测试与发布,现主管OfficeCommunicationsServer本地化软件开发测试工作。张胜拥有复旦大学计算机系硕七和学上学位。
  • 目录:
    第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
    DynamicsAX客户端的漫游86
    有用的探索漫游87
    收藏家测试法和收集缺陷89
    漫游测试提示92
    利用漫游查找隐错94
    测试用例管理解决方案的测试94
    取消测试法95
    破坏测试法96
    快递测试法97
    测一送一测试法98
    在WindowsMobile设备中的
    漫游实践98
    我的测试方法和哲学99
    漫游测试法找到的有趣缺陷101
    破坏测试法实例102
    超模测试法实例103
    Windows媒体播放器的漫游测试
    实践105
    Windows媒体播放器105
    遍历测试法106
    超模测试法108
    极限测试法109
    与WMP相关的25个“假如”
    类型的问题109
    极限测试法:边界之旅110
    停车场测试法及其在VisualStudio
    TeamSystem测试版的应用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
    附录2JW的专业博客摘录151
    教我一些东西吧151
    软件诫律151
    测试错误代码157
    真正的职业测试人员,请上前一步160
    我找到的一些常见的共同特性
    (无特别顺序)161
    建议总结162
    三击不中出局,是新的打击手上场的
    时候了163
    正式方法164
    工具164
    流程改进165
    第四种提案166
    软件测试是艺术、技巧或学科?166
    恢复对软件行业的尊重169
    事与愿违的过去170
    寻找更好的方法171
    分析安全漏洞和质量问题的
    流程171
    附录3JW微软博客修订版175
    加入博客圈175
    2008年7月176
    开篇176
    PEST(泡吧与软件测试)177
    测试人员评估179
    预防与治疗(一)181
    用户与John182
    手工测试人员的赞歌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
查看详情
您可能感兴趣 / 更多
探索式软件测试
争吵的恋人:我们为什么相爱,又为什么争吵
[美]约翰·金,[美]瓦妮莎·贝内特
探索式软件测试
蒙特卡洛的密码锁(数学大师的逻辑课) 文教科普读物 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
探索式软件测试
福尔摩斯的棋盘:关于国际象棋的推理题(数学大师的逻辑课)
[美]雷蒙德·m.斯穆里安
探索式软件测试
《生命大设计.重构》(关于“生命创造现实”这一惊人事实,独特且完整的科学探索与哲学诠释)
[美]鲍勃·伯曼 著;杨泓 译;[美]罗伯特·兰札;马泰·帕夫希奇(斯洛文尼亚)
探索式软件测试
杰出投资者的底层认知:成功投资与明智创富的10个茅塞顿开之问(《聪明的投资者》新时代精华版)
[美]J.戴维·斯坦恩(J.David Stein) 著;刘寅龙 译;庞鑫
探索式软件测试
浴缸里的海洋
[美]塞思·菲什曼
探索式软件测试
新视界文库-生命故事:生物学上的伟大发现
[美]肖恩·B.卡罗尔
探索式软件测试
洛丽塔原型:小说《洛丽塔》背后的萨莉?霍纳绑架案
[美]萨拉·魏恩曼 著;真故图书 出品
探索式软件测试
托尔斯泰
[美]莉莎·克纳普(Liza Knapp)
探索式软件测试
奇迹之门 《纽约时报》畅销书作家写给孩子的一封“成长家书”。让父母的爱与肯定,成为孩子探索世界的底气。拥抱成长的不确定性,打开通向无限可能的“奇迹之门”。
[美]艾莉森·麦基/文 (美) 柳泰恩 图
探索式软件测试
全球通史(全六册)(另一个角度的“全球通史”,不一样的视野与新知。以地理为骨,历史为肉,一部超级丰满的世界通史。)
[美]塞缪尔·古德里奇 译者:冷惠玲、冯佳娜、王小忠、孙丽霞、李江艳
探索式软件测试
《星际争霸》动画影像艺术
[美]罗伯特·布鲁克斯