要:本文简要分析了无法重现的Bug的可能产生原因,包括环境不一致、缺少最准确的描述和浏览器的不当设置。针对这些原因,本文给出了相应的对策。通过这些措施,可以重现许多以前认为不可重现的Bug。
关键词:重现;Bug;环境
在测试人员提交bug后,最不希望看到的结果是它们被标记为INVALID,尽管你坚信这一定是Bug。开发人员查看了bug的Description后,最不希望的结果是你无法重现它们,尽管他使用了所有可能的方法去重现它。一旦出现这样的情况,测试人员会很伤心,开发人员也会对测试人员有意见。这就使得关系本来就不怎么融洽的测试人员和开发人员之间的关系更加紧张。这对于关系紧张的测试人员和开发人员来说,无异于是火上浇油。
为了减少这种情况的出现,非常有必要分析一下Bug不能重现的原因。根据我的测试经验,Bug不能重现的原因有:
一、 环境不一致
这是bug不能重新的最主要的原因。在开发人员认为这是无效的bug 里面,估计至少有80%的Bug是因为环境不一致的原因造成的。这既包括开发环境和测试环境的不一致,也包括开发环境和系统的实际运行环境不一致。
Bug产生是有一定原因的,它的重现也需要一定的环境。如果没有相应的环境,那么你可能很难这个Bug。
从广义上来说,保证或影响系软件的任何因素都是环境。例如,硬件的配置、软件的设置、网络的带宽、网速等。通常,环境中的软件因素有:系统的Build、Application Server的类型和Version、Operation System 的语言和Version、浏览器的语言和Version等。
下面是我的一些有趣的经历:某个Bug 只出现在WebSphere 6.0.2.15上,按照开发人员的要求,把WebSphere升级到6.0.2.17 后,此Bug就自动消失了。因此,此Bug是因为WebSphere的版本不一致引起地。
几个图片在某个Build上莫名其妙地消失了,刚开始怀疑是开发人员修改别的Bug而引起的错误。后来经过仔细认真地测试才发现,原来是操作系统的语言搞的“鬼”:测试人员使用的机器的操作系统语言是简体中文,开发人员使用的是繁体中文。
Bug的Description里面缺少重现bug 的最准确的操作,下图是测试系统在增加一个Role时的页面:
图1:增加Role的页面
测试人员在输入某些数据、然后点击Save后,“一不小心”就出现了java.lang.NullPointerException的错误。说一不小心,是因为这是测试人员在无意中发现了,并且出现这个错误后,你再也无法增加任何Role了(当然也无法重现此Bug了)。最糟糕的是,别的与Role有关的许多功能点也无法验证。尽管不知道为什么发生了这个错误,也无法重现此Bug,但考虑到此Bug的严重性,测试人员还是把此Bug提交到Bug库里去了(事后证明这是非常明智的举动)。
在测试下一个Build的时候,我要求测试人员重点关注此Bug。后来在DBA的帮助下找到了产生此Bug的真正原因:输入Role Code后,如果Role Name为空,页面没有进行检查(前台没有检查);但点击Save后,数据需要保存到数据库时,Role所在的Table要求Role Code和Role Name都不能为空。因此就出现了java.lang.NullPointerException这个错误信息。
找到此Bug发生的原因后,我建议开发人员把Role Code当作Role Name,如果用户输入Role Code而没有输入Role Name。经过测试,此Bug就再也不会出现了。
下面是此bug 的完整历史记录:
[Step]
1. Add one Role on Role Manager;
2. Click on "Save" button to save it.
[Result & Memo]
One error message appears: java.lang.NullPointerException. As a result, I could not do any operation on “Role Manager” tab. This bug appears even after I restart the application server.
------- Additional Comment #1 From Jim 2006-11-25 14:08 -------
I cannot reproduce this bug. Please describe testing scenario in details + attach error logs.
------- Additional Comment #2 From Mike 2006-12-15 10:28 ------
[Step]
1. On ‘Role Manager’ tab, Click on ‘Add’ button;
2. Enter one valid role code and click on ‘Save’ button. Note: you are forbidden to enter any value for ‘Role Name’ in order to reproduce this bug.
Now there is one error message on the page when clicking on ‘Role Manager’ tab.
[Memo]
According to the schema TBCN_WF_ROLE, the ‘Name’ column is forbidden to be null. But there is no code to check it when such occasion happens. For detail information, please view the attached file.
To avoid this bug happening, I suggest you set the value of “Role Code” as “Role Name” if such occasion happens.
------- Additional Comment #3 From Jim 2006-12-17 18:06 -------
Fixed in build # >= 484
二、 浏览器的不当设置
对于Web测试来说,IE的设置又是对重现Bug起着重要的作用。下面的几个图片说明了浏览器的几个关键设置:
图2:Internet临时文件的设置
相关推荐
JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析JAVA代码BUG分析
bug统计分析图表 bug统计分析图表 bug统计分析图表
软件测试中常见问题分析及解决对策软件测试我们一般把发现的错误bug(我们也称为缺陷defect)按严重性分为4类:死机(系统崩溃或挂起)、致命(使系统不稳定、或破坏数据、或产生错误结果,而且是常规操作中经常发生或非...
一、一定要提交!!1.记得有这么个缺陷,以后再遇到的时候可能就会了解发生的原因。...无法重现的问题再次出现后,可以直接叫程序员来看看问题。 5.对于测试人员来说,没有操作错误这条.既然遇到,就
ChkBugReport是一个用于分析android的bugreport的开源工具,它可以把你得到的bugreprot导出成适合阅读的html。导出的html文件包含了根据bugreport数据得出的图表和分析结论,主要包括进程内存占用信息、程序ANR或...
帮助你快速掌握如何分析android bugreport
自己做的一个Bug统计图,大家相互参考,相互学习!
软件测试BUG清单分析说明,自己总结的,供参考! 软件测试BUG清单分析说明,自己总结的,供参考!
bug数据分析 软件工程 测试 Junit 关于测试的数据分析。
bug管理系统建立到bug的分析要点、方法以及测试根据bug数量质量对测试人员的绩效考核
自动分析bugreport的工具,github开源项目
一、一定要提交!...无法重现的问题再次出现后,可以直接叫程序员来看看问题。 5.对于测试人员来说,没有操作错误这条.既然遇到,就是问题。即使真的操作错了,也要推到程序员那里,既然测试人员犯错误,用户
测试用例不只是测试人员自己需要看,还是和开发人员...试人员提出的bug,开发并不能理解,或者不能很好的重现(提完的bug如果 记录不完整,隔两天过后,可能测试人员自己就看不懂),这个bug必须完整 的描述出来。
修改了几个bug
bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree
软件开发过程中的bug分析举例!bug原因,如何分析,怎么分析
看到网上很多问bugfree上传图片不能保存的问题,所以研究了下与大家共享,方法不是最好但希望能帮到使用bugfree软件的朋友
软件测试中的BUG数据分析,是测试一个分析方法
编写优秀Bug报告的艺术及案例分析.zip程序开发文档软件开发文技术档下载编写优秀Bug报告的艺术及案例分析.zip程序开发文档软件开发文技术档下载编写优秀Bug报告的艺术及案例分析.zip程序开发文档软件开发文技术档...