您如何编写出色的错误报告?

软件测试 文件 错误报告
2022-01-25 23:27:05

“这是一场单口相声的战斗,长官,还是一场虫子狩猎?” - 哈德森

我一直想知道编写出色的错误报告的秘诀是什么。随着时间的推移,我将活动范围缩小到三个基本要素。

  1. 复制:一旦你找到了错误,复制它。
  2. 文件:写下来,必要时详细打包。
  3. 沟通:将其输入错误跟踪器并告诉某人。

复制- 显然这是最讨厌的一步,因为你刚刚破坏了一些东西,我们为什么要再次破坏它?不幸的是,这是过程的一部分。可重复的错误通常会让开发/实施团队非常清楚地了解可能出现的问题。一次发生的错误可能很难追踪。所以,如果你发现有问题,你的第一步就是尝试让它再次发生。这就是为什么你在精神上跟踪你在做什么和你点击了什么是至关重要的。某些组合会产生错误,而其他组合则不会。

文档- 唯一比错误更糟糕的是没有任何细节的错误。例如,以下错误报告有什么问题?

我的订单失败了。我认为它坏了。

除了您的订单失败之外,没有任何细节!非常出色的细节示例:

  • 重复错误的步骤(参见步骤 1)
  • 你所期待的与你得到的
  • 出现在页面上的错误消息
  • 您使用的是什么浏览器/操作系统

因此,如果您要像以下那样重写错误 - 这将使实施团队更容易调查和解决问题:

我正在使用以下内容: 操作系统:Mac OS X (10.4.9) 浏览器:Firefox 2.0.0.3

我在 yoursitehere.com 上订购的依偎小狗无法通过,我不知道为什么。当我尝试下订单时,我最终在订单输入页面上显示以下错误消息:“我们很抱歉,我们的记录表明已经下了另一个订单....”带有确认消息的收据页面和我的收件箱中的确认电子邮件,但我收到了错误消息。

尝试以下步骤:

你的步骤在这里

沟通——为了纠正错误,实施团队需要了解它。这并不像听起来那样乏味。但是,您越早让您的主要开发人员/项目经理/测试人员知道,它就可以越早进入队列进行修复。

我就是这样做的……但是在你的脑海中是什么让一个伟大的错误报告?

4个回答

我记录了以下内容:

  1. 我认为问题是什么。有时这可能很棘手,如果我不确定,我会在提交之前与某人讨论该功能。
  2. 我认为预期的结果应该是什么?再次,棘手。见#1。
  3. 重现步骤。让开发人员心动的最简单方法是提供有关如何重现问题的详细且易于遵循的说明。
  4. 我附上我拥有的所有日志文件,并将它们缩减为仅相关信息。
  5. 附加数据库备份或虚拟环境准备就绪。
  1. 一个清晰的标题- 我希望能够一眼就知道我在看什么,而不需要进入报告本身。
  2. 错误描述- 这应该尽可能简洁。
  3. 复制步骤您应该能够重现该错误,并希望已将其缩小到最简单的步骤。
  4. 相关的环境注意事项(操作系统、浏览器、硬件)。
  5. 任何有助于更轻松地挖掘问题的其他材料(堆栈跟踪、日志、脚本文件、特定数据集、屏幕截图)。

错误报告应包含尽可能多的详细信息。但请记住,如果测试人员付出了很多努力,那么它不应该让测试人员无法创建它们。

一个好的模板应该包含标题(简短和描述性)、构建编号、需求参考(可选)、问题描述、预期结果、重现步骤、分析(可选)。

此外,测试经理应该更新其他属性,例如目标构建(应该解决这个问题)、内部优先级、客户严重性(如果这个项目是针对客户的)、项目标识符(如果项目有多个版本)。

请注意,要求测试人员设置内部优先级或客户严重性需要解释项目的许多管理方面。

一份出色的错误报告会向开发人员提供他们需要修复错误的信息,并且只需要很少的额外信息。

不幸的是,你不能依赖测试人员总是知道什么是必要的,什么不是,所以我会让他们谨慎行事,并尽可能详细地说明他们所做的事情,只要他们保留它有凝聚力的。一个优秀的开发人员将能够筛选它(假设报告是连贯地编写的)以找到他真正需要解决问题的信息。

大多数错误都是简单的修复,并且在大多数情况下只是对需求的误解。它正在寻找一个简单的解决方法,这是令人头疼的问题。

如果测试人员能够明确找出未满足的要求,它应该对开发人员有很大帮助。