Startseite Themen Was bedeutet Fehlerprotokollierung? Bug-Tracking
Verfolgen Sie Fehler mit IBM Lösungen Abonnieren Sie Cloud-Updates
 Illustration mit Collage aus Piktogrammen von Computermonitor, Server, Wolken, Punkten
Was ist Bug-Tracking?

Bug-Tracking ist der Prozess der Protokollierung und Überwachung von Bugs oder Fehlern während des Softwaretests. Es wird auch als Fehlerverfolgung oder Problemverfolgung bezeichnet.

Große Systeme können Hunderte oder Tausende von Fehlern aufweisen. Jedes muss für das Debuggen evaluiert, überwacht und priorisiert werden. Manchmal müssen Fehler über einen längeren Zeitraum verfolgt werden.

„Die Fehlerverfolgung ist ein wichtiger Prozess in der Softwareentwicklung, da komplexe und geschäftskritische Systeme Hunderte von Fehlern aufweisen“, sagt Tutorials Point. „Einer der schwierigen Faktoren ist die Verwaltung, Bewertung und Priorisierung dieser Fehler. Die Anzahl der Fehler wird über einen bestimmten Zeitraum vervielfacht, und um sie effektiv zu verwalten, wird ein Fehlerverfolgungssystem verwendet, um die Arbeit zu erleichtern.“ 1

Flexibilität am Arbeitsplatz mit DaaS

Lesen Sie, wie Unternehmen mit Desktop-as-a-Service (DaaS) das gleiche Maß an Leistung und Sicherheit erreichen können wie bei der lokalen Bereitstellung der Anwendungen.

Ähnliche Inhalte

Registrieren und Leitfaden zur Hybrid Cloud lesen

So funktioniert Bug-Tracking

Ein Softwarefehler liegt vor, wenn eine Anwendung oder ein Programm nicht wie vorgesehen funktioniert. Bei den meisten Fehlern handelt es sich um Mängel oder Irrtümer von Systemarchitekten, Designern oder Entwicklern. Testteams verwenden die Fehlerverfolgung, um Fehler zu überwachen und zu melden, die während der Entwicklung und des Tests einer Anwendung auftreten.

„Ein Hauptbestandteil eines Bug-Tracking-Systems ist eine Datenbank, die Fakten über bekannte Fehler aufzeichnet“, sagt Wikipedia. „Zu den Fakten gehören der Zeitpunkt, zu dem ein Fehler gemeldet wurde, sein Schweregrad, das fehlerhafte Programmverhalten und Details zur Reproduktion des Fehlers; sowie die Identität der Person, die es gemeldet hat, und aller Programmierer, die es möglicherweise beheben.“ 2

Während seiner Lebensdauer kann ein einzelner Fehler mehrere Phasen oder Zustände durchlaufen. Dazu gehören:

  • Aktiv: Die Untersuchung ist im Gange
  • Test: Behoben und bereit zum Testen
  • Verifiziert: Erneut getestet und durch Qualitätssicherung (QA) verifiziert
  • Geschlossen: Kann nach erneutem QA-Test geschlossen werden oder wenn es nicht als Defekt angesehen wird.
  • Wiedereröffnet: Nicht repariert und reaktiviert 3

Bugs werden nach Priorität und Schweregrad verwaltet. Schweregrade helfen dabei, die relativen Auswirkungen eines Problems auf eine Produktveröffentlichung zu ermitteln. Diese Klassifizierungen können in ihrer Anzahl variieren, aber sie umfassen im Allgemeinen eine Form der folgenden Elemente:

  • Katastrophal: Verursacht einen Totalausfall der Software oder einen nicht wiederherstellbaren Datenverlust. Es gibt keine Problemumgehung und das Produkt kann nicht veröffentlicht werden.
  • Beeinträchtigte Funktionalität: Es gibt zwar eine Umgehung, die aber nicht zufriedenstellend ist. Die Software kann nicht veröffentlicht werden.
  • Ausfall von nicht kritischen Systemen: Es gibt eine einigermaßen zufriedenstellende Abhilfe. Das Produkt kann freigegeben werden, wenn der Fehler dokumentiert ist.
  • Geringfügig: Es gibt eine Problemumgehung, oder das Problem kann ignoriert werden. Sie hat keine Auswirkungen auf eine Produktversion.

