什么是探索性测试?

1、探索性测试的定义

探索性测试(ET)是敏捷世界里的一种重要测试方法,作为一个研究性的工具,它是用户故事测试和自动化回归集的重要补充。它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景。探索测试将学习,测试设计和测试执行整合在一起,形成一种测试方法。

探索性测试的最大特色是在对测试对象进行测试的同时学习测试对象并设计测试,在测试过程中运用获得的关于测试对象的信息设计新的更好的测试。他的典型过程如下图:

这相对于传统软件测试过程中严格的“先设计,后执行”来说,是具有很大区别的。

2、探索性测试的基本过程

探索性测试的基本过程包括如下:

识别软件系统的目的;

识别软件系统提供的功能;

识别软件系统潜在的不稳定的区域;

在探索软件系统的过程中记录关于软件的消息和问题;

创建一个测试纲要,使用它来执行测试。

注意:上面的过程是一个循环的过程,并且没有很严格的执行顺序,完全能够先创建测试纲要,执行测试,然后在测试中进修软件系统;也能够先探索软件系统的各个区域,然后再列出需要测试的要点。

探索性测试强调创新的测试思维,在测试过程中不断地出现许多关于测试的新想法,

因而就像一把叉,下图就是一个所谓的“探索叉”(exploratory forks)。

探索性测试强调测试过程中要有更多的发散思维,这也是与保守测试方式的最大区别。

保守测试方式强调设想完善的测试用例,测试人员严格按测试用例执行测试,这多少限制了测试人员的测试思维,测试人员往往缺乏主观能动性。

下图展示了一个发散思维的过程,探索性测试强调发散,但并不是盲目地发散,在适当的时候还要收敛回来。

例如,当发觉在一个测试的分支路径上已经花了很长时间也没有找到问题的答案时,则能够考虑先放弃那个区域的探索,因为还有一个主线的测试任务。

探索性测试尤其适合于那些需求不是很明确的测试任务,或者是一名刚刚接手一项新的测试任务的测试人员使用。

3、探索性测试的价值

3.1、探索性测试可以用来找到深层次的BUG。

因为探索性测试人员是优秀的观察者,他们观察不正常和不期望的结果,并进行认真的思考,这种状态和按部就班的执行用例是不一样的,因此,它更容易发现一些隐藏的很深的问题。

3.2、探索性测试可以加深测试人员对被测系统的了解。

探索性测试强调对被测试对象的学习,并且是在测试过程中的学习,并在此基础上设计测试,因此,它使测试人员更容易深入的理解被测系统。

4、探索性测试的误区

4.1、不要将探索性测试和随机测试混淆。

探索性测试不是在键盘前坐下并敲击,没有熟练技能,不会认真思考的“黑盒”测试人员所做的并不是探索性测试,一个合格的探索性测试人员需要认真思考和分析结果,并且在探索测试的过程中做记录。

4.2、不要将探索性测试和回归测试混淆。

探索性测试更注重的是思考和学习,不断发现新的问题,而版本的回归测试,是对原有的功能的保证,为持续迭代构筑安全网。重复的功能回归测试应该尽量用自动化的方式来完成,这样,才有足够的人力来进行探索性测试。

4.3、探索性测试不能用来评估软件质量。

尽管探索性测试是一种有效的测试方法,但是它不意味着是一种全面覆盖的测试方法。如果你要评估测试是否全面,可能你需要其他的手段。

什么是探索性测试?

时间: 2024-10-26 09:23:42

什么是探索性测试?的相关文章

入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试

黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面的具体构成和原理,只要像用户一样看待产品就可以了. 例如银行转账功能,不需要知道转账的具体实现代码是怎样工作的,只需要把自己想象成各种类型的用户,模拟多种转账情况看系统是否能正常转账即可. 但是仅仅像用户一样去测试又是不够的.如果只做黑盒测试,必然是存在一定的风险的. 例如某个安全性较高的软件系统,

探索性测试摘录

