5

我想以类似于 ESR 的How To Ask Questions The Smart Way的风格编写(或查找)有效错误报告的指南

您对有效的错误报告有哪些重要提示?

4

8 回答 8

9
  • 有关如何重新创建错误的分步说明
  • 确保您已尝试将错误与您实际编写错误的对象隔离开来,而不是可能是其他原因。
  • 列出尝试将错误与您正在编写错误的软件之外的其他东西隔离开来
  • 让自己可以回答问题并可以帮助解决/重新创建错误

最重要的是,当遇到错误时,您必须进行某种程度的批判性思考。一旦你用尽了所有可能是你的错的可能性,写一个错误。如果您发现它是您的错,但您正在使用/测试的软件可能已经做了一些更有用的事情来表明它是您的错,仍然写一个错误。

此外,要成为真正出色的错误报告者,您必须利用那些测试错误的人来帮助他们重新创建它。很可能您刚刚“掌握了重新创建该错误的诀窍”,并且可能存在您没有意识到的步骤。你不能只是抱怨然后走开,参与这个过程并通过测试、重建和故障排除来帮助团队。

于 2008-10-27T15:39:16.777 回答
3

报告可观察到的事实,然后报告您对这些事实的解释。

有时最好的错误报告包括一些对问题理解的直觉。仅提供事实的错误报告会低估这一宝贵的人力资源。

于 2008-10-27T15:48:43.450 回答
2
  • 用于重新创建错误的程序,包括正在执行的操作、正在使用的应用程序的哪个区域以及当时正在发生的事件。
  • 可再现性声明(可靠,不可靠) - 帮助开发人员了解再现的难度,因此他们不会很快放弃
  • 生成的错误消息/堆栈跟踪的屏幕截图或文档
  • 错误的严重性/优先级(是否可以避免、避免步骤、是否是灾难性的、是否有业务影响、业务风险是什么等)
  • 环境 - 在哪个环境中发现错误。远程、本地等。

很多时候,我们的 QA 人员认为他们可以只写一张票说,这是我的例外,没有任何备份文档。它几乎不可能重现,更不用说在没有更多信息的情况下解决问题。

于 2008-10-27T15:44:31.620 回答
2

不要假设您的错误报告的读者和您一样了解该软件。如果自编写软件以来已经过了足够长的时间,即使是编写软件的人也可能不知道您在说什么。编写它以便任何人都可以理解和重现问题。

于 2008-10-27T16:05:40.983 回答
2

推荐这篇文章:如何有效地报告错误

于 2009-05-16T01:51:03.670 回答
1

对于所有不会在没有复制步骤的情况下查看某些内容的人:
我的第一份编程合作工作给我分配了一个错误,该错误本质上是一个随机竞争条件,导致系统不稳定。它发生在系统执行的任何时候,我们所拥有的只是一些堆栈跟踪,指向一段显然很好的代码。在某个地方,另一个线程正在处理不应该出现的数据,如果该线程处于正确的位置,它就会崩溃。我们的 QA 大约每月发生一次崩溃。花了两周时间梳理系统才找到罪魁祸首(是的,未经检查的共享资源访问,大约 2 行修复)并修复它。从来没有一个像样的复制步骤,因为没有通用的方法来复制它(除了在正确的位置推一堆yield())。如果你要在多线程系统上工作,

请注意,上述内容不是 QA 尽可能不包含尽可能多细节的借口,只是指出在现代软件中并不总是可以做到这一点。

于 2008-10-27T18:48:42.137 回答
0

编写重现错误的步骤。如果你不能复制它,它就不会得到修复。

于 2008-10-27T15:37:34.690 回答
0
  • 始终报告被测软件的版本号
  • 始终报告任何其他软件(浏览器、操作系统等)的版本
  • 始终列出所有硬件
  • 重现步骤
  • 虫子的症状
  • 屏幕截图、痕迹、日志、其他附件(如果有)
  • 有多重要——崩溃、UI 等。
  • 报告是否可重现
  • 任何其他尝试过的,是否重现了错误
于 2008-10-27T18:29:03.020 回答