向“零”缺陷而奋斗。QQ:395143809 Email:395143809@qq.com MSN:pycctv_angel@hotmail.com

【原创】如何寻找Bug 100%毕现的规律?

上一篇 / 下一篇  2012-03-06 10:57:02 / 个人分类:测试经验

引子:

在实际工作中我们会看到这样2个现象:

1、同样的Bug,不同的测试描述出来,解决的结果不同。

2、一些无法被解决的偶现Bug在好几个版本过后又得到了解决。(解决后跟开发的沟通中了解到,是因为当时没有找到毕现的规律所以无法解决。)

通过这两个现象告诉我一个道理,那就是:让Bug 100%毕现很有必要。 

今天我们就来讨论下如何找到能让Bug 100%毕现的规律。这种能力是我们测试所需要的。

Bug毕现的重要性:

测试人员复现Bug的步骤可以帮助开发迅速、有效的定位、解决Bug,从而提高生产产品的效率,更好的保证质量。虽然我们不知道代码是如何设计的,但是我们可以帮助开发找到触发Bug的条件。 

我们都知道,目前在工作中,Bug是以100%毕现和非毕现(经常复现和偶尔复现)两种状态存在的。但我始终坚信:没有非毕现的Bug,只是我们没有找到能够让他100%毕现的规律

Bug毕现的3中方法

一、逆向推理法:

首先要做的就是逆向推理,从时间最近的一次开始逆推,回想这段时间发生的事情(自己的操作,以及在操作期间其他程序或功能对其的影响),而不仅仅只是自己的操作。尽量在最短的时间将现场还原(这就需要在测试的过程中要“用心”,)

可能有人问了,回想的“这段时间”是多久?

1、容易复现的Bug,一般从本条用例开始操作到Bug出现就可以找到毕现的规律。

2、较难复现的Bug,一般就需要追溯到上一条用例执行的操作或者结果。

除了回想自己的操作,为什么还要留意一些别的事情?

根据经验而言,一般不容易复现的Bug就是因为在复现Bug的同时忽略掉了其他程序对其本身操作的影响

注:要想在最短的时间将现场还原,一定要注意细节,不要放过任何一个可能的细节。

二、反复尝试法:

在经历了逆向推理之后,我们要做的就是“不断尝试”。

为什么要不断的尝试呢?根据逆向推理尝试一两次不行吗?我想说的是:如果你能保证操作过程中的任何一个细节都考虑到了,并且都尝试了,那么就不用不断尝试了,嘿嘿!

1、不断的尝试是对现场还原的一种帮助,有的时候我们记忆的时候对细节记忆的不是很清晰,只有不断的尝试,不断的找感觉,才能真正的做到现场还原。

2、避免被表面现象所迷惑,发现一个Bug之后不要立即就提交Bug,可以反复多试几次,看看按照自己的操作是否可以100%毕现,如果可以毕现,说明我们找到了此Bug毕现的规律。(反复尝试可以帮助我们抓住Bug产生的本质性原因)

我的原则是:提交的Bug尽量让其100%毕现,这样才能更好的帮助开发更快、更准的定位、解决问题

三、判断猜测法:

判断猜测法需要建立在对产品的深度理解的基础上。我们需要根据对产品的深度理解,再结合相关测试经验进行“关联猜测”,然后根据猜测的操作进行实践。

猜测点:模块交互部分(一级模块之间的交互、子模块与一级模块之间的交互均需考虑)、状态改变部分、用户角色转换部分等

总之:只要是有变化的部分,就要考虑其变化对程序带来的影响

 

经过以上3种方法之后,Bug应该会“水落石出”啦,接下来的的任务就是提交Bug,跟踪Bug,直到Bug解决,再对Bug进行验证

请大家注意喽:通过以上方法可以帮助我们最大化的找到Bug100%毕现的规律,但不是说只要使用了这几种方法就能将所有的Bug毕现。同时也欢迎大家跟我一起探讨更多、更好的测试方法。

经验:

1、我们的最佳记忆时间范围是有限的,尽量在Bug刚刚出现的时候去寻找他的规律,而不要等到自己闲下来的时候再去做这样的事情,等自己闲下来的时候有可能操作细节(细节操作很重要)、以及环境都已经改变,不利于Bug的复现

2、为了保证测试进度按照计划进行,在寻找难度极大的偶现Bug的规律时最好要为自己限定时间,不要不顾一切的、执着的找下去,这样就会耽误整个项目的进度,顾此失彼。

3、对于复现难度极大的Bug,我们可以在进行项目总结的时候拿出几个Bug让大家集体来试试,人多力量大,你想不到的有可能正好是别人所能想到的。(团队协作很重要)

 

今天就先写到这里,后续还会总结一些工作中的方法、经验分享给大家,请大家关注……

 


TAG:

我的测试人生 引用 删除 qingchunjun   /   2012-03-16 15:30:50
从楼主的行文意思来看,这个“毕”应该是“必”吧。
我的测试人生 引用 删除 qingchunjun   /   2012-03-16 15:28:24
原帖由pycctv于2012-03-13 10:38:34发表
请教个问题:
请问monkeytest是一种什么测试方法,不太理解?多谢!

