什么是探索性测试? - reach296

标签: 测试 reach296 | 发表时间:2014-07-30 17:35 | 作者:reach296
出处:

1、探索性测试的定义

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

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

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

 

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

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

        识别软件系统的目的;

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

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

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

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

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

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

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

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

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

 

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

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

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

3、探索性测试的价值

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

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

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

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

4、探索性测试的误区

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

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

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

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

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

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


本文链接: 什么是探索性测试?,转载请注明。

相关 [测试 reach296] 推荐:

什么是探索性测试? - reach296

- - 博客园_首页
探索性测试(ET)是敏捷世界里的一种重要测试方法,作为一个研究性的工具,它是用户故事测试和自动化回归集的重要补充. 它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景. 探索测试将学习,测试设计和测试执行整合在一起,形成一种测试方法. 探索性测试的最大特色是在对测试对象进行测试的同时学习测试对象并设计测试,在测试过程中运用获得的关于测试对象的信息设计新的更好的测试.

测试

- 香姜 - 韩寒
测试......>>点击查看新浪博客原文.

Android单元测试与模拟测试

- - 神刀安全网
考虑可读性,对于方法名使用表达能力强的方法名,对于测试范式可以考虑使用一种规范, 如 RSpec-style. 不要使用逻辑流关键字(If/ese、for、do/while、switch/case),在一个测试方法中,如果需要有这些,拆分到单独的每个测试方法里. 测试真正需要测试的内容,需要覆盖的情况,一般情况只考虑验证输出(如某操作后,显示什么,值是什么).

免费测试VPN

- 勇 - iGFW
lusovps目前提供免费15天的PPTP VPN试用服务,. 申请地址:https://cart.lusovps.com/cart.php?a=add&pid=13. WHMCS注册系统,可以参考 http://igfw.tk/archives/3727. 注册后无需审核,立刻激活,帐号信息会发至邮箱.

HTTP负载测试

- - 博客 - 伯乐在线
英文原文: ON HTTP LOAD TESTING 来源: oschina. 有很多人在谈论HTTP服务器软件的性能测试,也许是因为现在有太多的服务器选择. 这很好,但是我看到有人很多基本相同的问题,使得测试结果的推论值得怀疑. 在日常工作中花费了很多时间在高性能代理缓存和源站性能测试方面之后,这里有我认为比较重要的一些方面来分享.

Android单元测试

- - CSDN博客推荐文章
    单元测试不管对于初学编程还是已经工作了很久的开发者来说,都不乐意花时间去写认为没用的代码进行测试,只要交给测试人员就行了,虽然这样也能把软件改出来,但也许你要花上几倍的时间去修改问题,如果在开发的过程中花点时间去写单元测试代码,把尽可能出问题的地方都测试一遍,把问题扼杀在最开始的地方,这样你就不必为后来找问题出处而烦恼.

mongodb性能测试

- - 数据库 - ITeye博客
1) Mongodb的非安全插入方式,在一开始插入性能是非常高的,但是在达到了两千万条数据之后性能骤减,这个时候恰巧是服务器24G内存基本占满的时候(随着测试的进行mongodb不断占据内存,一直到操作系统的内存全部占满),也就是说Mongodb的内存映射方式,使得数据全部在内存中的时候速度飞快,当部分数据需要换出到磁盘上之后,性能下降很厉害.

Android集成测试

- - 百度质量部 | 软件测试 | 测试技术 | 百度测试
  Android集成测试主要是在单元测试的基础上测试接口访问或者异步任务是否正确,在. 移动凤巢系统中,大概有30+个接口需要测试,他们都遵循一个特定的访问模式:前台的. Activity获取到触发事件后,将它传给这些接口,这些接口都是AsyncTask的实现——即后台. 异步线程执行某个任务(一般是发送http请求到后端服务或者执行存取数据库等耗时操作),.

测试touch事件

- - Kejun's Blog
进入触屏时代意味一切要对触屏友好. 今天仅仅测试了ios6,其它版本包括android还不清楚差别有多大. 看了PPK的touch兼容表(http://www.quirksmode.org/mobile/tableTouch.html),深感刚准备告别ie6,又迎来了一个新的混乱时代,苦逼的前端工程师们永远摆脱不了兼容的魔咒.

impala测试报告

- - 开源软件 - ITeye博客
10.200.187.86 cslave1 4核 3G. 10.200.187.87 cslave2 2核 4G. 10.200.187.88 cslave3 2核 4G. 10.200.187.89 cslave4 2核 6G. 1.在内存够用并且是简单sql条件下,impala相比hive执行效率高很多,简单的sql在百万级别数据中运行,耗时几秒甚至不用一秒.