如何处理似乎已修复的错误?[关闭]


16

我是内部系统的Web应用程序开发人员。用户报告存在错误。

错误是某些单词无法显示。该报告包含一个截屏,清楚地显示了该错误。但是该报告已经发布了将近一个月,并且该错误无法再在我们的生产环境中复制。

我应该如何回复客户和用户?



1
弄清楚如何使其可重复。
Wyatt Barnett

2
您可以花多少时间进行这项调查?该错误及其负面影响有多严重?如果答案很少且可以忽略不计,那么我想说它是固定的,并注明在什么情况下它并不是真正固定的,等待它回来是对公司资源的完全可接受的使用。
Newtopian 2015年

2
这只是需要一个非常标准的样板响应:“ 亲爱的[用户],您在Yth上报告的X问题似乎已由最新版本的Z解决。如果确实如此,请将该问题标记为已解决。如果没有,请把有关您如何遇到的详细信息寄给我。
Lilienthal 2015年

1
@Lilienthal仅仅因为无法复制错误,并不意味着它已经得到解决。您甚至都不知道上个月甚至有新版本发布。
狗仔队2015年

Answers:


32

将您的开发环境恢复为发现该错误的版本,并验证该错误是否存在。

如果存在,则可以调查该错误,并确保当前版本没有此错误。然后关闭该错误报告,并附上一条不相关的更改来修复它。如果需要,添加回归测试。

如果您无法在该版本中重现该错误,则将在此处使用许多其他问题中列出的策略(感谢托马斯作为初始清单):


2
以我的经验,大多数团队只是在票务系统中选中“无法复制”选项并将其关闭。测试“ then”和“ now”代码以确保问题在那里并且不再存在,这似乎是一个更好的解决方案。但是,与说“无法复制”并关闭它相比,它也更耗时,因此它可能不是每个错误的选择。
Paul J Abernathy,2015年

5
取决于错误的严重程度。如果这只是一个布局错误,那么确实无法复制并完成,但是如果它可能更加险恶,那么花几个小时进行回归测试就值得了。
棘轮怪胎2015年

2
@ratchetfreak或者,这取决于该特定客户的认真程度。如果他们单枪匹马为您的薪水提供资金,也许值得把它们逗humor ;-)
Cort Ammon-恢复莫妮卡2015年

7
自己解决的问题会自己解决。
皮特·贝克尔,

1
这都是工作量的问题。如果您有一个月前可以重现的错误,而现在又不再可以重现,那么您首先要修复现在可以重现的错误。如果您陷入完全无聊的状态,则可以进行调查。而当问题再次出现时,那当然是可复制的错误,您就可以开始解决它了:-)
gnasher729 2015年

2

我将假设您确实做了所有可以重现该错误但不能做的事情。

在这种情况下,通常最好在无法记录正在完成的工作的应用程序区域周围添加一些代码,以便希望如果再次发生,您将有更多数据要处理。考虑一下您目前尚不具备的哪些信息。例如,它可能仅在发送一组特定的输入参数时发生,因此您在每次过程运行时都记录这些参数。但是,在执行此操作之前,请与您的上司联系,具体取决于该错误的重要性和发生的频率,他可能不想花时间来执行此操作。

然后,您去报告该错误的人(如果有错误,您可以在错误跟踪应用程序中进行此操作,而不必亲自去进行),并说您无法重现该错误,但又添加了一些其他错误记录日志,以获取错误再次发生时该流程的详细信息。然后关闭错误。

如果您无法执行其他日志记录。只需报告该错误是不可复制的,并且如果它们再次遇到该错误,则您将需要这些信息来复制该错误并告诉他们您需要什么。我们经常要求他们告诉我们他们在遇到错误时要输入什么输入参数。仅对错误进行屏幕快照会有所帮助,但准确了解他们在错误发生时正在采取的步骤以及尝试使用的信息会更有帮助。因此,基本上,您是让他们自己承担责任,以便当错误再次发生时,他们可以向您提供更多信息。

在您的错误跟踪器中,请确保说明您尝试了哪些步骤,以便如果再次发生该错误,则处理该错误的人员将对之前的工作有所了解。


1

不可复制的袋子是最糟糕的!同时,它可能已经固定,或者可能仍在那儿,但是它是零星的,或者复制步骤不充分。您必须对错误的高风险以及进行调查的范围进行判断。您是在制作在线配方管理器还是核导弹的转向控制软件?

如果它是影响较小的错误,并且您知道已进行了可能导致错误地修复的错误,则可以关闭该错误,并注明该错误不可复制,并且您假定已修复,这是可以接受的。 。

如果您更担心,则可以首先对导致该错误的原因进行一些理论分析,并仔细查看更改日志和源历史记录,以查看是否可以找到问题所在。

对于更严重的错误,您必须将源代码回滚到最新版本,然后尝试重现。如果复制成功,则可以编写测试以确保在以后的提交中将其修复。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.