(二)Bug不能重现的原因分析及其对策

发表于:2007-7-23 12:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘洪刚    来源:51testing投稿

#
Bug

                        

                                                    图3:“高级”选项的设置

 

        说明:在“高级”选项中,对测试起重要作用的是“禁止脚步调试”(不选择,即前面不要有勾)和“显示每个脚本错误的通知”(选择它,即前面要出现勾)。

        这些设置对重现有关脚本错误的Bug起着重要的作用。根据这些脚本错误的通知,开发人员可以快速发现代码中的错误,并及时修复它。

三、    内存泄露

        某些系统长期运行后出现运行速度慢、反应迟钝等现象,其中一个主要的原因就是内存泄露。有的开发人员没有养成及时回收内存的习惯,结果系统在不断地申请内存空间,却没有一点内存释放。这类错误在短期内不会出现,但当系统长期运行时就会出现,并且由此会引发一系列的问题。此类问题只有经过长时间的运行测试,才可能会被发现。

四、    函数接口类型不匹配

        此类错误难以重现,并且难以发现它的真正原因,一般只有在查看源代码后才能发现。某些类型的数据会被系统自动转换,一般也不会出现错误;但有些数据被截断或被强制转换成另外一种数据类型时,会出现一些潜在的错误。在集成测试时此类错误最有可能发生。

 

        既然分析出了这些Bug不能重现的原因,我们就可以对症下药了:

        1.  测试人员要有重视测试环境的意思,并在Bug Report里面增加对测试环境的准确描述,特别是影响重现此Bug的那些环境因素。

        2.  Bug的Step要准确说明操作步骤。为了重现一个Bug,测试人员可能需要对几个Build进行连续跟踪、测试和定位产生这个Bug的最根本原因。

        3.     正确设置浏览器的选项。

        4.  对性能有要求的软件或系统一定要进行长期负荷测试(Loading Testing ),以发现内存泄露等需要长期运行才能出现的问题。根据微软的测试经验,如果软件能通过72小时的强力测试,则该软件72小时后出现问题的可能几率微乎其微。因此只需对软件进行72小时的强力测试即可。

        5.  集成测试时一定要注意函数接口类型是否匹配。

        6.  测试人员要与开发人员、DBA等保持良好的关系。遇到问题要及时、主动与他们沟通,听取他们的意见。在他们的帮助下,你可以更容易地找到问题的关键所在之处。

        根据上面的这些建议,我相信大多数不能重现的Bug都可以重现了。当然由于测试的系统的开发语言、开发平台等因素的不同,恕笔者不能一一列举出无法重现的Bug发生所有原因。如果还是遇到某些严重的、却又无法重现的Bug,那么也不必惊慌,你可以按照下面的操作去查找产生Bug的原因:

        1.  积极回忆Bug的症状和所有的环境因素,一丝一毫的细节都不要错过。

        2.  与开发人员、DBA、系统设计人员、项目经理等一起分析那些环境因素,根据以往的经验分析影响此Bug重现的重要因素,并在相同的环境上安装同样的系统进行测试,以验证所做的猜测。

        另外,对于某些无法重现、但严重程度不是很高的Bug,可以暂时只作记录、而不必花费大量的人力和物力去分析。如果下次又出现了,那么根据发生的频率再去分析是否需要跟踪此Bug。如果需要跟踪它,那么在它又出现后一定要立刻对当时的环境进行截图,如错误信息、界面、日志等。这样也利于开发人员定位、分析它,从而准确、快速地修复它。如果条件允许,测试人员应立即保护现有环境,并邀请相关的开发人员和系统分析人员一起研讨产生此问题的原因和解决方法。

 

参考文献:

①Lydia Ash、李昂. Web测试指南.机械工业出版社,2004年.

②陈宏刚.微软开发的科学与艺术.电子工业出版社,2002年.

 

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们
 

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • zsh300
    2011-4-27 17:44:45

    Up up  &  Mark mark

  • bob123654
    2011-3-16 13:34:17

    是的,内存泄露很难发现的,以前做过接口测试发现许多内存泄露的问题

  • baizhudan
    2007-7-31 15:41:46

    内存泄漏也不一定长时间运行就能重现出来的

  • sunmiaoxia
    2007-7-24 21:57:24

    噢!!!

  • zfylan
    2007-7-24 12:12:58

    内存泄漏怎么把它挖出来啊?难道运行72小时就OK吗?

  • doublell
    2007-7-24 10:40:28

    very good

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号