Normalerweise werden Status und Schweregrade in einer Bug-Tracking-Datenbank überwacht. Eine gute Tracking-Plattform lässt sich auch in größere Softwareentwicklungs- und Verwaltungssysteme integrieren: So können der Fehlerstatus und die möglichen Auswirkungen auf die Gesamtproduktion und Zeitpläne besser beurteilt werden.

Warum Bug-Tracking wichtig ist

Es wird geschätzt, dass Software-Entwickler 100 bis 150 Fehler für jede tausend Codezeilen machen.4 Laut einem Bericht des Consortium for IT Software Quality (CISQ) „ist selbst ein kleiner Teil dieser Fehler – sagen wir 10 Prozent – schwerwiegend, doch eine relativ kleine Anwendung von 20.000 Codezeilen weist etwa 200 schwerwiegende Codierungsfehler auf.“ 5

Softwaretests sind für die Isolierung und Eindämmung von Fehlern von entscheidender Bedeutung. Ein guter QA-Prozess kann Hunderte oder sogar Tausende von Defekten aufdecken und die Testteams müssen sie alle bewältigen. Durch die Integration der Fehlerverfolgung in den Test-Workflow wird die Effizienz verbessert, indem den Testern geholfen wird, den Status jedes Fehlers zu priorisieren, zu überwachen und darüber zu berichten.

„Die Fehlerverfolgung trägt dazu bei, dass im System gefundene Fehler auch tatsächlich behoben werden“, sagt Agile Consultant Yvette Francino. „Tracking-Tools bieten nicht nur eine Möglichkeit, die Nachverfolgung sicherzustellen, sondern liefern auch wertvolle Metriken. Je nach verwendetem Tool kann das Team Fehler mit geändertem Code, Tests oder anderen Daten verknüpfen, was eine Rückverfolgbarkeit oder Analyse von Fehlertrends ermöglicht. Wenn ein bestimmtes Modul voller Fehler ist, ist es vielleicht an der Zeit, dieses Modul zu überprüfen und neu zu schreiben.“ 6

Im Idealfall sollten die Tests so schnell wie möglich durchgeführt werden – wenn Fehler einfacher und weitaus kostengünstiger zu beheben sind. Eine frühere Studie von IBM ergab, dass die Behebung von Fehlern, die nach der Produktion oder nach der Veröffentlichung festgestellt werden, 15-mal teurer sein kann als Fehler, die zu Beginn der Entwicklung behoben werden.

Viele Teams nutzen jetzt eine Methodik, die als kontinuierliche Tests bezeichnet wird. In diesem Fall werden Qualitätstests und Feedback in allen Entwicklungsphasen durchgeführt, vom Entwurf und der Codierung bis zur Bereitstellung. Auch moderne Technologien wie künstliche Intelligenz (KI) können den Testprozess unterstützen, indem sie Fehler frühzeitig im Lebenszyklus erkennen und analysieren.

Hauptmerkmale der Fehlerverfolgung

Die Qualitätskontrolle ist entscheidend für die Entwicklung robuster Anwendungen. Softwaretests, Change-Management- und Bug-Tracking-Tools ermöglichen es Teams, Fehler aufzudecken, ihren Umfang und ihre Auswirkungen zu messen – und sie zu beheben.

