探索性测试ET

上一篇 / 下一篇  2010-10-20 10:27:20 / 个人分类:软件测试发展

   最近知道了一个新名词,探索性测试ET(exploratory),是和ST(script. based test)相比较.

   笼统地说,ST就是有确定的步骤\预期目标的测试.

    探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
        对探索性测试最直白的定义是:同时设计测试和执行测试。探索性测试有时候会与即兴测试(ad hoc testing)混淆。即兴测试通常是指临时准备的、即席的Bug搜索测试过程。从定义可以看出,谁都可以做即兴测试。由Cem Kaner提出的探索性测试,相比即兴测试是一种精致的、有思想的过程。
        在对测试对象进行测试的同时学习测试对象并设计测试,在测试过程中运用获得的关于测试对象的信息设计新的更好的测试。这个有趣的过程如下图所示。

探索性测试

        探索性测试强调测试设计和测试执行的同时性,这是相对于传统软件测试过程中严格的“先设计,后执行”来说的。测试人员通过测试来不断学习被测系统,同时把学习到的关于软件系统的更多信息通过综合的整理和分析,创造出更多的关于测试的主意。
1.探索性测试的基本过程
        探索性测试的基本过程包括如下:
        识别软件系统的目的;
        识别软件系统提供的功能;
        识别软件系统潜在的不稳定的区域;
        在探索软件系统的过程中记录关于软件的信息和问题;
        创建一个测试纲要,使用它来执行测试。
        注意:上面的过程是一个循环的过程,并且没有很严格的执行顺序,完全可以先创建测试纲要,执行测试,然后在测试中学习软件系统;也可以先探索软件系统的各个区域,然后再列出需要测试的要点。

        探索性测试强调创新的测试思维,在测试过程中不断地出现许多关于测试的新想法,因此就像一把叉,下图就是一个所谓的“探索叉”(exploratory forks)。
        探索性测试强调测试过程中要有更多的发散思维,这也是与传统测试方式的最大区别。传统测试方式强调设计完善的测试用例,测试人员严格按测试用例执行测试,这多少限制了测试人员的测试思维,测试人员往往缺乏主观能动性。

                                   探索叉

   探索性测试尤其适合于那些需求不是很明确的测试任务,或者是一名刚刚接手一项新的测试任务的测试人员使用。
2.探索性测试的管理
        探索性测试是一种不是很严谨的测试方法,缺乏可管理性和度量性。因此,James Bach提出了基于任务的测试管理(Session-Based Test Management)。Session-Based测试管理是用于度量和管理探索性测试的一种方法。
        测试人员在采用探索性测试方法的测试过程中,应该及时记录下所谓的“测试故事”,把所有测试中学习到的关于软件系统的知识要点、问题和疑问、测试的主意、进行了怎样的测试等相关信息记录下来,然后周期性地与测试组长或其他测试人员基于记录的“测试故事”展开简短的讨论。
        测试组长基于这些记录的结果来判断测试的充分性,测试人员通过讨论可以共享学习到的软件系统相关的信息,交流测试的主意,总结测试的经验,激发测试人员拿出更多的测试主意,从而指导下一次测试任务的执行。
        在这种方式的测试管理中,测试组长就像一名教练,但是需要参与到测试的实际任务中,指导测试人员测试的方向和重点,提供更多的关于软件系统相关的信息给测试人员,授予测试人员更多的测试技术

        说明:未必需要完全采用探索性测试的方法,但是可把探索性测试方式作为传统测试方式的补充,在每一项测试后留下一定的时间给测试人员做探索性的测试,以弥补相对刻板的传统测试方式的不足。应该更多地采用探索性测试的思维方式,应用在日常测试工作中。

对于一个ET,需要如下的能力:

测试设计:一个优秀的测试设计师,一般有如下几个能力:首先是分析这个产品;评估产品的所有的风险;使用现有的工具去分析或记录;测试设计技术的熟练使用。

  细心观察:一个优秀的ET测试人员必须比一般的人甚至是做ST的测试人员更具有细心观察细节的能力。ET测试人员必须去观察一切看似不正常或有疑问的地方,他还要能仔细的在推论和其他一些的假设中辨别出真理何在。

  批判性思考:一个优秀的ET测试人员能够快速的评审和解释他们的思考逻辑,并能在独立思考中需找错误。这在重现bug的时候非常重要。

  丰富的想法:一个优秀的ET测试人员能够比一般人产生更多且更好的想法。但通过什么来产生这么多且好的idea呢?这个也是ET的核心了,目前ET的牛人们创立了一个叫Heuristics的方法,这个方法比较抽象且实践过程在国内几乎空白,后续讨论下。

  丰富的资源:一个优秀的ET测试人员能够构建一个集测试工具,信息资源,测试数据,同仁的一个储存室。这样在测试的时候,可以很快的应用这些资源。

  要到达这些要求,测试人员需要做这些努力

1、ET要有丰富的测试经验,掌握丰富的bug库,也经产分析bug产生原因

2、对于风险的知识,需要具有参与各种类型的产品测试经验,并经常总结分析测试效果和bug类型

3、丰富的测试工具、产品知识


TAG:

xbule安全团队 引用 删除 rooint   /   2013-06-04 18:52:21
不错
xbule安全团队 引用 删除 rooint   /   2013-06-04 18:52:03
5
引用 删除 lz_zhang   /   2012-08-10 13:27:01
5
软测路上 引用 删除 aux0   /   2011-03-06 09:27:47

好思维,但不太好把握。
Lamb_y的个人空间 引用 删除 Lamb_y   /   2011-03-06 09:14:27
不错!
 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 11617
  • 日志数: 13
  • 建立时间: 2010-09-15
  • 更新时间: 2010-10-20

RSS订阅

Open Toolbar