Testen

Fakten

Testen
"Program testing can be used to show the presence of bugs, but never to show their absence!" Edsger Dijkstra

Zunächst stellt sich hier die Frage: Was ist eigentlich ein Fehler? Von einem Fehler (engl. Bug) spricht man, wenn ein Programm ein Verhalten zeigt, das nicht dem, in der Spezifikation geforderten Verhalten entspricht oder wenn ein vom Kunden vorausgesetztes Qualitätskriterium nicht erfüllt ist. Dabei wird direkt schon deutlich, dass ein Fehler nur gefunden werden kann, wenn man weiß, was richtig und falsch ist. Es muss also einen Bezugspunkt (z.B. die Spezifikation oder Testergebnisse) geben, mit dessen Hilfe entschieden werden kann, ob ein Fehler vorliegt oder nicht.

Testen bedeutet also, ein Programm systematisch auszuführen, um Fehler zu finden! Damit ist ein Test erfolgreich, wenn ein Fehler gefunden ist. Ein Test wird also nicht ausgeführt, um die Korrektheit eines Programms zu zeigen, sondern seine Inkorrektheit. Die Korrektheit eines Programms kann in der Regel nicht bewiesen werden, da hierzu alle Kombinationen möglicher Eingabewerte getestet werden müssten. Da dies kaum möglich ist, wird versucht mit einer möglichst kleinen Anzahl von Testfällen eine Maximierung der entdeckten Fehler zu erreichen. Ein guter Testfall sollte so gewählt werden, dass er mit hoher

Wahrscheinlichkeit imstande ist, bisher unentdeckte Fehler zu finden. Jeder Testfall gibt zur Eingabe das erwartete Ergebnis und den Befund beim Testen an (siehe Testfallbeschreibung).

Testfallbeschreibung

1/9