1.  探索性测试(Exploratory Testing,ET)是一种自由的软件测试风格,强调测试人员同时开展测试学习.测试设计.测试执行和测试结果评估等活动,以持续优化测试工作,具备即兴发挥.快速实验.动态调整等特征. 2.  探索性概念是测试专家Cem Kaner博士在1983年提出的,受到了语境驱动测试学派的支持. 3.实际实践操作特点 1)有策略地确定风险.加强沟通(向测试负责人了解哪些模块被发现的BUGS最多.哪些少.从而确定哪些模块为风险区域投入的时间较多): 2)关注细节,多使用

探索性测试入门

提纲: --什么是探索性测试 --探索性测试的来源 --探索性测试的指导思想 --探索性测试的相应测试方法 --探索性测试与传统测试风格的比较 1.什么是探索性测试 在概念上说,探索性测试是一种测试风格,而不是某一种具体的测试方法(等价类测试/边界测试等),它强调系统软件学习,设计测试用例以及测试执行同时进行,他适用于要求在短时间内以及测试需求频繁变更下寻找出重大缺陷的情况. 2.探索性测试的来源 探索性测试是由测试专家Cem Kaner博士在1983年的时候提出.测试专家James A. Wh

浅谈探索性测试

今天学习时看了一篇谈探索性测试的文章.有一点感触. 探索性测试如果在测试策略层面应该和应变式的测试策略相符合. 暂且不谈探索性测试的方法以及那些利弊. 只是简单的打个比喻,反应一下我对探索性测试的认知. 农村的孩子以前都放农忙假,要求学生去拾麦穗(好像语文课本里还有相关内容,叫颗粒归仓). 探索性测试就像捡麦穗,刚割完的麦子,确实能捡到不少丢的麦穗. 但是都捡过一遍甚至几遍了,再去捡,就捡的少了. 我们平时做探索性测试的关键也在此,只做一遍. 探索这个词是最能反映人类智慧的词,很费脑细胞,不要把

转:探索性测试

探索性测试,笔记一 一些有意义的条目: 1.考虑自动化是否能发现有价值的缺陷,是否经得起时间的考验,是否值得付出维护费用 2.决定需要测试什么和何时测试 *对于每一个被发现的缺陷,明确的讨论它应该在什么时候被发现 3.决定如何测试 *是否有一种特殊的路径引导人员找到这个缺陷 *这种功能或特许最好用哪种给定的方法来测试 *知道当前已经进行了哪些测试,以及我们目前和将要进行的测试如何才能增加总体测试效果 *发现软件问题,需要实际用户在实际的环境中,用实际的数据,去做实际的工作 *简单重复的工作实现测

探索性测试学习分享

一.关于测试和探索 软件测试就是与软件或系统进行交互.观察其真实行为与你的预期比较是否一致. 作者认为:在 测试之前一切都只是推测,应该以实验结果作为采取行动的依据.测试不断探索和做实验的过程.   1.测试的两面: 作者认为测试应该包括,两个方面:a.检查软件是否满足预期.b.探索风险. a.检查软件是否满足预期,就是基于传统的测试策略.测试设计与测试执行的过程,投入的人力越多可能网织得越密,测试的完备性会做的越好,然而终究是难以做到“无遗漏”的测试.总会有一些漏网之鱼. b.在a的基础上进行

对于软件开发中开发人员与测试人员关系的理解

在软件开发中都会有开发人员(以下简称开发)和测试人员(以下简称测试),在一些小型公司可能并没有测试,仅仅是开发兼任测试.在这里我仅针对于有专业的测试和专业的开发的项目. 每个公司应该都有考核机制,对于开发和测试的考核实际上很难量化,通常来讲大的方向就是开发所负责模块的bug数,对于测试来讲就是测出来的bug数,但这真的有效吗?这也许对开发有约束力,理论上开发是能够自己控制bug数的,如果从产生的bug数来评判开发的绩效还算有效,这样开发自然就会把代码写得更加认真.但如果根据测试测出来的bug数来

我在Thoughtworks是如何做测试的 (一)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545; min-height: 14.0px } span.s1 { font: 12.0px Helvetica } 1. 要不要写测试用例? 实际上,我在Thoug

全程软件测试之测试需求分析与计划

全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计划活动中,首先要确认测试目标.范围和需求,其中"测试需求分析"是关键任务,然后在测试需求基础上制定测试策略,并对测试任务.时间.资源.成本和风险等进行估算或评估. 无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性.软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进