In der Harvard Business Review skizziert Nicholas Bowen einen Prozess für das Management von Fehlern. Der erste Schritt ist die Klassifizierung und Priorisierung: „Im Allgemeinen priorisieren die Teams zwei Arten von Fehlern: solche, die zum Absturz eines Systems führen, und solche, die weniger schwerwiegend sind, aber allgegenwärtig sein könnten... Als Nächstes legen Sie Ihre Zielreaktionszeit für jeden Schweregrad fest. Wenn das Qualitätsmanagementsystem neu ist, sollte der anfängliche Fokus darauf liegen, die schwerwiegendsten Fehler innerhalb von Stunden oder Tagen zu beheben. Während Sie Ihr System nutzen, können Sie Daten zu zwei wichtigen Metriken sammeln, den eingehenden Fehlerraten und der Produktivität der Fehlerbeseitiger, und Ihre Ziele nach Bedarf anpassen.“ Er sagt, dass Unternehmen auch ein System erstellen müssen, in dem Mängel auftreten und die Zeit, die erforderlich ist, um sie zu lösen, auf allen Ebenen überprüft werden kann, vom CEO nach unten.7

Ein gutes Fehlerverfolgungssystem kann diesen Prozess unterstützen, indem es einen einheitlichen Workflow für die Fehlerüberwachung, -berichterstattung und Lebenszyklus-Rückverfolgbarkeit bereitstellt. Es sollte außerdem mit anderen Managementsystemen verknüpft werden, um eine gemeinsame Sichtbarkeit und Rückmeldung sowohl innerhalb der Softwareentwicklung als auch innerhalb der größeren Organisation zu gewährleisten. IBM® Rational® ClearQuest® bietet beispielsweise eine zentrale Plattform zur Fehlerverfolgung und -berichterstattung. Es lässt sich in andere IBM Entwicklungs- und Änderungsmanagementsysteme integrieren und trägt zur Verbesserung der Kommunikation und Zusammenarbeit zwischen Entwicklern, Betriebsabläufen und größeren Teams bei.

Achten Sie auch auf Test- und Nachverfolgungssysteme, die KI nutzen, um Fehler frühzeitig im Entwicklungsprozess zu erkennen. Es kann die Anzahl und Art der von Teams durchgeführten Tests optimieren, den Testprozess automatisieren und mithilfe von KI vergangene Fehler analysieren und sie in Zukunft verhindern.

Weiterführende Lösungen
IBM Rational ClearQuest

Change-Management-Software, die zur Verbesserung der Entwicklerproduktivität beiträgt und gleichzeitig die Methoden, Prozesse und Tools unterstützt, die am besten zum Projekt und Team passen.

IBM Rational ClearQuest erkunden
Testen von Software

Bringen Sie Testergebnisse schneller in die Entwicklung zurück. Reduzieren Sie Risiken und Kosten, indem Sie Fehler früher beheben.

Tests ansehen
DevOps Insights

Erhalten Sie umfassende Erkenntnisse aus beliebten Tools für kontinuierliche Integration und kontinuierliche Bereitstellung, um die Geschwindigkeit, Qualität und Kontrolle Ihrer Anwendungen zu erhöhen.

Entdecken Sie DevOps
Services im Bereich Platform Engineering

Platform Engineering ist das Nächste in DevOps. Beschleunigen Sie die Markteinführungszeit (Time-to-Market, TTM) mit Entwicklererfahrung.

Erkunden Sie die Beratungsplattform Engineering
Ressourcen
Was sind Softwaretests?

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

Softwareentwicklung für Entwickler

IBM Developer stellt die Tools bereit, mit denen Entwickler Softwarekomponenten erstellen und verwalten können.

Der unverzichtbare Leitfaden für kontinuierliches Testen

Erfahren Sie, wie integrierte kontinuierliche Tests die Anwendungsentwicklung beschleunigen.

Machen Sie den nächsten Schritt

Sind Sie bereit für DevOps? Um Software und Services mit der vom Markt geforderten Geschwindigkeit bereitzustellen, müssen Teams schnell iterieren und experimentieren, regelmäßig neue Versionen bereitstellen und sich von Feedback und Daten leiten lassen. Die erfolgreichsten Cloud-Entwicklungsteams setzen auf moderne DevOps-Kultur und -Praktiken sowie cloudnative Architekturen und stellen Toolchains aus erstklassigen Tools zusammen, um ihre Produktivität zu steigern.

DevOps-Lösungen erkunden Kostenlos testen