你的bug管理过程是什么?

时间:2010-02-19 19:11:09

标签: process

错误的生命周期/过程是什么?一般来说,是否有任何提示,建议过程明智地应该修复bug?

9 个答案:

答案 0 :(得分:11)

标准Find-> Fix-> Test-Release周期之外的一些事情:

  • 错误应该有多个分配,因此可以分配给一个人进行修复,另一个人进行测试,而不是分配给一个人。

  • 您的错误追踪系统必须跟踪所有更改内容的历史记录。

  • 跟踪发现错误的版本,修复版本,测试版本,然后发布。它们都是不同且重要的值。

  • 能够将问题从错误更改为增强功能。

  • 拥有“问题”或“等待答案”的状态,表示已向业务分析师发送问题,从根本上阻止了错误的进展。

  • 将错误限制在一个问题上,以便您可以验证该问题是否已得到修复。因此,如果屏幕出现3个问题,请记录3个错误,而不是单个“无论屏幕上的问题”;这些错误可以单独修复和发布,您需要能够跟踪它。

答案 1 :(得分:1)

  1. 用户报告错误
  2. QA重现错误
  3. 开发人员对错误进行分类,以验证是错误还是新功能请求
  4. 如果是错误,则将其分配给开发
  5. QA测试下一版本中的错误修复
  6. 推出

答案 2 :(得分:1)

关于这个主题的好书是:

David J. Agans

Debugging

其中一个是在调试时使用步枪而不是霰弹枪方法。这是确保测试每件作品以找到问题。此外,一旦你做了修复,然后尝试再次打破它,以确保你明白出了什么问题。

有时候我修复了(在维护代码中)只是发现修复程序破坏了其他东西。在将错误标记为已修复之前,请确保该修复不会破坏其他内容。

这提出了一个错误的真正问题:未能完全理解代码正在做什么。

答案 3 :(得分:1)

我的组织遵循了这种模式:

  1. 系统工程师或QA会注意到该错误并将其输入错误跟踪工具。

  2. PM或Dev Lead会根据严重程度,可能的解决方法以及修复错误所需的工作量来确定错误的优先级。

  3. PM或Dev Lead将错误分配给开发人员。

  4. 开发人员会在步骤1中向此人提供任何必要的帮助,以重现该错误。

  5. 开发人员编写解决方案并进行构建(或进行构建)。

  6. 来自第1步的测试人员重新测试该错误。

  7. 如果修复了错误,请重新部署或修补。否则,重复步骤5和6,直到它被修复或更紧迫的问题为主。

  8. 如果客户发现了该错误,请与他们核实是否已修复。

  9. 通常,错误会经历此分配周期:Tester - > (PM / Lead,然后是开发人员;或开发人员) - >测试仪 - > PM / Lead - >闭合。

答案 4 :(得分:1)

我不禁在这里嗤之以鼻。我试过但终于崩溃了。真正的错误过程:

用户向开发人员发送电子邮件以修复错误。除非进入项目管理系统,否则开发人员会回复电子邮件并表示无法对其进行操作。每个人都讨厌PM系统,因此用户抱怨必须输入它。 Dev因为需要某个地方来充实自己的时间而坚定不移。 Bug进入系统并分配给不同的开发人员。

这里有三个分支:

分支1,dev查看提供的屏幕截图,并注意到用户正在2009年报告页面上查找2010年数据。用户通知错误并关闭错误。

开发人员同意系统肯定不会像用户想要的那样工作。但它确实按规范定义的方式工作。用户不希望听到这现在是开发工作而不是错误。当用户必须告诉客户,由于这是新工作,他将不得不支付额外费用。决定将它视为一个错误,以使客户满意并且bug被修复和关闭。后来的管理层想知道为什么系统如此错误,我们在开发方面亏损。

哦,我的确有一个真正的错误,开发修复和移动修复prod并关闭bug。

答案 5 :(得分:0)

测试(软件) - >记录(错误) - >修复 - >验证 - >关闭

答案 6 :(得分:0)

  1. 注意错误。
  2. 找到错误,能够重现它。
  3. 代码解决方案,修复错误。
  4. 测试 - 证明您已修复错误并且未引入新错误(功能和单元测试)。
  5. 重新部署或修补。
  6. 简单的问题,简单的答案。希望这会有所帮助。

答案 7 :(得分:0)

当我发现错误时,我要做的第一件事就是将其记录在错误系统中。然后我编写测试来说明bug,然后修复代码以确保测试通过。这可以确保您可以a)重现错误并b)修复错误。

我会定期对bug数据库进行一些分析,找出错误发生的原因。规范中是否存在错误,代码中存在逻辑错误等?并采取适当措施减少错误计数。

我已在我的博客http://jeffastorey.blogspot.com/2010/02/what-to-do-when-you-find-bug.html中详细说明了这一点。

答案 8 :(得分:0)

首先要确保你所看到的错误是你应该花时间修理的错误。弄清楚错误的影响及其对用户的影响是错误的过程/生命周期中的重要的第一步。当错误量更高并且您需要确定错误的优先级时,这变得更加困难,不仅仅是一个错误,而且可能是数百个错误。

需要考虑的事项:

  • 错误频率
  • 用户受影响
  • 您的代码区域
  • VIP客户

可以帮助您更轻松地优先处理错误的事情:

  • 智能提醒
  • 沉默或打盹错误的能力
  • 将错误分组在一起
  • 将错误映射到用户
  • 在一个地方整合系统中的错误。

您可以在此处找到更多有用的建议:https://blog.bugsnag.com/bug-prioritization/