79444

复现无法复现Bug的思路

回贴
回帖数 7
阅读数 6541
发表时间 2010-09-13 21:42:18
🍎
粗眉毛的凉面 楼主
从标题来看大家可能会觉得晕,这里说到的不可复现是指这些Bug有时出现,有时候不出现。相信大家在测试过程中肯定遇到过这种Bug,不少这种不可复现的Bug定位起来非常困难,可能很长时间都不能得到解决。能否复现这些不可复现的Bug成为大家关注的一个话题,近国外的测试专家James Bach、Jonathan Kohl等对这个话题进行了一些探讨,这里把他们的一些思路理出来和大家分享。
要想复现不可复现的Bug,需要先提到一个概念就是ET(Exploring Test),也就是探索式测试,这种测试方法是由James Bach首先提出来的,在所掌握的被测对象的信息不是很充分的情况下,这是一种很有效的测试方法。
在给大家阐述如何复现不可复现的Bug的思路之前,先说说为什么要复现这些不可复现的Bug。对于整个项目或者产品而言,如果这些不可复现的Bug是很严重的Bug,比如导致系统崩溃等,如果不能及时、准确的定位和解决,终发布出来的软件到达用户手中后,一旦出现势必会影响软件已经公司在用户心中的形象,严重的会“迫使”用户选择竞争对手的产品,这些显然都是公司所不愿看到的。而对于测试人员而言,出现了这些不可复现的Bug,实际上是一次很好的锻炼和提高机会,如果只是提交缺陷报告将这个大皮球踢给开发人员,不仅丧失了一次提高测试水平的机会,还有可能破坏和开发人员之间的关系。
现在进入正题。当出现不可复现的Bug时,大家可以从以下五个方面来进行考虑:
1、被测对象的版本信息
我测试的到底是哪个版本,这主要是有两个作用:一是确认我测试的是正式的软件版本,如果不是就先记录下该问题,然后选择正式的版本进行测试(开发人员基于尝试的一次非正规的修改可能会导致不可复现的Bug);二是可以和其它版本进行对比,如果其它的版本没有类似的问题,就可以去对比这两个版本之间的区别。
2、环境
这里的环境是指出现不可复现的Bug时所对应的测试环境等,比如测试所用的计算机,如果出现不可复现的Bug,那我换一台机器是不是还会出现类似的问题,也就是说通过环境的改变来进一步搜集不可复现Bug的相关信息。
3、模式
这里的模式是指我对这个Bug如何出现的一个理解,先给这个Bug设定一个模式,比如是不是数据库通信中断,然后再进行测试,收集更多的信息去修改和完善这个模式,这样不断进行,终直到Bug能完全复现为止,这个时候只要使用这个模式就可以复现出Bug了。
4、人
这里提到的人有两个含义:一是测试是由人来进行的,人的操作、人的思维方式会有不同,通过分析这些信息也有可能找到这些不可复现的Bug的蛛丝马迹;二是想复现不可复现的Bug,往往需要多个人之间的相互协作,比如测试人员、开发人员等,通过大家的沟通和协作就能更容易去复现了。
5、测试工具
通过一些debug工具或者log工具等搜集内存等信息,根据这些信息来进行分析,找出不同信息之间的共同点,比如某一块内存始终都会被改写等,通过这种方式来去复现Bug。
上面的五个方面都是和ET的思想紧密相关的,通过不断的测试和不断的信息收集和分析,逐步的把模糊的、不确定的测试变成清晰的、确定的测试,这样就能复现那些不能复现的Bug了。考虑信息时可以从以上五个方面来进行考虑。

注:本文摘自互联网。
7个回复
🍟
春哥 沙发
做好测试,我觉得就像侦探一样,呵呵,通过各种表现,各种工具,日志,把最终的原因找到。这个过程很有乐趣。:)
2010-09-13 22:09:16 王春生 回帖
🌻
孙磊 板凳
做测试的, 是写 (侦探)推理小说的, 测试用例 都 超出意料之外,却在情理之中
2010-09-13 22:15:31 孙磊 回帖
🎱
张斌 #3
呵呵,测试用例从来都是很奇怪的,但最后却是很多人常用的。就不知道为什么开发人员觉得奇怪呢。呵呵。
2010-11-05 10:09:29 张斌 回帖
🍎
粗眉毛的凉面 #4
奇怪的原因主要是两者的思路不太一样:开发人员是考虑如何实现软件功能,而测试人员则想尽办法去破坏它,以确保软件的质量。
2010-11-05 15:35:46 粗眉毛的凉面 最后编辑 2010-11-05 15:35:46 粗眉毛的凉面 回帖
🔖
丁文君 #5
呵呵,测试是这样的。一般找到BUG都是在非常态下的,而这些BUG往往是不易被发现的~
2012-11-21 12:09:32 丁文君 回帖
🎯
管仲鹏 #6

以前看过一个对概率问题的统计,只是在次数上记录,每个版本中发生的频率,频率越低就将严重程度降低,这种统计方法最终是没有发掘问题的根源,只是流于记录。

2012-11-30 11:29:42 管仲鹏 回帖
🍅
吴团友 #7

感谢楼主的分享

我觉得没有复现不了的bug,关键是耐心、细心与坚持

2013-09-17 15:29:14 吴团友 回帖
联系我们
联系人
丁芝/高级客户经理
电话(微信)
17663906485
QQ号码
1481227768
联系邮箱
dingzhi@chandao.com
丁芝
高级客户经理
17663906485
1481227768
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。