Bug wieder öffnen vs. neu

55

Ein Fehler wurde geöffnet, behoben, überprüft und geschlossen. Einen Monat später wurde es in einer nachfolgenden Version nach mehreren Iterationen ohne Regression erneut angezeigt.

Wenn die Fehlermerkmale gleich sind, öffnen Sie die vorhandene Fehler-ID erneut oder öffnen Sie eine neue mit einem Link zum geschlossenen Fehler?

KMoraz
quelle

Antworten:

86

Merkmale sind nicht gleich Ursachen. Der neue Fehler könnte einen anderen Grund haben, auch wenn er anscheinend derselbe ist. Öffnen Sie also einen neuen Fehler und verweisen Sie ihn auf den alten, um dem Entwickler zu helfen.

Dibbeke
quelle
23
+1 Es gibt viele verschiedene Krankheiten mit unterschiedlichen Behandlungen, die gemeinsame Symptome aufweisen.
FrustratedWithFormsDesigner
Wäre es fair abzuleiten, dass Sie den Fehler erneut öffnen, wenn sich herausstellt, dass er dieselbe Ursache hat?
KMoraz
@KMoraz: Ich denke schon, aber das ist nur zu berücksichtigen, nachdem die Untersuchung bewiesen hat, dass es genau dieselbe Ursache ist. Da die Symptome für eine Weile verschwanden, ist es unwahrscheinlich, dass es sich genau um denselben Fehler handelt, obwohl es sich um einen Fehler handeln könnte, der in einen anderen Teil des Systems eingeführt wurde, der jedoch genauso codiert wurde wie der ursprüngliche Fehler und daher ähnliche Symptome verursacht.
FrustratedWithFormsDesigner
1
@KMoraz Ich würde nein sagen. Angenommen, es wurde in 1.0 behoben, 1.1 hatte es nicht, aber es ist in 1.2 wieder aufgetaucht. Wenn Sie es mit Ihrem Issue-Tracker nicht gleichzeitig mit mehreren Releases verknüpfen können, verlieren Sie den Verlauf, den es in 1.0 gefunden und behoben hat. Öffne einfach einen neuen Bug.
Andy
1
@ Andy glaube nicht, dass es etwas ändert, aber vielleicht 1.1 hatte es und niemand bemerkt ...
Joshuahedlund
35

Wenn es überprüft und geschlossen wurde und eine Weile funktioniert hat und dann erneut angezeigt wird, nachdem etwas geändert wurde, ist es nicht derselbe Fehler. Es mag sich ähnlich manifestieren wie der alte Bug, aber seine Ursache mag durchaus anders sein. Es ist also nicht derselbe Fehler. Also würde ich ein neues öffnen, mit einem Link zum geschlossenen Bug.

Joonas Pulakka
quelle
16

Öffne immer einen neuen Bug. Warum? Angenommen, es stellt sich heraus, dass es mit dem vorherigen Fehler identisch ist und Sie das Update für den vorherigen Fehler veröffentlicht haben. In Ihren Versionshinweisen wird "Fix Bug XXX" dokumentiert. Unter dem Gesichtspunkt der Fehlerverfolgung und der Verdeutlichung der Versionshinweise ist es vorzuziehen, auf den neuen Fehler "Fix Bug XXX + 1 (der in Ursache und Wirkung dem Fehler XXX ähnelt)" zu verweisen, anstatt "Fix Bug" zu sagen XXX (Again) "oder ähnliches.

James McLeod
quelle
2
Das Zitieren von Fehler-IDs in Patchnotizen ist nur ... sehr unfreundlich.
Thomas Bonini
3
@krelp Es ist hilfreich, wenn Sie mit einem Anbieter zusammenarbeiten, um ein Problem zu beheben, und Sie können die erhaltene Fehler-ID anhand einer Fehler-ID in den Versionshinweisen nachverfolgen.
Darryl Braaten
1
@Krelp Ich habe mich gefragt, warum das eine schlechte Idee ist. Deshalb habe ich hier nachgefragt: programmers.stackexchange.com/questions/142258/… Vielleicht haben Sie etwas dazu beigetragen ? :)
Travis Northcutt
Dies ist ein guter Punkt
KMoraz
4

Öffnen Sie im Allgemeinen einen neuen Fehler.

