当笔者还是个软件测试小白的时候,我的英国测试主管有一天操着他浓重的伦敦口音对我说过:“Vincent,你知道吗,用例执行这种事情也许很多人都可以做。但是能将你们的测试经验和思考能力应用到探索性测试中,并将它发挥到极致,才是一种你们价值的最大体现方式。”
主管的这番话在我当时幼小的心灵内留下的深刻的印象,从此以后对于探索性测试我便开始了孜孜不倦的研究。
探索性测试,不但对于一个软件测试项目而言,是常规测试非常有效而且有益的补充;同时也是我们测试从业人员展示自己的技术和主观能动性的好平台。
那么我们要怎样去做好探索性测试,尽情的施展自己的测试才能呢?笔者想用这篇文章给大家提供一些方针和思路。
第一:探索性测试的定义
首先从定义上而言,探索性测试(Exploratory Test)是敏捷世界里的一种重要测试方法,作为一个研究性的工具,它是用户故事测试和自动化回归集的重要补充。它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景。探索测试将学习,测试设计和测试执行整合在一起,形成一种测试方法。
探索性测试重在‘探索’,他强调了我们在测试中的未知因素和我们对被测系统进行主动学习的过程。 探索是人类进步的重要步伐,正因为善于探索,哥伦布才发现了新大陆;正因为用于探索,阿波罗才登上了月球。探索性测试还强调测试设计和测试执行的同时性,这是相对于传统软件测试过程中严格的“先设计,后执行”来说的。测试人员通过测试来不断学习被测系统,同时把学习到的关于软件系统的更多信息通过综合的整理和分析,创造出更多的关于测试的想法。
我们可以通过下面的图来阐释探索性测试:
第二:探索性测试的定义
用语言来总结的话,探索性测试可以定义为由以下过程构成:
这里我们提到的识别,了解,发现,创建这个过程在探索性测试中可以多次循环,并且并没有固定的顺序限制。 我们可以先脑补出自己想要进行测试的点,然后再对这些点去进行探索;反之当然也可以先对系统进行探索,进而发现潜在的风险对象从而确定测试点。 探索性测试鼓励创新和发散性思维,在探索性测试中‘跑偏’是被允许的:
当然这种跑偏是受到你的测试目标范围,以及你当前测试纲领的限制的,否则无限跑偏的话,有限的时间就可能被投入到过于细枝末节的软件特性方面去了。 所以我们在探索性测试中的发散思维要有一个度,发散到一定程度后还要再收敛回来。例如,当发觉在一个测试的分支路径上已经花了很长时间也没有找到问题的答案时,则可以考虑先放弃那个区域的探索了,因为还有一个主线的测试任务在等着你。
第三:探索性测试的常用方法
探索性测试最主要应用到我们测试理论中的设计技术就是“基于经验的测试”和“错误推测法”了。 更具体一点的话,我们可以在测试中应用以下的一些思路:
了解了这些理论和方法,那么以后遇到你的测试主管发起探索性测试的时候,相信你就可以在团队中脱颖而出,让你的同僚们刮目相看了吧!
那么如果我的测试主管根本就不曾发起探索性测试呢?没关系,你自己也可以在时间允许的情况下,使用探索性测试的技术,对你所测过的功能进行一次深层次的探索,说不定就能打开新世界的大门呢。
如果你自己就是测试的主管,还没有意识到探索性测试的功效?接着往下看:
第四:探索性测试的益处
文章开头我们就提到,探索性测试对于测试团队是一种非常有益有效的补充,具体而言我们可以总结出以下的益处:
探索测试有这么多好处,但是我们也要注意他的局限性,不要陷入一些常见的误区,比如:
- 探索性测试是要遵循一定章法并符合测试要领的
- 尽管探索性测试是一种有效的测试方法,他不能替代最主体的系统测试
- 探索性测试更注重的是思考和学习,不断发现新的问题,而版本的回归测试,是对原有的功能的保证,为持续迭代提供质量把关。
好了,关于探索性测试我们就探讨到这,下次遇到探索性测试的机会时,去好好发挥你的测试才华吧!
原文:https://www.cnblogs.com/yingyingja/p/9642036.html