如何处理不可重现的bug

4

您是否曾经遇到这样的情况 - 客户报告了一个错误,但您无法重现该错误。即使QA团队也无法重现该错误。我们的桌面应用程序(C#,Windows表单)面临着这样的情况。您建议我们应该如何重现该错误或跟踪生成该错误的场景。


在这里,我们可能需要更多的信息才能提供更多帮助...我知道我已经做过一些事情,比如观察客户在他们的机器上重现错误,而我远程查看。这可能是一个痛苦的经历,但这可能有用也可能没有用。 - Andrew
2个回答

5

是的,这种情况很常见。

我发现处理这种情况的最佳方式是在日志文件中记录尽可能多的信息,并让客户将日志文件发送给您进行分析,以及他们在出现问题时所做的描述。客户的描述通常非常不完整,并且遗漏了有关错误发生时他们正在做什么的重要细节。详细的日志可以帮助填补故事中的空白。

如果你足够幸运,日志文件中包含堆栈跟踪,即使它是一个你自己无法重现的罕见bug,也经常可以推理出可能导致错误的原因。在这种情况下,受影响代码的代码审查可以揭示代码设计中的缺陷,并建议一个 less likely to fail 的替代方法。


0

这完全取决于你面对的是什么类型的错误(逻辑、用户界面、多线程或实际用户)。

  • 确保客户已经提供了所有必要的信息来重现错误。
  • 如果可能的话,让客户向你展示如何重现错误,或者至少发送一些屏幕截图来说明操作过程。
  • 确保编写一些单元测试来尝试覆盖错误,并尝试证明它的存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接