帮楼主回答一下,monkey test是一种随机性测试,名称由来是像猴子一样无意识地随机地操作被测程序或系统,目的主要是用来发现程序健壮性或者稳定性方面的问题。
“零”缺陷之路 引用 删除 pycctv   /   2012-03-15 16:44:45
原帖由傲然于2012-03-15 15:09:48发表
给楼主加一点,对于难复现的BUG,可以让开发帮助定位,比如程序日志、加断言等方法,一步步减少复现步骤.

恩,你说的这个挺对。赞一个!
但是在测试过程中会遇到一些日志中没法查询的,就只能自己复现啦 哈哈
总之,多掌握一门技术或者一种方法,对咱们测试还是挺有利益滴
傲然的个人空间 引用 删除 傲然   /   2012-03-15 15:12:13
原帖由pycctv于2012-03-13 10:38:34发表
请教个问题:
请问monkeytest是一种什么测试方法,不太理解?多谢!

应该是随机测试,可以百度下,好像出自国外大牛写的软件测试一书
傲然的个人空间 引用 删除 傲然   /   2012-03-15 15:09:48
给楼主加一点,对于难复现的BUG,可以让开发帮助定位,比如程序日志、加断言等方法,一步步减少复现步骤,因为有些日志信息毕竟开发比较熟悉。
“零”缺陷之路 引用 删除 pycctv   /   2012-03-13 10:38:34
请教个问题:
请问monkeytest是一种什么测试方法,不太理解?多谢!
“零”缺陷之路 引用 删除 pycctv   /   2012-03-13 10:37:19
谢谢亲们的热烈讨论,关于2个问题我说下自己的一些看法。
有关提交Bug的时机:
我这里没有写到提交Bug的时机 。我个人也比较认同越早提交Bug越好,但是如果提交的一个Bug是没有找到复现规律的Bug,这样的Bug对于开发解决问题的帮助是很有限滴!
有关碰运气的问题:
咱们的测试一般会分为执行用例阶段和自由测试阶段,执行用例阶段对测试用例的要求比较高,而且发现的Bug也不是很全面,所以就需要进行自由测试。自由测试的过程中会发现很多难以毕现的Bug,我这里主要针对的是这部分Bug复现的方法。
meihuafang的个人空间 引用 删除 meihuafang   /   2012-03-13 08:29:38
提交的Bug尽量让其100%毕现,这样才能更好的帮助开发更快、更准的定位、解决问题;
-----------------------------------------------------
不认同,测试过程中可能遇到各种各样的问题,如果每个都在必现之后提交bug,势必影响效率,bug状态的“重现中”也毫无意义;且一定程度上越早提交bug越能促进开发快速解决;

另外非常认同lyscser 说的,本文是碰运气的技巧总结;呵呵~~~纯探讨,勿怪
引用 删除 Merlynee   /   2012-03-12 11:19:03
感觉比对比较不错,出现BUG的数据和正常的数据必然存在不一样的地方,通过留下的痕迹比如库里的数据异常或者不同的日志,经常能把BUG的原因分析出来,再复现就只是步骤的问题了
@槽神刘叫兽 引用 删除 lyscser   /   2012-03-12 09:48:54
原帖由彭小冲于2012-03-09 15:22:52发表
原帖由lyscser于2012-03-09 09:28:48发表
请教下,什么叫毕现?
释义:毕=全部,现=显现


那什么叫100%毕现?
其实楼主说的是随机测试或者monkeytest,不是依赖精密分析和用例指导的测试,碰运气的技巧总结
只为你存在 引用 删除 彭小冲   /   2012-03-09 15:22:52
原帖由lyscser于2012-03-09 09:28:48发表
请教下,什么叫毕现?

释义:毕=全部,现=显现
只为你存在 引用 删除 彭小冲   /   2012-03-09 15:18:22
1
@槽神刘叫兽 引用 删除 lyscser   /   2012-03-09 09:28:48
请教下,什么叫毕现?
@槽神刘叫兽 引用 删除 lyscser   /   2012-03-09 09:27:57
请教下,什么叫毕现?
飘落de枫叶 引用 删除 csms0806   /   2012-03-08 18:52:51
很好的经验,我是刚从事测试的新手,受教了
引用 删除 51testing_wanjh   /   2012-03-08 10:00:41
哇,写的真不错,学习了
xin_晴的个人空间 引用 删除 xin_晴   /   2012-03-07 10:25:17
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/79/n-808979.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
“零”缺陷之路 引用 删除 pycctv   /   2012-03-06 18:21:54
同学们,看完之后请评论下,咱们共同探讨下
 

评分:0

我来说两句

pycctv

pycctv

2006年步入测试行业,目前从事测试管理职位,擅长测试管理、测试用例编写、功能测试;在团队合作方面也积累了不少经验,希望与大家共同探讨、学习。

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 7414
  • 日志数: 6
  • 文件数: 1
  • 建立时间: 2009-07-01
  • 更新时间: 2012-03-06

RSS订阅

Open Toolbar