Inhaltsverzeichnis
07. Bugverwaltung
- Themen
- Ausgangspunkt: Software ist (fast) nie fehlerfrei
- Umgang mit Fehlern in Software
- Motivation: Warum eine Bugverwaltung?
- Handhabung: Fehlerberichte, Feedback, Integration
- Folien
Zentrale Aspekte
- Software ist (fast) nie fehlerfrei.
Je früher Fehler entdeckt (und behoben) werden, desto besser und billiger. - Die Wahrscheinlichkeit von Fehlern sollte aktiv minimiert werden
(Wahl der Programmiersprache, Werkzeuge, …). - Fehler sollten in Tests verwandelt
und auch in Entwicklungsversionen behoben werden. - Eine Bugverwaltung hilft Anwendern und Entwicklern
durch Strukturierung und Automatisierung. - Eine Bugverwaltung sollte fest in die restliche Infrastruktur
und Abläufe bei der Projektentwicklung eingebunden sein.
Weiterführende Literatur/Links
Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.
Bugverwaltung im wissenschaftlichen Kontext
Eine sehr auf die Situation in den Wissenschaften fokussierte Beschreibung von Bugverwaltung bzw. genauer gesagt Issue-Tracking-Systemen findet sich in [Scopatz, 2015Scopatz, Anthony; Huff, Kathryn D. (2015): Effective Computation in Physics, O'Reilly, Sebastopol] (Kapitel 21). Eine gute Zusammenfassung ist Abb. 21-1, die in einem Flussdiagramm den Ablauf von der Fehlerentdeckung über die Programmierung eines Bugfixes bis hin zur finalen Lösung erklärt und die Beteiligung weiterer Aspekte von Infrastruktur (Tests, Versionsverwaltung) aufzeigt.
- Scopatz, Anthony; Huff, Kathryn D. (2015): Effective Computation in Physics, O'Reilly, Sebastopol
Folgen von Softwarefehlern
Bugs können im schlimmsten Fall Menschenleben kosten, finanziell erhebliche Wirkung haben oder „nur“ die Reputation (zer)stören. Für alle das gibt es (leider) ausreichend Beispiele.
Menschenleben: Therac-25
Nichts für schwache Nerven, aber eine sehr detaillierte Beschreibung, wie es zu den Fehlern mit Todesfolge (drei Tote, drei Schwerverletzte) beim in Kanada und den USA eingesetzten medizinischen Bestrahlungsgerät Therac-25 kam: der Artikel von Leveson und Turner. Das einzig Gute: In der Folge dieser Vorfälle wurden die Bestimmungen für Software im medizinischen Kontext in den USA angepasst.
- Leveson, Nancy G.; Turner, Clark S. (1993): An investigation of the Therac-25 accidents, Computer 26:18-41
Berechenbarkeit
Wer sich für die eingangs erwähnte Berechenbarkeit im Detail interessiert, dem sei als Einführung in die theoretische Informatik das Buch von Uwe Schöning [Schöning, 2008Schöning, Uwe (2008): Theoretische Informatik - kurz gefasst, Spektrum Akademischer Verlag, Heidelberg] und dort insbesondere Kapitel 2 empfohlen. Es richtet sich zwar an Informatiker und ist entsprechend formal, bietet dafür aber auf sehr knappem Raum sehr viel Information.
- Schöning, Uwe (2008): Theoretische Informatik - kurz gefasst, Spektrum Akademischer Verlag, Heidelberg