Testfall
# Testfall

Ein Testfall (engl. Test case) beschreibt einen elementaren, funktionalen Softwaretest, der der Überprüfung einer z. B. in einer Spezifikation zugesicherten Eigenschaft eines Testobjektes dient. Testfälle werden unter Anwendung von Testmethoden und geeigneten Software-Hilfsmitteln erstellt.

Wichtige Bestandteile der Beschreibung eines Testfalls sind:

* die Vorbedingungen, die vor der Testausführung hergestellt werden müssen,
* die Benennung des Testobjekts und der Spezifikationen, auf die sich der Testfall bezieht,
* die Eingabedaten für die Durchführung des Tests,
* die Handlungen, die zur Durchführung des Testfalls notwendig sind,
* die erwarteten Ergebnisse und/oder Reaktionen des Testobjektes auf die Eingaben,
* die erwarteten Nachbedingungen, die als Ergebnis der Durchführung des Testfalls erzielt werden.
* die Prüfanweisungen, d. h. wie Eingaben an das Testobjekt zu übergeben und wie die vom Testobjekt zurückgegeben Istwerte abzulesen sind.

Weichen trotz Einhaltung der Vorbedingungen und trotz korrekter Eingaben/Handlungen in der Testdurchführung die Ausgaben oder Nachbedingungen während der Testdurchführung von den erwarteten Werten ab, so liegt eine Anomalie vor; das kann z. B. ein zu behebender Mangel oder Fehler sein. Diese werden im Rahmen des Fehlermanagements bearbeitet und führen i. d. R. nach Klärung zu Testwiederholungen.

Testfälle lassen sich in Positiv-Testfälle und Negativ-Testfälle unterteilen:

* In Positivtests wird das Verhalten des Testobjekts infolge gültiger Vorbedingungen und Eingaben überprüft.
* In Negativtests (auch Robustheitstest genannt) wird das Verhalten des Testobjekts infolge ungültiger Vorbedingungen und/oder Eingaben überprüft.

Durch Variation der Eingabewerte und von Parametern der Vorbedingungen lassen sich verschiedene Varianten eines Testfalls überprüfen. TMap unterscheidet hierbei nach logischem Testfall ('Prüfen Eingabewerte') und den dazu auszuführenden konkreten Testfällen (Eingabewert = X oder Y). Hier sind insbesondere die Grenzwerte der Eingabewerte und Parameter von Interesse (siehe Grenzwertanalyse), deren Erreichen oder Überschreiten ein anderes Verhalten des Testobjektes erwarten lässt.

Testfälle nehmen im Verlauf ihrer Bearbeitung unterschiedliche Statusausprägungen an, zum Beispiel (je nach Festlegung im Testprozess): Im Entwurf; zum Testen freigegeben; im Test; Test ok; Test fehlerhaft etc.

