不可复现的bug,如何确定及解决该问题

问题场景:
有一些比较严重的BUG随机发生,难以查找规律的,测试工程师提交上去后,有可能会出现以下三个情形:
1.开发人员试图重现,重现不出,Reject回来;
2.开发人员找不到规律,所以不去解决,问题一直处于Open状态;
3.开发人员因为问题难以解决,所以直接Resolved回来,觉得反正是偶发的,先改成解决状态再说。
 

对开发人员、项目经理和测试工程师来说,正确的处理方法应该是怎样的?

1>bug不能重现的原因

      1.环境的变更造成了bug难以重现,这里的环境包括了:基础软硬件环境(操作系统、网络、存储、中间件、容器等等),被测物自身发生了某些变更。环境的变更一般是由于多人共用环境造成的,也有少量情况下是系统内部或者时间触发的变更(这类bug非常难重现)。

      2.软件的版本:确认发现BUG程序版本和重现的代码是一致的,可通过tag(Clearcase应该叫Label)或者Revision号来标注。

      3.内存泄露或锁:有一些系统只有经过长时间运行才会暴露出bug,这个问题也很难重现。需要经过长时间的测试才能确认以及特殊情况下数据锁的问题,导致的一些bug都很难重现

      4.bug必须使用特殊的数据才会出现,测试人员没有意识到她使用的数据的特殊性。一种比较难搞的情况是:同一组输入,在不同情况下(不是不同的业务情况)输入会被转化成不同的数据。我曾经见到过这么个例子,程序员用系统当前时间作为随机数的种子来生成id,但是id设置的比较短,一个存储的操作使用这个id,在一些情况下,发生了冲突,当时做功能测试这种小概率事件耗费了测试人员大量时间也没有稳定重现,还是在性能测试的阶段测试了出来。

  5.测试人员由于错误操作,出现了误报(这很常见)。比如,记得自己执行了step3,其实没有,或者没有正确执行step却觉得正确执行了。

2>如何解决该问题

     1.提交该问题单:把不可重现的BUG记录下来,以后再遇到的时候可能就会了解发生的原因。同时尽力去查找出错的原因,比如有什么特别的操作,或者一些操作环境等。而且程序员对程序比测试人员熟悉的多,因为测试人员看到的只是程序的外部,无法深入程序内部,也许你提交了,即使无法重新,程序员也会了解问题所在。无法重现的问题再次出现后,也可以直接叫程序员来看看问题。

     2.尽量详细的描述缺陷:尽可能的详细记录BUG产生的相关信息;如重现频率,发生情况并有截图,操作步骤,软件的版本,发生错误时的各种变量、内存、存储器等存储的数据内容,软件出错时的软硬件环境等。

    3.人工代码走查:无法重现的代码找对系统最熟悉的开发人员重新Review代码,最好是多人一起查。查代码还找不出来,就要检查操作系统、应用服务器及其环境是否有问题,是否有兼容性问题。

    4.工具静态检查:采用静态检查工具(如pclint,splint等工具)检查代码,消除所有的error与warning。记住:可能出现问题的地方一定出现问题!

    5.换人重新开发相关模块

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个用于快速构建基于Spring框架的应用程序的开源框架,因其简化了应用程序的配置和部署流程而受到广泛关注和使用。然而,就像任何软件系统一样,Spring Boot 也不可避免地会存在一些bug。 Spring Boot 的bug系统是用于跟踪和修bug的工具。该系统可以帮助开发人员和用户报告bug,并帮助开发团队更好地管理和解决这些问题。它通常是一个在线平台,用于记录、追踪和解决bug。 在bug系统中,开发人员和用户可以提交bug报告,并提供详细的信息,如bug步骤、所使用的版本、运行环境等。这些报告将被记录在系统中,并有专门的人员负责进行分类和处理。 一旦bug被确认,开发团队会分配相应的开发人员进行修。修后的代码会经过测试,确保bug得到彻底解决。一般来说,修后的代码会在下一个发布版本中发布。同时,bug系统也会跟踪并更新修进度,以确保bug得到及时处理。 通过使用bug系统,Spring Boot 的开发团队可以更好地与用户沟通,及时解决bug,并改进系统的稳定性和性能。此外,用户也可以通过bug系统了解已修bug和更新的版本信息,及时进行升级和迁移。 总之,Spring Boot 的bug系统是一个重要的工具,用于跟踪和解决bug。通过使用bug系统,可以促进开发团队与用户之间的交流,提高系统的质量和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值