10 Stimmen

Methodik der Fehlerverfolgung

Ich arbeite an einer Software für ein Unternehmen, das niemals Fehlerberichte einreicht, sondern sich nur beschwert: "So und so funktioniert es nicht." Manchmal kann ich herausfinden, wovon sie reden, manchmal nicht. Meine Bitten um Screenshots und mehr Details stoßen auf taube Ohren (einmal haben sie einen Screenshot gemacht, ihn dann ausgedruckt, mit ihrem Faxgerät eingescannt und als TIFF an meinen Chef gemailt).

Ich habe mehrere Methoden entwickelt, um die benötigten Daten zu erhalten. Hier sind die Schritte, die ich unternommen habe:

  • Einen Bug-Tracker, in den sie Fehler eingeben können (nur einer wurde jemals eingegeben)
  • Fehlerprotokollierung. Jedes Mal, wenn ein Fehler auftritt, wird er mit Hilfe von NLog in eine Protokolldatei geschrieben
  • Das Programm hat eine Try-Catch-Funktion um die erste Methode herum, um Ausnahmen aufzuzeichnen.
  • Wenn eine unerwartete Ausnahme auftritt, mache ich einen Screenshot des Programms.
  • Der Zugriff auf alle Formulare wird protokolliert, und bis zu einem gewissen Grad auch, was sie tun. (obwohl das normalerweise nur funktioniert, wenn sie erfolgreich sind)

Welche anderen Methoden kann ich anwenden, um Fehler zu finden und mehr Daten über sie zu sammeln, damit ich weiß, wie ich sie reproduzieren kann?

0voto

BastiBen Punkte 19031

Vor ein paar Jahren hatte ich ein ähnliches Problem an meinem Arbeitsplatz. Im Grunde läuft alles auf die Unternehmenspolitik hinaus. Sobald Sie wissen, dass Sie die richtigen Werkzeuge gefunden haben, wie die richtige Bug-Tracker-Software (wir verwenden übrigens Redmine) müssen Sie ihre Verwendung durchsetzen.

An meinem Arbeitsplatz musste ich mit meinem Chef darüber sprechen, ihm jedes wichtige Detail über die Tools erklären, die Funktionsweise auf Testservern demonstrieren und aufzeigen, wie man damit Zeit und Nerven sparen und Kosten senken kann.

Danach hatten wir eine große Sitzung, eine lange Diskussion mit allen Beteiligten (insbesondere den Testern) und entschieden dann, wie und wann wir die ausgewählten Tools einsetzen. Jetzt lautet eine unserer Richtlinien: Wenn es nicht im Bugtracker steht und vernünftig dokumentiert ist --- und vor allem reproduzierbar ist, ist es kein Bug und wird nicht behoben. .

Es hat einige Zeit gedauert, bis sich alle an den neuen Arbeitsablauf gewöhnt hatten, aber jetzt möchte niemand mehr die eMail-Benachrichtigungen über Bugs, die nächtlichen Builds und unsere tägliche "Kaffeerunde" verpassen, in der wir uns darüber unterhalten, was ansteht und welche Prioritäten sich geändert haben.

Ich hoffe, das hilft.

0voto

NotMe Punkte 86089

Setzen Sie eine Schaltfläche auf jedes Formular / jede Seite der Anwendung selbst. Sie sollte an einer gut sichtbaren Stelle angebracht sein. Wenn sie auf die Schaltfläche klicken, sollen sie ein Textfeld ausfüllen, in dem das Problem beschrieben wird.

Lassen Sie sie den Fehler nicht nach Prioritäten ordnen oder kategorisieren. Sie sollten einfach alles in das eine Feld eingeben können, was sie wollen. Ihre Anwendung sollte alle Informationen sammeln, die Sie für notwendig erachten, und diese an Ihr Fehlerverfolgungssystem übermitteln. Dort erledigen Sie den Rest

0voto

Es gibt verschiedene Möglichkeiten, wie Sie die Abstürze Ihrer Anwendungen überwachen können (.Net spezifisch) Windows- und Web-Anwendungen 1. In der Datei Global.asax.cs unter der Methode Application_Error ein Protokoll in eine Textdatei schreiben, so dass Sie alle Arten von Ausnahmen mit ihren Stack Trace und alle Dinge können. 2. In allgemeinen Szenarien mit Ausnahme der .net-Umgebung können Sie eine gemeinsame Methode erstellen, die aufgerufen werden kann, um ein Protokoll zu schreiben, wann immer Sie eine Ausnahme haben, d.h. in jedem Try-Catch oder wenn eine Plattform für solche Ausnahmen vorhanden ist.

Oder wenn Sie nicht wollen, um Protokoll zu schreiben, und arbeitet unter Windows-Umgebung dann u kann gehen, um Ereignisanzeige und filtern Sie Ihre Anwendungen stürzt mit seinen Dumps.

Auch Nlog ist eine gute Methode zum Protokollieren.

Für die Ablage und Behebung von Fehlern können Sie Trac verwenden, um Probleme zu verfolgen und zu beheben, so dass man keine Ausdrucke / Faxe machen muss. Alles online, kostenlos und schnell.

Ich hoffe, es wird helfen

0voto

Befolgen Sie diese Anweisungen für die Ausnahmeprotokollierung

  1. Formular/Seite, auf der der Fehler aufgetreten ist
  2. Ereignis/Methode
  3. Datum/Uhrzeit
  4. Seine Stack Trace
  5. Fehlermeldung
  6. Einige Fehlercodes
  7. Benutzer
  8. Zeilennummer, wenn möglich

0voto

Wir haben rt für die Meldung von Benutzerfehlern verwendet, ich meine natürlich die Meldung von Benutzern über die von ihnen gefundenen Fehler, nicht die Meldung von Fehlern bei Benutzern. Das Tolle an rt ist, dass es den Benutzern einfach als E-Mail-Adresse präsentiert werden kann. Die Anweisungen sind so einfach wie nur möglich: Finde einen Fehler, schicke eine E-Mail. Meiner Erfahrung nach ist das viel einfacher zu verkaufen als Trac, Bugzilla und all die anderen. Sie sind auf ihre verschiedene Art und Weise gut, aber für die meisten Benutzer sehen sie alle aus, wie das Ausfüllen von Formularen am Computer.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X