Fehlerprotokollierung
Verbessern Sie Softwaretests durch Protokollieren von Fehlern und Mängeln
Lösungen ansehen
Working Late at Night in the Office: Businesswoman Uses Desktop Computer, Analyzing, Using Documents, Solving Problems, Finishing Important Project. Diligent Ambitious Young Worker. Side View
Was bedeutet Fehlerprotokollierung?

Die Fehlerprotokollierung ist der Prozess der Protokollierung und Überwachung von Fehlern oder Störungen im Rahmen von Softwaretests . Es wird auch als Fehlererfassung oder Problemprotokollierung bezeichnet. Große Systeme können Hunderte oder Tausende von Mängeln aufweisen. Davon muss jeder zur Fehlerbehebung evaluiert, überwacht und priorisiert werden. In einigen Fällen müssen Fehler möglicherweise über einen langen Zeitraum protokolliert werden.

„Die Fehlererfassung ist ein wichtiger Prozess im Software-Engineering, da komplexe und geschäftskritische Systeme Hunderte von Mängeln aufweisen,“ laut Tutorials Point. „Einer der herausfordernden Faktoren ist die Verwaltung, Bewertung und Priorisierung dieser Mängel. Die Zahl der Mängel multipliziert sich im Laufe der Zeit und man setzt Fehlererfassungssyteme ein, um die effektive Verwaltung all dieser Mängel zu vereinfachen.“ 1

So funktioniert die Fehlerprotokollierung

Ein Softwarefehler tritt auf, wenn eine Anwendung oder ein Programm nicht wie erwartet funktioniert. Die meisten Fehler sind Störungen oder von Systemarchitekten, Designern oder Entwicklern gemachte Fehler. Testteams verwenden Fehlerprotokollierung zur Überwachung und Meldung von Fehlern, die im Laufe der Entwicklung und Testphase einer Anwendung auftreten.

„Ein wesentlicher Bestandteil eines Fehlerprotokollierungssystem ist eine Datenbank, die Informationen über bekannte Fehler aufzeichnet“, so Wikipedia. „Derartige Informationen können den Zeitpunkt der Fehlermeldung sowie den Schweregrad des Fehlers, das fehlerhafte Programmverhalten und Einzelheiten zur Fehlerreproduktion enthalten; außerdem die meldende Person und ggf. Programmierer, die an der Behebung arbeiten.“ 2

Ein einzelner Mangel kann während seiner Lebenszeit mehrere Stadien oder Zustände durchlaufen. Darunter:

  • Aktiv: Untersuchungen laufen
  • Test: behoben und bereit für Tests
  • Geprüft: erneut getestet und geprüft durch Qualitätssicherung (QS)
  • Abgeschlossen: Kann nach QS-Prüfung abgeschlossen werden oder wenn es nicht als Mangel eingestuft wird
  • Erneut geöffnet: nicht behoben und reaktiviert 3

Fehler werden nach Priorität und Schweregrad verwaltet. Schweregrade helfen dabei, die jeweiligen Auswirkungen eines Problems auf ein Produktrelease zu bestimmen. Von diesen Klassifizierungen können verschieden viele vorhanden sein, aber in der Regel finden sich darunter die folgenden:

  • Katastrophal: verursacht Totalausfall der Software oder nicht wiederherstellbaren Datenverlust. Es gibt keine Fehlerumgehung und das Produkt kann nicht freigegeben werden.
  • Beeinträchtigte Funktion: Fehlerumgehung existiert unter Umständen, ist aber unbefriedigend. Die Software kann nicht freigegeben werden.
  • Ausfall unkritischer Systeme: eine hinreichend zufriedenstellende Fehlerumgehung liegt vor. Das Produkt kann freigegeben werden, wenn der Fehler dokumentiert wurde.
  • Sehr gering: Fehlerumgehung ist vorhanden bzw. das Problem kann ignoriert werden. Produktrelease wird nicht beinträchtigt.

In den meisten Fällen werden Zustände und Prioritäten in einer Fehlerprotokollierungs-Datenbank überwacht. Eine gute Protokollierungsplattform knüpft auch an größere Softwareentwicklung und Managementsysteme an: zur besseren Beurteilung des Fehlerstatus sowie potenzieller Auswirkungen auf Produktion und Zeitpläne insgesamt.

Die Bedeutung der Fehlerprotokollierung

Es wird geschätzt, dass Software-Entwickler jede Tausend Zeilen Code 100 bis 150 Fehler machen.4 Ein Bericht des Consortium for IT Software Quality (CISQ) stellt fest: „Selbst wenn nur eine kleine Teilmenge – vielleicht 10 Prozent – dieser Fehler schwerwiegend sind, dann kommt man bei einer relativ übersichtlichen Anwendung mit 20 000 Zeilen Code auf etwa 200 gravierende Codierungsfehler.“ 5

Software-Tests sind für die Isolierung und Behandlung von Fehlern unerlässlich. Ein effektives QS-Verfahren kann Hunderte oder sogar Tausende Mängel entdecken und Testteams müssen diese Flut bewältigen. Die Integration der Fehlerprotokollierung in Test-Workflows verbessert die Effizienz, indem es Tester dabei unterstützt, den Status jedes einzelnen Fehlers zu priorisieren, überwachen und in Berichten festzuhalten.

