发现的Bug难以复现该怎么办?

发现的Bug难以复现该怎么办?

复现不了的问题:

①昨天必现的问题、今天复现不了;
②生产环境必现的问题、测试环境复现不了;
③测试人员必现的问题、开发人员复现不了;
④一套环境必现的问题、另一套环境复现不了;
出现以上问题的原因是什么?如何解决?

分析出现上述问题的原因:

  • 问题是伴随(预期结果)出现的,不知道何时出现、如何出现的;
  • 觉得自己知道了根本原因,实际上你不知道;
  • 系统日志记录不完善、或者根本没有打开;
  • 测试过程全程无记录;
  • 问题描述缺乏关键信息;
  • 高并发、多线程、异步调用复现概率低的问题;
  • 黑天鹅问题;

问题解决思路:

执行测试时都有明确的目的性,这个用例测试的目的是什么,预期会出现什么样的结果。出现计划内的问题,是很容易复现和定位的。但伴随出现的问题,你一般不能第一时间抓住它,直到它产生了破坏作用,才能感知到问题的存在。它是在何时因为什么操作出现、什么事件触发的,不知道。这类问题就比较容易演化为难复现问题。

正确姿势:

保持冷静,不要激动,思考一下:你对它做了什么?为什么这样?预期结果和伴随问题有什么关系(可能没关系)?可能在什么地方、什么操作、什么事件触发的?

想明白了吗?想不明白叫别人(如开发,同行测试)一起想。

不管是否想明白,把操作记录、组网、数据、配置、状态全部记录下来;

在不破坏环境的情况下,尝试验证想法;

如果问题比较严重,考虑另搭环境验证;

想法得到验证后,简化环境验证问题,找到问题触发条件。

只要做事严谨,大部分情况是可以避免的。发现问题后,分析问题的正确姿势:

  • 回想可能是什么事件、什么操作、还是环境变化触发了这个问题;
  • 查阅相关日志、操作记录进行验证;
  • 依据问题重要性,保存关键的信息;
  • 在现有环境中验证;


留言