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

发表于:2012-06-26来源:新浪博客作者:JerryGao点击数: 标签:探索性测试
前面说到了很多流程性的指导,也说了ET和ST的生产率的比较,但实际的情况到底怎么样呢,这里大概说下ET的实践结果分析: ET实践项目:XX1项目 ET实践时间段:09/12/15—09/12/21

  前面说到了很多流程性的指导,也说了ET和ST的生产率的比较,但实际的情况到底怎么样呢,这里大概说下ET的实践结果分析:

  ET实践项目:XX1项目

  ET实践时间段:09/12/15—09/12/21

  ET实践人:季哥

  此ET实践结果分析包括如下几个部分:

  简要说明什么是ET

  ET测试的范围

  为何要做ET

  什么时候开始做ET

  怎样做ET

  做ET时注意什么

  ET产出了什么

  ET发现了什么样的bug

  1. What1:什么是ET?

  这里的ET定义就是实践与XX1项目的定义:就是在完全不熟悉项目业务需求的基础上,采用边学产品知识,边测试,通过一些手段来操作产品,使其暴漏出一些隐含的问题。其测试执行思路与测试设计思路是同时进行的。一个很明显的Freestyle ET方式。

  2. What2: ET测试了什么?

  由于大部分项目存在一些共性,ET测试的范围一般是主要的功能的实现,再加上主要的功能中隐含的一些潜在的风险,例如超长输入引出的系统错误等。具体可参见ET实践流程。

  3. Why:为啥要做ET?

  至于做ET实践的原因多方面:

  ———目前项目测试人员功能测试手段太单一

  ———目前第3轮测试发现的bug率以及投资回报率很低

  ———为了质疑目前测试部3轮测试的流程规范

  ———国外已经有了比较成熟的ET理论和实践经验

  ———创新并实践前段时间ET的理论学习

  4. When:什么时候开始做ET?

  根据ET测试的方式和目的以及时间安排,可看出ET并不是为了发现主要功能的流程问题。所以特别需要在相对稳定的系统上做ET,这里有两个好处:一是由于ET测试人员没有项目测试人员对需求了解深入,对于主要功能的流程问题没有项目测试人员发现那么及时以及深入。二是在稳定的系统上做ET,有益于发现项目测试人员的盲点,以及发挥测试的极限测试手段,同时也有益于ET测试产出的效果。所以在XX1项目ET实践过程中,是在第二轮测试的最后一天开始 ET。一般是在安全测试通过后。因为安全测试的bug修复后会引发比较多的页面bug,此在一定程度上影响ET发现较严重的bug数量。

  5. How:怎么做ET?

  根据国外ET实践理念,采用Session来进行测试范围的确定(具体请看ET的管理),下面是简单的一些说明:

  第一步: 大概花1-2个小时时间看PRD和原型。

  第二步: 大概花1-2个小时时间确定下有哪些主要的功能模块和贡献性的功能模块。

  第三步: 与项目组测试人员沟通哪个功能模块发现bug最多,哪个功能模块发现bug最少,哪个模块存在风险比较大。

  第四步:根据前几步情况和参加ET的时间段来确定有多少个Session,并指出每个Session大概花多长时间。一般是1.5-2个小时。就淘宝而言,一个Session大概是2-3个UC的情况。

  第五步:制定ET测试计划,包含所有Session的名称和测试时间以及缓冲情况。

  第六步:根据ET测试计划,边学习产品需求,边测试。发现问题立马记录问题描述。最后发送ET测试报告。

  第七步:与项目组测试人员沟通ET的效果以及该产品存在的风险,从用户易用性角度给该产品总体评价,同时跟踪确认bug的fix情况。

  6. Strategy:ET测试的时候怎么考虑?

  在做ET过程中,有一个基本的原则就是以最少的学习时间来获取最大的学习成果,也就是在ET过程中,由于系统是个相对稳定的系统,其主要功能的流程问题已经不存在了,这时ET测试人员需要以最少的时间去了解一个产品的某个需求,然后去发现这这个需求的隐含的问题。这里一定要注意不要花很长时间去了解某个复杂业务的具体过程,然后去测试,这样时间投资回报率会比较低。

  这就需要ET测试人员在很短的时间内需要判断这个需求需要花多少时间去测试,大概会隐藏什么问题。然后发现一个可挖掘的需求,去多尝试操作去测试,直至发现问题。这些在XX1项目实践过。

  ET过程中,尽量去关注一些很细节的部分,多使用一些极限测试的手段,比如超长字符,非法字符,异步编辑等。

  ET过程中,如果被一个需求的特殊性卡住,也就是ET测试人员尝试了很多次都没有成功进入下一个操作流程,则这时需要立马与项目组对应测试成员沟通,寻求帮助。也许该成员的一句话就可以搞定这个问题。在XX1项目实践过程中确实遇到过这种情况。

  ET过程中,发现一个疑似问题,立马记录其问题描述,等每天的ET测试时间完成后,与该Session的项目组测试人员沟通这些疑似问题是否为bug,并邮件报告每天测试的Session的bug描述以及优先级。

  ET过程中,需要ET测试人员全神贯注的进行边学习产品,边测试。在一个Session测试过程中,不能受到其他的干扰,完全沉浸在测试和破坏这个产品的紧张之中,由于需要不断的变化测试思路去挑战正在测试的功能。

  7. Result:ET产出了什么?

  对于ET的核心价值就是花最少的时间得到最大的回报。该项目实践ET测试的数据如下:

 

 

  这里功能未实现的bug类型里面主要大部分是一些页面的按钮或链接功能失效。

  8. Analyze:ET发现什么样的bug

  对于ET测试发现的bug类型做一些个人分析,相信很多人对于这个比较感兴趣:

  第一:一般情况下,ET测试的目的不是为了发现正常流程下的主要功能bug,特别是Freestyle ET 方式实践的时间点

  第二:ET测试过程中,会变化测试手段去测试,更多的是用户测试和极限测试和交叉测试,也就会发现很多这些手段产生的bug

  第三:ET测试过程中,使用的一些测试手段决定了发现的bug类型,常用的测试手段有:边界值测试,极限测试,用户测试,菜单浏览,域测试,组合测试。

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