测试书籍推荐探索吧深入理解探索式软

这次推荐一本适合工作1-3年测试人员阅读的书籍《探索吧!深入理解探索式软件测试》需要电子档,请回复   主要内容包括:   如何设计探索思路,执行小巧、快速的测试方法   如何分析软件,找出关键问题以发现漏洞   如何改变交互、顺序、数据、时间点和配置进行探索   如何利用状态建模和数据建模等分析技术辅助探索   如何设计小的测试实验   如何提高测试技巧,如何观察问题,如何锁定问题   如何探索无用户接口的软件

第1章 关于测试与探索   不管你的职位头衔是什么,你基本上肯定会发现自己其实经常都在做测试。创建任何事物,测试都是其中不可分割的一部分。测试就是与软件或系统进行交互、观察其真实行为并与你的预期做比较,在测试之前,你以为你知道的一切都只不过是推测而已。   在《PortraitsinSilicon》[Sla89]一书中,作者RobertSlater讲述了ENIAC团队构建这台世界上最早期计算机之一的故事。早期计算机体积巨大,几乎有一个房间那么大,在机器内部则有很多用电缆连接起来的机架组件。电缆的选择因而也成为一个至关重要的设计决策。正如Slater所言:   老鼠咬电缆是一个可能发生的麻烦事。为了进行测试,我们把一些老鼠关在笼子里,饿上一段时间,然后再扔进不同种类的电缆。我们发现,老鼠偏爱的正是ENIAC计划使用的那种电缆,于是我们就转而选择了其他电缆。   注意,这个团队的成员意识到他们面临一个风险,并把它转变成了他们自己可以回答的问题。他们不是去猜测啮齿类动物的饮食习惯,而是拿出不同种类的电缆扔给饥饿的老鼠。他们利用了试验结果作为采取行动的依据。测试的本质就在于此:设计一个试验以便收集经验证据,由此解答与风险相关的问题。   不同类型的测试解答不同类型的问题。若是想知道峰值负载下系统表现如何,得运行性能测试。若是想知道某小段代码是否吻合程序员意图,就得单独针对这段代码执行一套单元测试。如果你想知道用户能否在没有帮助的情况下靠自己玩转该软件,那就得实施易用性测试。   本章介绍了探索式测试有别于其他种类测试的地方,以及如何将它融入整体测试策略之中。   1.1 测试的两面   我对20年前的一次谈话仍然记忆犹新,就像是发生在昨天一样。我的同事Marchell指着她面前自己桌上厚厚的一叠纸,上面记着我们测试软件包某部分功能时所用到的测试用例。   她叹了一口气,说道:“太让人失望了,不管我们写多少测试,也不管我们执行多少测试用例,都没用,最严重的缺陷都只有在偏离脚本执行时才能找到。”   当时我并不知道有“探索式测试”这么回事,尽管在年的《计算机软件测试》[Kan88]书中CemKaner就早已造出了“探索式测试”这个术语。我只是知道,Marchell是对的。不管向测试套件里添加多少的测试用例,只要我们背离脚本执行,就必有惊喜。   自那次交谈至今这20年间,同样的情况重复发生,我已亲眼目睹过很多次:不管团队执行了多少预先计划好的测试用例,都总会有惊喜出现。   等组织发布软件将其公之于众之后,惊喜会变得更大、更糟。   没有什么奇葩怪事是用户做不出来的。生产数据有个惹人厌烦的趋势在于,它会变得跟选制数据样板有所不同。实际配置可不如测试机上那般整洁、干净和易于掌控。   真实世界是个乱糟糟的地方。   虽然很让人沮丧,但你必须得承认,事先准备好测试覆盖所有情形是根本就不可能做到的。数据、配置、交互、顺序和时间点的各种变化实在太多。试图创建可全面覆盖所有情况测试集的努力是徒劳的,只是编写测试就已自顾不暇,你压根就没时间去执行它们。   你需要的不是无所不包的完美测试集,而是能够解答如下两个核心问题的测试策略:   1.面对其理应能够处理的情况,软件的表现是否吻合预期?   2.是否存在其他风险?   检查   回答第一个问题,只需使用预先设计好的测试即可,检查该实现在既定配置和情况下的表现是否吻合预期。   你可以把这些检查想象成是一张“绊线网”,只要软件行为违背了预期,就会触发它,如下所示。检查的覆盖率越高,网就越细密。   然而,就算已经编织出了一张上等“绊线网”,你仍需回答第二个问题。探索就在此时登场亮相了。   探索   探索式测试专门针对“绊线网”尚未覆盖的区域进行侦察。你与实现进行互动,设计一系列微小型试验,并快速连续地执行它们,而且根据前一个试验结果来选择下一个试验。   发现了潜在的风险,那就探测得更深入些。运用你自己的能力进行观察和分析,并且即时调整你的调查方式。试验能带给你有关软件能力和局限的经验证据。在此过程中,你会发现自己又有了新问题需要解答,并为这些额外增加的类型的测试制订计划。   探索提供了一个可以穿越无限种可能变化直指风险所在之处的办法,而那些预计划弄出来的测试却做不到这一点。要想发现额外惊喜,重复性帮不了你,而变化(variation)却可以。   总之,这两个问题呈现出了测试的两面:检查软件是否满足预期,与探索它是否存在风险。仅凭其中任何一面都不足够。   已测试=已检查+已探索   除非你已检查过软件是否满足预期且探索过软件是否存在额外风险,否则你就不能算是完成了测试。一个完善的测试策略应能融合两种方式做到兼容并包。   继续阅读本书其余部分内容的时候,请谨记,本书只讨论上述等式中探索那一部分的内容。这是一本有关如何发现惊喜的技术指南,而不会覆盖软件测试的所有方面。   ……

豪之诺软件测试培训---软件测试的布道者









































白癜风的治疗
白癜风的发病原因


转载请注明地址:http://www.yujinxiangqiangzhi.com/rjjs/1889.html


  • 上一篇文章:
  • 下一篇文章:
  • 公司简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明