Programmfehler


aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Programmfehler oder Softwarefehler oder Software-Anomalie, häufig auch Bug (von englisch bug auch Anlass zur Suche nach den Ursachen hinter den Problemen sein“.<ref name="PKS">M. Pol, T. Koomen, A. Spillner: Management und Optimierung des Testprozesses. dpunkt.Verlag, Heidelberg 2002, ISBN 3-89864-156-2.</ref> „Fehlerklassifikationen bilden die Grundlage für standardisierte Verfahren zur Fehlerbehandlung und unterstützen zudem eine kontinuierliche Qualitätsverbesserung im Sinne des Qualitätsmanagements.“<ref name="BITKOM">Fehlerklassifikation für Software – Leitfaden. (PDF; 3,25 MB) BITKOM </ref> Weitere Angaben je Fehler wie eine ausführliche Fehlerbeschreibung, betroffene Programme, beteiligte Personen etc. begleiten die Maßnahmen zur Behebung der Fehler und dokumentieren diese. Näheres siehe BITKOM-Leitfaden.<ref name="BITKOM" />

Vereinfachend werden Programmfehler im Fehlerbearbeitungsprozess häufig nur nach der Fehlerschwere, das schließt außerdem die Fehlerwirkung und den Behebungsaufwand ein, in Kategorien/Klassen wie A, B, C … oder 1, 2, 3 … usw. eingeteilt. Beispiele siehe BITKOM-Leitfaden,<ref name="BITKOM" /> insbesondere im Anhang.

Folgen von Programmfehlern

Die Folgen von Programmfehlern können hochgradig unterschiedlich sein und sich in vielfältiger Weise zeigen. Werden Fehler im Rahmen der Entwicklungsprozesse entdeckt, so beschränken sich die Fehlerfolgen außerdem auf die Überarbeitung der Software (Codekorrekturen, Konzeptüberarbeitung, Dokumentation …) – je nach Situation mit mehr oder weniger großen Auswirkung auf das Projektbudget und die Projektdauer. Dagegen wirken erst im Produktivbetrieb erkannte Fehler nicht selten ungleich kritischer, zum Beispiel können sie Prozess-Störungen oder Produktionsstillstand bewirken, Imageschäden hervorrufen, den Verlust von Kunden und Märkten verursachen, Regresspflichten auslösen oder gar das Unternehmen in Existenzgefahr bringen. Fehler in technischen Anwendungen können im schlimmsten Fall zu Katastrophen führen.

Konkrete Beispiele für Programmfehler und deren Folgen finden sich in der Liste von Programmfehlerbeispielen.

Reproduzierbarkeit von Programmfehlern

Manche Programmfehler sind nur äußerst schwer oder gar nicht zuverlässig reproduzierbar. Bei der Wiederholung eines zuvor gescheiterten Vorgangs unter scheinbar unveränderten Bedingungen ist die Wahrscheinlichkeit gegeben, dass sich diese Fehler nicht erneut äußern. Es gibt zwei mögliche Gründe für dieses Verhalten: Zum einen kann es zu Verzögerungen zwischen der Fehleraktivierung und dem letztlich auftretenden Problem beispielsweise einem Programmabsturz kommen, welche die tatsächliche Ursache verschleiern und deren Identifikation erschweren. Zum anderen können andere Elemente des Softwaresystems (Hardware, Betriebssystem, andere Programme) das Verhalten der Fehler in dem betrachteten Programm beeinflussen. Ein Beispiel hierfür sind Fehler, die in nebenläufigen Umgebungen mit mangelnder Synchronisation (genauer: Sequentialisierung) auftreten. Wegen der hieraus folgenden Wettlaufsituationen (Race Conditions) können die Prozesse in einer Reihenfolge abgearbeitet werden, welche zu einem Laufzeitfehler führt. Bei einer Wiederholung der gleichen Aktion ist es möglich, dass die Reihenfolge der Prozesse unterschiedlich ist und kein Problem auftritt.

Siehe auch

Weblinks

Wiktionary Wiktionary: Programmfehler – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

Literatur

  • William E. Perry: Software Testen. Mitp-Verlag, Bonn 2002, ISBN 3-8266-0887-9.
  • Elfriede Dustin, Jeff Rashka, John Paul: Software automatisch testen. Verfahren, Handhabung und Leistung. Springer, Berlin u. a. 2001, ISBN 3-540-67639-2.
  • Cem Kaner, Jack Falk, Hung Quoc Nguyen: Testing Computer Software. 2nd edition. John Wiley & Sons, New York NY u. a. 1999, ISBN 0-471-35846-0.

Einzelnachweise

<references />