# Bugtracker

Bugtracker (von englisch bug tracker, dt. etwa [Software-]Fehler-Verfolger oder Mangelverfolger) sind Fallbearbeitungssysteme (englisch issue tracking oder 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.
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.

## Weitere Einzelheiten

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 wird dann zum Beispiel von „Metabugs“ gesprochen, wenn ein Fehler oder ein Mangel ein Element einer Aufgabenliste darstellt. Bei anderen Projekten wird stattdessen von „Issues“ (Angelegenheiten, Vorgänge) gesprochen, da sich dieser Ausdruck nicht nur auf Programmfehler beschränkt (Issue-Tracking-System).
Bekannte freie Bugtracker sind Bugzilla, Mantis, Phabricator, Roundup, Redmine, Trac und Flyspray. Bekannte kommerzielle Bugtracker sind Track+ und Jira.

## Beweggründe

Entwicklungsabteilungen, die ihre Problemerfassung in Form von einfachen Problemdokumenten oder gar 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.
* Wenn mehrere Personen beteiligt sind, erfordert es erhöhten Aufwand, den Stand der Entwicklung abzugleichen.
* 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.
* Problemdokumente sind eventuell nicht von überall her zugreifbar. (vgl. Dokumentfreigaben, Web-Zugriffe usw.)
Hingegen können in Bugtrackern mit angebundener Datenbank Antworten auf folgende Fragen erfasst werden:
* 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?
* Welche Möglichkeiten gibt es, das Problem zu umgehen?
* Ist das Problem wirklich behoben, also nachgetestet?
* Ist ein einmal behobenes Problem wieder aufgetaucht?
* In welcher Programmversion wird das Problem voraussichtlich behoben sein?
* Wann wird das Problem voraussichtlich behoben sein?
* Wie viel Aufwand wird die Lösung voraussichtlich erfordern?
* Wie hoch war der tatsächliche Aufwand?