美文网首页想法简友广场读书
bug不能重现的几个原因

bug不能重现的几个原因

作者: 影子喵喵喵 | 来源:发表于2023-06-08 03:38 被阅读0次

    一、环境不一致

    这是bug不能重新的最主要的原因。

    在开发人员认为这是无效的bug 里面,估计至少有80%的Bug是因为环境不一致的原因造成的。这既包括开发环境和测试环境的不一致,也包括开发环境和系统的实际运行环境不一致。

    Bug产生是有一定原因的,它的重现也需要一定的环境。如果没有相应的环境,那么你可能很难这个Bug。

    从广义上来说,保证或影响系软件的任何因素都是环境。例如,硬件的配置、软件的设置、网络的带宽、网速等。

    通常,环境中的软件因素有:

    (1)系统的Build

    (2)Application Server的类型和Version

    (3)Operation System 的语言和Version

    (4)浏览器的语言和Version

    【案例1】

    我们发现某个Bug 只出现在WebSphere 6.0.2.15上,按照开发人员的要求,把WebSphere升级到6.0.2.17 后,此Bug就自动消失了。因此,此Bug是因为WebSphere的版本不一致引起的。

    【案例2】

    几个图片在某个Build上莫名其妙地消失了,刚开始怀疑是开发人员修改别的Bug而引起的错误。

    后来经过仔细认真地测试才发现,原来是操作系统的语言搞的“鬼”:测试人员使用的机器的操作系统语言是简体中文,开发人员使用的是繁体中文。

    二、浏览器的不当设置

    对于Web测试来说,IE的设置又是对重现Bug起着重要的作用。下面的几个图片说明了浏览器的几个关键设置:

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

    这些设置对重现有关脚本错误的bug起着重要的作用。

    根据这些脚本错误的通知,开发人员可以快速发现代码中的错误,并及时修复它。

    三、内存泄露

    某些系统长期运行后出现运行速度慢、反应迟钝等现象,其中一个主要的原因就是内存泄露。

    有的开发人员没有养成及时回收内存的习惯,结果系统在不断地申请内存空间,却没有一点内存释放。

    这类错误在短期内不会出现,但当系统长期运行时就会出现,并且由此会引发一系列的问题。

    此类问题只有经过长时间的运行测试,才可能会被发现。

    四、函数接口类型不匹配

    此类错误难以重现,并且难以发现它的真正原因,一般只有在查看源代码后才能发现。

    某些类型的数据会被系统自动转换,一般也不会出现错误;但有些数据被截断或被强制转换成另外一种数据类型时,会出现一些潜在的错误。

    在集成测试时此类错误最有可能发生。

    相关文章

      网友评论

        本文标题:bug不能重现的几个原因

        本文链接:https://www.haomeiwen.com/subject/ndeuedtx.html