„Die Fehlererfassung hilft dabei, sicherzustellen, dass in einem System gefundene Fehler tatsächlich behoben werden,“ so die Beraterin AgileYvette Francino von Agile. „Protokollierungs-Tools sind nicht nur eine Methode zur Gewährleistung der Nachbereitung sondern sondern produzieren auch wertvolle Metriken. Je nach verwendetem Tool kann das Team Mängel Veränderungen des Codes, Tests oder anderen Daten zuordnen, was die Nachverfolgbarkeit und Analyse von Trends im Zusammenhang mit Mängeln ermöglicht. Wenn ein bestimmtes Modul erst mit Mängeln durchsetzt ist, muss es möglicherweise überprüft und neu geschrieben werden.“ 6

Im Idealfall sollten Tests frühestmöglich stattfinden sein – wenn die Fehlerbehebung noch einfacher und wesentlich kostengünstiger ist. Eine frühere Studie von IBM ergab, dass Nachproduktionsmängel bzw. Mängel nach dem Release 15 mal mehr Aufwand in der Behebung benötigen als Fehler, die in einem frühen Stadium der Entwicklung behoben werden können.

Viele Teams verwenden jetzt eine Methodik die als kontinuierliche Tests bezeichnet wird. Dabei finden Qualitätstest und Feedback in allen Stadien der Entwicklung, von Design und Codierung bis zur Bereitstellung, statt. Auch moderne Technologien wie künstliche Intelligenz (KI) können Testverfahren unterstützen, indem sie Fehler früh im Lebenszyklus entdecken und analysieren.

Anwendungsqualität und Tests

Erfahren Sie, wie Sie immer kompliziertere Anwendungen immer schneller auf den Markt bringen, mit weniger Fehlern und geringeren Kosten.

Hauptmerkmale der Fehlerprotokollierung

Qualitätskontrollen sind für die Entwicklung stabiler Anwendungen unabdingbar. Software-Tests, Change Management und Fehlerprotokollierung ermöglichen Teams das Aufdecken von Mängeln sowie die Bewertung deren Reichweite und Auswrikungen, um sie letztendlich beheben zu können.

In der Harvard Business Review skizziert Nicholas Bowen einen Prozess zur Verwaltung von Mängeln. Im ersten Schritt wird dabei klassifiziert und priorisiert: „Teams priorisieren generell zwei Fehlertypen: solche, die einen Systemabsturz verursachen und solche, die weniger schwer sind aber jederzeit und überall auftreten können ...Als nächstes werden Zielantwortszeiten für jeden Schweregrad festgelegt. Bei einem neuen Qualitätsmanagementsystem sollte der Schwerpunkt zunächst auf der Behebung der schwerwiegendsten Fehler innerhalb von Stunden oder Tagen liegen. Im Gebrauch können Sie mit Ihrem System Daten zu zwei Schlüsselmetriken sammeln, nämlich die eingehenden Fehlerquoten und die Produktivität bei der Fehlerbehebung, auf deren Basis Sie Ihre Ziele nach Bedarf anpassen können. Weiterhin ist er der Auffassung, dass Organisationen ein System erstellen müssen, in dem Fehler und die Behebungszeiten auf Ebene der Geschäftsführung und allen nachgeordneten Ebenen eingesehen werden können.7

Ein gutes Fehlerprotokollierungssystem kann diesen Prozess unterstützen, indem Fehlerüberwachung, Berichterstellung und Lebenszyklus-Verfolgbarkeit in einem Workflow vereinigt werden. Es sollte außerdem an weitere Managementsysteme gekoppelt sein, um systemübergreifende Transparenz im Rahmen der Softwareentwicklung und der Organisation als ganzes zu gewährleisten. IBM Rational ClearQuest zum Beispiel bietet eine zentralisiert Plattform zur Fehlerverfolgung und Berichterstellung. Es lässt sich in andere IBM Entwicklungs- und Change Management-Systeme integrieren und unterstützt eine bessere Kommunikation und Zusammenarbeit zwischen Entwicklern, Unternehmensaktivitäten und weiter gefassten Teams.

Außerdem sind Test- und Protokollierungssysteme vorzuziehen, die KI einsetzen, um Fehler schon früh im Entwicklungsprozess zu erkennen. Diese können die Anzahl und Arten der von den Teams durchgeführten Tests optimieren, das Testverfahren automatisieren und KI verwenden, um vergangene Fehler zu analysieren und in Zukunft zu verhindern.

Relevante Lösungen
IBM Rational ClearQuest

Change Management-Software zur Unterstützung von Produktivitätssteigerungen für Entwickler unter Berücksichtigung der für Projekt und Team am besten geeigneten Methoden, Abläufe und Tools.

Erkunden Sie Rational ClearQuest
Softwaretest

Stellen Sie der Entwicklungsabteilung Testergebnisse noch schneller als bisher bereit. Verringern Sie Risiken und Kosten, indem Sie Mängel deutlich früher beheben.

Tests anzeigen
DevOps Insights

Erhalten Sie umfassende Erkenntnisse mithilfe von vielfach eingesetzten Tools für kontinuierliche Integration und Continuous Delivery und verbessern Sie Geschwindigkeit, Qualität und Steuerbarkeit Ihrer Anwendungen.

DevOps kennenlernen
Ressourcen Was sind Softwaretests?

Erfahren Sie mehr über die Arten, Vorteile und Entwicklung von Softwaretests

Softwareentwicklung für Entwickler

IBM Developer bietet die Tools, die Entwickler bei der Erstellung und Wartung von Softwarekomponenten unterstützen

Der Leitfaden für kontinuierliche Tests

Erfahren Sie, wie integrierte kontinuierliche Tests die Anwendungsentwicklung beschleunigen.