Wenn Sie jedoch zuerst Nachforschungen anstellen dürfen, würde ich Ihren Verlauf im Quellcode überprüfen .

Wenn Sie in einer Teamumgebung arbeiten, hat möglicherweise jemand alten Code auf seinem System (dh, er hat nach dem Einchecken des ursprünglichen Fixes kein Get Latest ausgeführt), Änderungen vorgenommen und dann eingecheckt, ohne einen Unterschied zu machen. Schlechtes Training, aber es passiert "die ganze Zeit".

Wenn Sie sich den Verlauf der Datei (en) ansehen, in denen der Fehler behoben wurde, wird dies möglicherweise schnell bestätigt oder beseitigt.

Wonko der Vernünftige
quelle
1
„(dh sie haben nicht ein , sich vor Ort nach dem ursprünglichen Update wurde eingecheckt), Änderungen vorgenommen, und dann überprüft , in ohne einen Diff zu tun“ ... wenn das passiert Quellkontrollsystem defekt ist
JoelFan
@ JoelFan - nicht unbedingt. Manchmal funktioniert die automatische Zusammenführung nicht richtig und manchmal funktioniert die manuelle Zusammenführung auch nicht richtig. Oder es könnte einfach der Fall sein, dass sie die Änderung verpasst haben, als sie das Diff usw. gemacht haben. Ich sage nur, dass dies nach menschlichem Versagen riecht und eine zweiminütige Überprüfung des Versionsverwaltungsverlaufs viel sparen kann Ärger.
Wonko the Sane
1
Das Überprüfen der Historie lohnt sich auf jeden Fall ... denn wenn Ihr Quellcodeverwaltungssystem kaputt ist, möchten Sie das wissen.
mjfgates
2
In diesem all the time
Fall
1

Ich stimme dem Vorschlag der vorherigen Poster zu, einen neuen Fehler zu öffnen, da er möglicherweise nicht die gleiche Ursache hat.

Meine weitere Empfehlung wäre, sicherzustellen, dass Sie immer Unit- und Integrationstests hinzufügen, die den Fehler abdecken, damit Sie in zukünftigen Versionen das Problem sofort erkennen, bevor es an Ihre Kunden geht. Für einen Kunden sieht nichts schlimmer aus, als den gleichen Fehler wieder zu sehen.

Mike Parkhill
quelle
1

Nicht die beste Analogie - Nur weil die Symptome von zwei Personen gleich sind, bedeutet dies nicht, dass die Krankheit / Krankheitsursache gleich ist.

Aus Wikipedia:

Ein Softwarefehler ist ein Fehler, eine Schwachstelle, ein Versagen oder ein Fehler in einem Computerprogramm oder -system, der dazu führt, dass ein falsches oder unerwartetes Ergebnis erzielt wird oder sich unbeabsichtigt verhält. Die meisten Fehler entstehen durch .....

Ein Fehler ist ein Fehler im Code und hat Symptome / Auswirkungen. Ein Fehler ist nicht das Symptom. Ein Fehler ist der Fehler im Code. Nur weil die Symptome gleich sind, bedeutet dies nicht unbedingt, dass derselbe Fehler die Symptome verursacht.

Nach meinem Verständnis sollten Sie einen Fehler erneut öffnen, wenn Sie sicher sind, dass ein Fehler aufgrund desselben Codeteils verursacht wird. Dies kann vorkommen, wenn sich der Code in allen Testszenarien / Testfällen korrekt verhält, jedoch nicht in einem neuen Testfall oder Testfall, über den Sie zuvor nicht nachgedacht haben. Diese Art von Szenario ist möglicherweise nicht üblich.

Das andere Szenario ist, dass die gleichen Symptome durch neue Fehler verursacht werden, dh neue Fehler in anderen Teilen desselben Codes oder sogar in anderen Systemen, die diesen Code betreffen.

Daher ist es am sichersten, einen neuen Bug zu öffnen, wenn dieselben Symptome auftreten. Wenn Sie sehen, dass derselbe alte Code für den Fehler verantwortlich ist, schließen Sie den neuen Fehler und öffnen Sie den alten Fehler erneut. Wenn nicht, lassen Sie den neuen Fehler bestehen und verknüpfen Sie ihn mit dem alten.

BugBot
quelle