- Bug-Tracking-System
-
Bugtracker (dt. „[Software-]Fehler-Verfolger“) sind Fallbearbeitungssysteme (engl. trouble ticket system) für die Softwareentwicklung, die als Werkzeug eingesetzt werden, um Programmfehler zu erfassen und zu dokumentieren. Mit ihnen werden – oft interaktiv und im Internet – auch Zustands- oder Feature-Berichte geschrieben.
Bugtracker können die Kommunikation zwischen Anwendern und Entwicklern von Computerprogrammen verbessern. Häufig erfordert die Eingrenzung eines Programmfehlers eine Folge von Fragen und Antworten zwischen Anwendern und Programmierern. Eine Erfassung dieser Kommunikation in einem Bugtracking-System bedeutet eine zentrale Archivierung und ermöglicht somit spätere Recherchen, z. B. bei ähnlichen Problemen (im Gegensatz zu E-Mail oder Telefon).
Neben Programmfehlern können Bugtracker auch Verbesserungsvorschläge und Wünsche der Nutzer oder allgemeine Vorgänge aufnehmen. Bei manchen Projekten spricht man dann zum Beispiel von „Metabugs“, wo ein Bug ein Element einer Aufgabenliste darstellt. Bei anderen Projekten spricht man stattdessen von „Issues“ (Angelegenheiten, Vorgänge), da sich dieser Ausdruck nicht nur auf Programmfehler beschränkt.
Bekannte freie Bugtracker sind Bugzilla, Mantis, Roundup und Trac. Bekannte proprietäre Bugtracker sind Track+ und Jira.
Der Begriff Bugtracking bezeichnet zum einen den Vorgang der Fehlersuche an sich (durch Methoden des Debugging und Versuch und Irrtum), zum anderen den Vorgang, einen Fehler samt seiner Dokumentation über die Zeit zu verfolgen.
Motivation
Entwicklungsabteilungen, die ihre Problemerfassung in Form von einfachen Problemdokumenten oder gar simplen E-Mail-Sammlungen organisieren, haben mit einer Reihe von Problemen zu kämpfen; darunter z. B.:
- Es kann immer nur jeweils eine Person Änderungen am Dokument vornehmen.
- Es sind nur simple Suchanfragen möglich.
- Eine Organisation aller Problemdokumente ist sehr mühselig.
- Erstellung und Pflege von Problemdokumenten ist mit sehr hohem und manuellem Aufwand verbunden.
- Die Nachverfolgung von Problemen gestaltet sich sehr schwierig, wodurch bereits erfasste Probleme in Vergessenheit geraten können.
- Meist wird in proprietären Formaten gespeichert, was die Verwendung auf unterschiedlichen Plattformen erschwert oder unmöglich macht.
Im Gegensatz dazu stehen ausgewachsene Bugtracker mit angebundener Datenbank, die nicht nur die eben angesprochenen Probleme aufheben, sondern richtig eingesetzt folgende Fragen beantworten:
- Welche Probleme sind aufgetreten?
- Welcher Art sind die Probleme?
- Welcher Entwickler ist für das Problem zuständig?
- Welche Programmversionen sind davon betroffen?
- Was wurde unternommen, um das Problem zu beheben?
- Gibt es Möglichkeiten, das Problem zu umgehen und wenn ja, welche?
- Ab welcher Programmversion wurde das Problem behoben?
- Ist das Problem wirklich behoben, also nachgetestet?
- Ist ein einmal behobenes Problem wieder aufgetaucht?
Die Beantwortung dieser Fragen gehört zu den Kernaufgaben eines Bugtrackers. Darüber hinaus kann der Wert eines solchen Systems durch intelligente Nutzung noch weiter erhöht werden, denn einmal eingeführt, erweist es sich als ein Mittel um die Qualität der Dokumentation und den Informationsfluss zwischen den Abteilungen zu erhöhen.
Wikimedia Foundation.