OpenKeyWord
Version: 426, Datum:
|
[ISTQBGlossarGermanTestfall] Die Definition eines Testfalls umfasst folgende Angaben:
Testfälle werden entwickelt im Hinblick auf ein bestimmtes Ziel bzw. auf eine Testbedingung, wie z.B. einen bestimmten Programmpfad auszuführen oder die Übereinstimmung mit spezifischen Anforderungen zu prüfen (wie Eingaben an das Testobjekt zu übergeben und Sollwerte abzulesen sind) [nach IEEE 610].
\[ E_{Erwartet} = F( O_{Test}, D_{Umgebung}, D_{Eingabe} ) \]
D.h, Das erwartete Ergebnis ist abhängig vom
Wichtig: Wenn ein Testfall reproduzierbar und wiederholbar sein soll, dann darf die einzige veränderliche Größe der Testling selbst sein. Diesen tauschen wir von Version zu Version aus. Wenn Aspekte des Objektes über mehrere Versionen gleich bleiben, dann sollten die Testfälle zu diesen Aspekten auch gleich bleiben, d.h. wiederum, dass zwei Testfälle gleich sind, wenn
Diese müssen konstant bleiben, damit auf ein konstantes und bekanntes Ergebnis geprüft werden kann.
Tests müssen reproduzierbar sein. Es darf immer nur ein Parameter variieren. Sind dies mehrere, so kann im Fall einer Abweichung nicht sicher gesagt werden, welcher Parameter für die Abweichung ursächlich ist.
Wird der Parameter, bzw. werden die Parameter, verändert und bei einem wiederholten Testlauf ergibt sich eine Abweichung, besteht nicht die Möglichkeit einer sicheren Aussage über die Ursachen dieser Abweichung. Diese kann ihre Ursache in der neuen Version der "Software under Test (SUT)" oder in der Variation der Daten unter Einbeziehung einer falschen Vorhersage des Oracles haben.
Eine schnelle Aussage über die VErsionsänderung, wie in einem Test erwünscht, kann so nicht getroffen werden.
Neue Testfälle sind durchaus erwünscht, aber für einen verläßlichen Vergleich zwischen einer alten und einer neuen Version des Testlings, müssen bereits durchgeführte Testfälle wiederholt werden.
Bei neuen Testfällen ist es wichtig, dass diese auch neue Aspekte des Testlings abprüfen. Sie müssen systematisch abgeleitet werden.
Im Rahmen der Automatisierung von Tests sollte jeder Testfall eigenständig durchgeführt und nicht miteinander verkettet werden.
Bei manuellen Tests können Testfall-Verkettungen unter bestimmten Umständen vorteilhaft sein, nicht jedoch bei der Automatisierung. Hier hat die Verkettung folgende Nachteile:
Jeder Testfall sollte nur für eine bestimmte Testling Eigenschaft zuständig sein. Das hat den Vorteil, wenn so ein Testfall fehlschlägt, dann ist sofort erkennbar welche Eigenschaft betroffen ist.