偶然性不可重现的BUG怎么处理?

发表于:2011-10-10来源:未知作者:领测软件测试网采编点击数: 标签:缺陷管理;bug报告
一、一定要提交!! 1. 记得有这么个缺陷,以后再遇到的时候可能就会了解发生的原因。 2. 尽力去查找出错的原因,比如有什么特别的操作,或者一些操作环境等。 3. 程序员对程序比测试人员熟悉的多,也许你提交了,即使无法重新,程序员

  一、一定要提交!!

  1. 记得有这么个缺陷,以后再遇到的时候可能就会了解发生的原因。

  2. 尽力去查找出错的原因,比如有什么特别的操作,或者一些操作环境等。

  3. 程序员对程序比测试人员熟悉的多,也许你提交了,即使无法重新,程序员也会了解问题所在。

  4. 无法重现的问题再次出现后,可以直接叫程序员来看看问题。

  5. 对于测试人员来说,没有操作错误这条.既然遇到,就是问题。即使真的操作错了,也要推到程序员那里,既然测试人员犯错误,用户也可能会犯同样的错误。错误发生的时候,Tester最大。

  二、程序不是测试人员写的,出问题也不是测试人员的原因。

  至于无法重现,可能的原因很多,因为测试人员看到的只是程序的外部,无法深入程序内部,所以把责任推给测试人员是不对的。

  测试人员的任务只是尽力重现问题,而不是必须重现!!

  三、下次再遇到的时候,拉他们来看就可以了。

  因为问题如果无论如何无法重现,程序员确实也没有什么好的解决方法。

  而且此类问题即使程序员说修改了,测试员也没有好的方法去验证是不是。 : )

  四、你可以告诉程序员,测试过程是没有错误的。

  测试人员只是检查程序中可能存在的问题,虽然测试人员使用一定的手段方法努力去覆盖所有的情况,但这些都是理论的推测。在实际中,可能因为人员、环境、配置等种种原因出现各种各样的问题,在测试人员这里发现问题是公司内部的事情,程序发到外面可就是公司的形象问题了。

  需要让程序员理解,测试人员是帮助他们的,不是害他们的。

  客户那里发现问题比测试员发现问题结果要严重的多。

  五、测试部门是独立与开发部门的呀,真的打交道,也是经理对经理。

  在我们这里,工作上面的事情,和程序员相互只能商议解决,并没有谁高谁低。

  问题无法重现,也要提出,程序员那里可以回复无法再现。问题放在那里,等到再次出现的时候,就立刻叫程序员过来查看。

  实在没有再次出现,最后可以写到报告中,说出现了什么现象,但无法再现(比较严重的问题才如此处理,小问题经理之间商量商量可能就算了)。

  至于测试人员必须重现bug,你杀了我好了,我每次测试项目都有无法重现的问题,很多我能找到大概的原因,有些根本无法重现(仅仅出现一次)。

  这种事情是无法避免的,并不能说测试人员无法重现问题,就是工作不到位(哼,程序有bug,是否可以说程序员工作不到位的呀)。

  六、测试部门要独立,最好不受开发的制约。其实真正要重视,就应该有否决的权利。

  我们公司就是项目承包,要拿最后的项目尾款,就要测试部签字通过,这样就避免了很多的问题。

  其实只要自己尽到心就可以了,管别人怎么说呢。

  七、我们使用的状态有:

  程序员处理的状态(由测试员提交的Action):等待处理的,再次出现的。

  测试员处理的状态(由程序员提交的Action):已经修改的,暂不修改的,系统限制的,使用错误的,无法再现的。测试员可以修改记录。

  经理处理的状态(由测试员提交Action):管理员处理的。经理还可以删除记录。

  按照比较标准的说法,其实对于缺陷还应该有“等待确认的”、“已经确认的”和“重复提交的”的状态,我们为了省事,统一使用了“等待处理的”。

  最后结项的时候,缺陷的状态对我们来说有两种,“已经关闭的”(由测试员或经理确认)和“暂不修改的”(比如下一个版本处理等)。

  呵呵,状态多,有些烦琐,特别是程序员很多的时候都不清楚应该回复什么状态,但我个人觉得对测试人员来说,这些状态比较清晰明了,容易处理。

  八、一个叫doer_ljy(可战)的网友回复了一些内容,我个人认为不很妥当,就回复了一些内容,绿颜色的是doer_ljy(可战)的内容:

  关于“无法重现”我看是有这么个问题存在。

  首先如果你在测试之前有严格的测试计划,就很难出现“无法重现”这种现象。“无法重现”的意思是不知道怎么操作才能再次看见这个BUG。那么这个BUG多半是“计划外”的。

  不清楚你是否是测试人员。“计划外”这个词,对测试员来说应该不存在。测试用例的粒度一直是个在讨论中的问题,测试人员很难有时间和精力写出包含内容、数据、步骤等等全部操作一切的测试用例(说白了,只要一个长手识字的人,按照测试单做,就能发现所有的问题,呵呵,有软件蓝领的感觉了)。即使真的有,意义也不大,测试很多的时候,是发散性的思维,带点创造性,想事先考虑完全,很难。所以更多时候,是在测试过程中逐步对用例等进行完善,所以说“计划外”最好不要提。

  说说我现在测试的一个项目,有一个业务,首先查询出人员,有个“全选”按钮,“全选”后,再用鼠标一个一个取消选择,这个时候进行业务办理的时候,就会提示“没有选择人员”,至今为止一切都正常,但是这个时候再次点选人员进行业务处理,仍然会提示“没有选择人员”,这就是一个缺陷了。这个问题我想一般人都不会在测试用例中考虑到吧,因为发生的条件很苛刻:不用“全选”按钮的时候不会发生;全选后点击“取消全选”按钮再办理业务不会发生;全选全消后,先点击人员再办理业务也不会发生。

  其次,成熟的测试人员及时无法再现BUG,也能准确的描述出BUG发生之前几个步骤的操作方法,测试用例情况。这些对开发人员分析BUG原因很重要。所谓的BUG发现环境。

  呵呵,看来我不是成熟的测试人员。手工测试,比较熟练的时候,和打字可以说差不多,应该进行到哪里,心中是有数的,但让我完全从头到尾的重复,不容易呀。写测试缺陷报告单的时候,也只是说明操作步骤和发生的现象。其实无法重现的问题,既然说“无法重现”,也就是测试人员已经对这个现象进行了多次的验证,一般从程序外部来说,测试人员的操作比程序员要熟练的。

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