51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8165|回复: 34
打印 上一主题 下一主题

[读后感]如何复现不可复现的Bug

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-8-10 13:38:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文章来自以下链接:
http://skinapi.cnblogs.com/archive/2005/08/07/209426.html     
      从标题来看大家可能会觉得晕,这里说到的不可复现是指这些Bug有时出现,有时候不出现。相信大家在测试过程中肯定遇到过这种Bug,不少这种不可复现的Bug定位起来非常困难,可能很长时间都不能得到解决。能否复现这些不可复现的Bug成为大家关注的一个话题,最近国外的测试专家James Bach、Jonathan Kohl等对这个话题进行了一些探讨,这里把他们的一些思路理出来和大家分享。
      要想复现不可复现的Bug,需要先提到一个概念就是ET(Exploring Test),也就是探索式测试,这种测试方法是由James Bach首先提出来的,在所掌握的被测对象的信息不是很充分的情况下,这是一种很有效的测试方法,如果大家感兴趣,我再整理一篇ET的文章出来。
      在给大家阐述如何复现不可复现的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了。考虑信息时可以从以上五个方面来进行考虑。
      相应的文章链接:
http://www.kohl.ca/blog/archives/000115.html
http://blackbox.cs.fit.edu/blog/james/archives/000197.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-8-11 14:02:25 | 只看该作者
我有几次遇到过不小心发现的bug。我曾经碰到一个问题,对系统进行了一系列的操作后,跳出了一个弹出框,报出很奇怪的错误,我自认为还能重现,当场没有把那个弹出框捕捉下来。等我试图再去重现时怎么也重现不了,让我很诧异,很困惑,让几个人操作也没重现,自己甚至花了半天的时间试图一一按之前的操作再执行也没用。这样的情况还碰到到几次,不过都由于没法重现不了了之了,遗憾!
我想按上面仁兄的建议,只有靠测试工具来解决,通过查找历史查看到底为什么了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-8-12 09:09:49 | 只看该作者
good,最近刚好碰到类似情况。正考虑用工具再尝试一下,斑竹的信息给得非常及时啊。:)
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-8-31 17:49:41 | 只看该作者
实际工作中,还是很难的,遗憾呐
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2005-8-31 20:42:43 | 只看该作者
实际工作中还是不少的吧,呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-9-6 21:27:07 | 只看该作者
有的时候很难,我现在做的是MP3的firmware测试,有时不小心发现的bug又不能存下来,重现不出来真的是很头大的。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2005-9-6 21:43:11 | 只看该作者
所以要么有log信息,要么进行录像,虽然重复做很麻烦,但还是很有价值的,这样才能记录下不可复现的Bug。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-9-9 23:10:28 | 只看该作者
找个键盘鼠标记录器。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-12-21 19:14:51 | 只看该作者
根据现象分析了

不过有时候容易忽略表象
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-12-21 20:05:23 | 只看该作者
这很难说了,有的时候是会出现,有的时候又不能重现,即使把执行步骤录制下来.可能原因版主已经罗列出来了.但是想重现用什么工具的话还是没有试过哦!
如果能够找到原因的话,那么解决方法我想又会有一门新的技术诞生了.
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-1-19 10:19
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2005-12-22 17:23:51 | 只看该作者
    重现BUG 有时候确实很头疼,比如说日本那边测试出的BUG 但是在这边确无论如何都不能重现
    所以我们这些人就苦了,要不段的测试,进行一些TE性测试.测试的遍数也在不段的增加
    哎!没有什么最有效的办法的.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2005-12-22 18:07:04 | 只看该作者
    楼上想法不错哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-11-5 22:10
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2005-12-27 14:49:02 | 只看该作者
    哎!的确是哈!不同的环境,有的时候BUG的确是不一样啊!
    前一段时间,我在测试DLNA的时间,明明是不能播放,但台湾那边的可以正常播放。弄得台湾那边的人不相信我们这边人员的测试能力,郁闷了。弄得我的绩效口掉一大截。
    这个BUG到现在还存在

    感觉我说的跟楼主的好象有点不太一样哈!
    只是苦闷,吐吐苦水,哈哈!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2006-11-18 14:58:37 | 只看该作者
    正在努力考虑中……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2006-11-19 20:04:34 | 只看该作者
    遇到这种现象,首先是记录下来,然后才尝试去重现,不能重现时,可以再按楼主的做法进行排查。相信随着功力的增加,不可重现的Bug会越来越少。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2006-12-3 12:26:37 | 只看该作者
    有专门的“屏幕录像专家”软件可以考虑呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2006-12-11 18:09:32 | 只看该作者

    回复 #2 secat 的帖子

    当问题出现的时候,尽快记录,是最重要啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2006-12-11 19:11:01 | 只看该作者
    呵呵,好贴
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2006-12-11 19:11:53 | 只看该作者
    能不能详细说说怎么样捕捉分析内存记录呀?
    极度关注中.............................
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2007-2-5 19:35:38 | 只看该作者
    虽然测试过程中可以通过工具来抓LOG
    可是总不能在测试过程中一直开着抓LOG工具吧
    但要是不开,那万一出现了不能重现的问题,那又没有任何根据了
    所以这是很矛盾的
    一般BUG都是可以重现的,至于一般所说的不能重现的问题,肯定有它的规律(比如:测试的环境,测试的硬件等等)
    还有就是可能因为软件运行一段时间后会出现问题
    所以最好是要用相同的硬件,尽量模拟当时的环境和操作,那样应该就不会存在不能重现的问题了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 09:21 , Processed in 0.081299 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表