测试手段之探索性测试(2)

发表于:2012-06-21来源:新浪博客作者:JerryGao点击数: 标签:探索性测试
上一次我们说到了ST和ET的一些区别,大家对于ST都非常熟悉了,那么既然ET存在测试领域,肯定有其应有的价值,下面说下这几个问题:ET的优势和缺点和影响因素,最后说下一个优秀的ET测试人员应具备什么样的能力。 ET作为一个比较现代的测试方法,肯定有

  上一次我们说到了ST和ET的一些区别,大家对于ST都非常熟悉了,那么既然ET存在测试领域,肯定有其应有的价值,下面说下这几个问题:ET的优势和缺点和影响因素,最后说下一个优秀的ET测试人员应具备什么样的能力。

  ET作为一个比较现代的测试方法,肯定有其非常重要的优势:

  它可以鼓励测试人员的创造性

  它增加了发现新的或者难以发现的bug

  它允许我们有更多的时间去测试感兴趣的和比较复杂的用例

  它可以更有效率的驱使测试人员在一个很短的时间内找到更多的bug和对AUT做一个快速的评估

  它显示了一个产品是如何被使用的

  它具有非常好的适应性,灵活性,多样性

  它比ST更有乐趣

  它可以促使测试人员快速的学习一个产品

  它可以check其他测试人员的测试工作

  它可以很好的应用在敏捷测试项目

  它允许我们不用花很多时间在编写那些简单和繁琐的测试用例

  同样,ET也有一些非常不好的缺点:

  它在测试管理上的局限性使得ET过程很难去协调和控制

  它在bug的重复利用或重现上提供非常有限的支持

  它对于测试人员的测试技能和行业知识依赖比较大

  当与ST进行组合时,会有重复测试的风险

  它不能完全保证最重要的bug已经被发现了

  它不合适于安全测试性能测试,或其他高级的有专业的测试类型

  它只能在AUT完全可用的情况下才开始

  很难的去定义ET的生产率

  无法对测试思路进行自动化

  我们知道了某些情况下ET比较合适,那么就像之前说过的一样,ET没有最佳实践,ET在项目中做的好与不好,都会受很多情况制约,这些情况都会或多或少影响着ET实践的数据产出,下面列出了比较重要的制约因素:

  这个项目的测试的具体任务(一般和测试类型和产品本来的特点)

  这个测试人员的角色(lead或SDET或STE)

  具体的测试人员(技能,天赋,擅长点)

  可用的测试工具和测试机器

  可用的时间

  可用的测试数据和文档

  从其他的人员获得的帮助

  当前的测试策略

  同一个产品已经经过测试后的状态

  其实我们可以总结影响ET的基本因素为:时间,测试人员,产品,任务。我们还可以分析下ET过程中的几个关键的因素,其实也就是一个优秀的ET测试人员所具备的基本能力:

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

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

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

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

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

  下次说说ET怎么样在我们的项目中使用起来,什么时候使用ET,还有如何更好的管理ET而不让ET失控,如何去衡量ET测试人员的工作量。大家想要了解什么或者有什么问题,都可以留言。

  以上参考James bach 的paper

原文转自:http://www.ltesting.net