如何处理我认为已修复的错误,但我不确定


13

有些错误很难重现,很少发生,而且似乎是随机的。可能会发生,我找到了可能的原因,进行了修复,测试了程序,并且无法重现该错误。但是,由于不可能可靠地重现该错误并且它很少发生,因此如何在Bugtracker中指出呢?常见的做法是什么?

如果我将设置status为固定,并将设置solution为固定,则意味着完全固定了,不是吗?

是否通常将“ status固定”和“ solution打开” 设置为向测试人员表明“它可能是固定的,但需要更多注意以确保”?

编辑:大多数(如果不是全部)错误跟踪程序都具有两个用于错误状态的属性,也许名称不相同。通过status我的意思是新的,分配,固定,封闭等,并通过solution我的意思是开放的(新),固定的,无法解决的,不可重复的,重复的,而不是一个错误,等等。


3
这是特定于您的错误跟踪器的。您还可以为状态解决方案分配哪些其他值?
Scarridge

在某些错误跟踪器中,有一个已解决状态和另一个已关闭状态。只允许质量检查人员将状态设置为已关闭,但是开发人员可以将状态设置为已解决。
布赖恩

Answers:


8

是否通常将状态设置为“固定”并打开解决方案,以向测试人员表明“状态可能是固定的,但是需要更多注意以确保”?

无论是否常见,这都是正确的做法,而您却列出了自己的原因:无论如何,这都是一种很好的方法

向测试人员表明“它可能是固定的,但需要更多注意以确保”


旁注,即使特定的错误跟踪器没有您所描述的字段solution,开发人员也可以至少添加上面解释的自由格式注释。

...并且如果错误跟踪程序不允许在问题中添加评论,则必须将其替换为该问题。能够添加自由形式的说明是一项至关重要的功能,因为问题相差太大,无法适应某些预定义的形式。


6

测试团队将决定问题是否已解决以及是否可以解决。如果有更多的回归,修复程序的副作用,或者修复程序本身在其他情况下无效,则该问题将重新出现。但是,如果您已经进行了足够的开发人员测试,则最好将其标记为已修复。


+1-这是最简单的答案。如果您已尽力而为,并且测试团队的测试套件足够强大,您还能做什么?
ozz 2012年

3

有些错误很难重现,很少发生,而且看起来是随机的。可能会发生,我找到了可能的原因,进行了修复,测试了程序,并且无法重现该错误。

实际上,如果没有可重现的测试方案,我什至不会尝试事先修复此类错误。如果您想让测试人员更多地关注它,请给他们一个创建可复制场景的机会。

例如,假设您更改了程序,测试人员花了1个小时尝试重现该错误,但该错误没有弹出-足够一个小时吗?还是因为该漏洞已得到修复而进一步测试浪费时间?

另一方面,当您不更改程序,并且错误在1小时内没有弹出时,测试人员很可能应该再花一个小时来尝试其他事情。当测试人员投入一天的时间而无法再复制该错误时,真的值得尝试修复它吗?

话虽如此,您可以考虑如何在错误跟踪系统中对该流程进行建模:不尝试对其进行修复并将其移交给测试人员可能是“打开”之类的错误状态。如果测试人员无法复制它,则显然是“不可复制的”。希望这不会发生,他们会找到可重现的方案,您可以找到错误的根本原因,进行修复,并将状态设置为“已修复”。尽量避免陷入“不知道它是否已修复”之类的问题。


4
对于某些错误类型,根本不存在可重现的测试方案。例如,与计时相关的错误平均在一百万次中可能发生1次-但无法预测它是在第三次运行还是在532454次运行。但是,此类错误是错误,必须修复。
乔纳斯·普拉卡

3
@乔纳斯·普拉卡(Joonas Pulakka):我同意。这些错误可能取决于外部环境。在嵌入式情况下,它们可能取决于您无法控制的某些因素引起的电涌。不尝试修复它并不总是最好的解决方案,特别是如果我碰巧发现一个代码气味,我怀疑它可能是导致该错误的原因。在这种情况下,为什么我不应该修复它?
vsz 2012年

2
@JoonasPulakka:根据我对可再现场景的经验,在大多数情况下,人们说“不可能”时,他们只是缺少使事情变为可能的正确想法。在您的示例中,可以设置一个带有“ 1000万次运行”循环的方案,从而使其至少有可能在合理的时间内显示该错误。
Doc Brown

2
@vsz:当然,您应该修复它,但是我的建议是首先创建一个测试(或给测试者提示要测试的内容),然后修复它,反之亦然。
Doc Brown

2
@DocBrown是正确的,另一种思考方式是,有时错误需要统计方法来“复制”它们。很可能是有一组非常特定的输入/情况会重现该错误,但是您可能不知道这些输入是什么,并且可能的输入集可能太大而无法遍历。在这种情况下,一种方法是每次尝试解决此问题时,都会收集有关错误发生情况的统计信息。这可能会花费很长时间,并且结果可能无法从统计学的意义上给您100%的“信心”,但有时您会拥有全部。
安杰洛2012年

0

有时,您仅有的唯一证据纯粹是统计信息,例如,每月发生一次或两次,但似乎与任何事物都没有联系。这些总体上来说是我所遇到的最糟糕的诊断和解决错误类型,因为您无法确定您的修补程序是否具有确定性。我必须解决的最后一个问题以统计学上的修正结束:症状的发生率降至我们开始时的10%。最后一块从来没有找到,或者也许是,但是没有人可以告诉。

我有两条建议:(1)假设可能有多种原因起作用,直到您另行知道为止;(2)假设症状可能如何存在,然后拆解甚至涉及很远的每条逻辑。深入的演练有时是达到令人满意的结果的唯一方法。

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.