Es gibt einige Arten von Fehlern, die sehr schwer zu reproduzieren sind, sehr selten und scheinbar zufällig auftreten. Es kann vorkommen, dass ich eine mögliche Ursache finde, sie behebe, das Programm teste und den Fehler nicht reproduziere. Wie kann ich dies jedoch in einem Bugtracker anzeigen, da es unmöglich war, den Fehler zuverlässig zu reproduzieren, und es so selten vorkam? Was ist die übliche Vorgehensweise?
Wenn ich den Wert status
auf fixed und den solution
Wert auf fixed setzen würde, würde das etwas völlig Festes bedeuten, nicht wahr?
Ist es üblich, das status
zu fixieren und das solution
zu öffnen, um den Testern anzuzeigen, dass "es wahrscheinlich fixiert ist, aber mehr Aufmerksamkeit benötigt, um dies sicherzustellen"?
Bearbeiten: Die meisten (wenn nicht alle) Bugtracker haben zwei Eigenschaften für den Status eines Fehlers, möglicherweise sind die Namen nicht gleich. Mit dem status
ich meine neue, zugewiesen, fixiert, geschlossen, usw. , und solution
ich meine , offen (neu), feste, unlösbare, nicht reproduzierbar, vervielfältigen, nicht einen Fehler , usw.
Antworten:
Allgemein oder nicht, das ist sowieso das Richtige, und Sie haben selbst dargelegt, warum: Egal wie, es ist eine gute Vorgehensweise
weisen die Tester darauf hin, dass "es wahrscheinlich behoben ist, aber mehr Aufmerksamkeit benötigt, um sicherzustellen, dass"
Randbemerkung: Auch wenn ein bestimmter Bug-Tracker kein Feld wie dasjenige enthält, das Sie als beschreiben
solution
, kann der Entwickler mindestens einen Kommentar in freier Form hinzufügen, der die obigen Erläuterungen enthält.... und wenn der Bug-Tracker keine Kommentare zum Problem zulässt, muss er durch einen solchen ersetzt werden. Die Möglichkeit, Freiformerklärungen hinzuzufügen, ist ein äußerst wichtiges Merkmal, da die Probleme zu stark variieren, um in ein vordefiniertes Formular zu passen.
quelle
Das Testteam entscheidet, ob das Problem behoben wurde und ob es geschlossen werden kann. Wenn es weitere Regressionen, Nebenwirkungen des Fixes gibt oder der Fix selbst in einem anderen Szenario nicht wirksam ist, wird das Problem erneut geöffnet. Wenn Sie jedoch genug Entwicklertests durchgeführt haben, ist es besser, sie als behoben zu markieren.
quelle
Wenn es kein reproduzierbares Testszenario gibt, würde ich nicht einmal versuchen, einen solchen Fehler im Voraus zu beheben. Wenn Sie dem Tester mehr Aufmerksamkeit schenken möchten, geben Sie ihm die Möglichkeit, ein reproduzierbares Szenario zu erstellen.
Nehmen wir zum Beispiel an, Sie ändern das Programm, und ein Tester investiert 1 Stunde in den Versuch, den Fehler zu reproduzieren, und der Fehler tritt nicht auf - war eine Stunde genug? Oder ist es Zeitverschwendung, weiter zu testen, weil der Fehler bereits behoben wurde?
Wenn Sie das Programm jedoch nicht ändern und der Fehler nicht innerhalb einer Stunde auftritt, sollte der Tester höchstwahrscheinlich eine weitere Stunde in das Ausprobieren verschiedener Dinge investieren. Und wenn der Tester eines Tages investiert und den Fehler nicht mehr reproduzieren kann - lohnt es sich dann wirklich, ihn zu beheben?
Vor diesem Hintergrund können Sie überlegen, wie Sie diesen Prozess in Ihrem Bug-Tracking-System modellieren: Wenn Sie nicht versuchen, ihn zu beheben, und ihn den Testern übergeben, kann dies zu einem Bug-Status wie "offen" führen. Wenn die Tester es nicht reproduzieren können, ist es offensichtlich "nicht reproduzierbar". Hoffentlich passiert dies nicht, sie finden ein reproduzierbares Szenario, Sie können die Grundursache Ihres Fehlers finden, es beheben und den Status auf "behoben" setzen. Versuchen Sie zu vermeiden, in etwas wie "Weiß nicht, ob es behoben ist" zu geraten.
quelle
Manchmal haben Sie nur rein statistische Beweise, z. B. treten sie ein- oder zweimal im Monat auf, scheinen aber ansonsten mit nichts zu tun zu haben. Dies sind die schlimmsten Fehler, die ich je diagnostiziert und behoben habe, da Sie nicht mit Sicherheit feststellen können, ob Ihre Korrekturen einen Effekt haben. Das letzte Problem, das ich lösen musste, endete mit einer statistischen Korrektur: Die Häufigkeit des Symptoms ging auf 10% zurück, mit der wir begonnen hatten. Das letzte Stück wurde nie gefunden, oder vielleicht doch, aber niemand konnte es sagen.
Zwei Ratschläge, die ich habe, lauten: (1) Nehmen Sie an, dass mehrere Ursachen wirksam sein könnten, bis Sie etwas anderes wissen, und (2) stellen Sie eine Hypothese auf, wie die Symptome möglicherweise auftreten könnten, und reißen Sie dann jede Logik auseinander, die auch nur aus der Ferne betroffen ist. Tiefe Komplettlösungen sind manchmal das einzige Mittel, um ein zufriedenstellendes Ziel zu erreichen.
quelle