Die fachliche Spezifikation werden mit Hilfe von Testentwurfsverfahren Testfälle spezifiziert, die anschließend automatisiert, durchgeführt und ausgewertet werden müssen. Für alle nachfolgenden Testschritte muss in der Spezifikation die notwendigen Daten für die Teststeuerung und die Testeinspielung gegeben werden. Die Spezifikation muss also hinsichtlich diverser Aspekte erfolgen.
.. hinsichtlich Durchführungsverfahren
Testfälle zu automatisieren sind teuer, und zwar sowohl fachlich (präzise zu spezifizieren) als auch technisch (Programme hierzu erstellen). Deshalb soll man vorab immer klären, welches Verfahren für die Aufgabe nötig ist.
oft wiederholen | Testreihen | Testfälle automatisieren |
einmal zu zeigen | explorativ | Testschritte spezifizieren |
ausprobierend | klar vorgegeben |
.. hinsichtlich Systembefüllung
Die Testdurchführung erfolgt immer auf einem spezifischen Systemzustand. Aus Spezifikationssicht müssen diese Daten grundsätzlich komplett berücksichtigt werden. Die indirekten und marginalen Daten brauchen aber praktisch nur zu bestimmten Änderungen angepasst und können ansonsten als gegeben betrachtet werden.
betrifft Testfall | in Testanwendung | in Partneranwendung |
direkt | wird jeweils zum Testfall geladen z.B. Datenbank der Testanwendung |
wird jeweils zum Testfall geladen z.B. Mockspeicher |
indirekt | wird inkrementell erweitert und geladen z.B. Produkt-/ Mandantendaten |
muss hinterlegt werden |
marginal | wird zur Release-Installation abgesprochen z.B. Konfigurationen |
wird zur Release-Installation abgesprochen z.B. Konfigurationen |
Die den Testfall direkt betreffenden Daten müssen für die Automatisierungsprogramm selbstverständlich direkt zu Verfügung stehen. Konfigurationsdaten muss dem Continous-Integration-Prozess direkt zu Verfügung stehen.
.. hinsichtlich Automatisierungs-/Durchführungskontext
Steuerungsdaten
Als Steuerungsdaten sind erforderlich:
- Priorität, d.h. in welcher Teststufe bzw. in welchen Teststufen der Testfall ausgeführt werden soll (gerne weiderverwenden)
- auszuführende Sonderfunktionen
- Referenz auf die zu ladenden Testdaten, weil diverse Daten zu berücksichtigen sind, können diese auf mehrere Dateien verteilt sein
- einzuspielende Testdaten, da diese Daten so wesentlich sind, gehören sie direkt in den Testfall
- Erwartungen für automatische Auswertung
Testfdalldaten
Optimalerweise sollten alle den Testfall direkt betreffenden Daten direkt im Testfall spezifiziert werden. Wiederverwendbare Testobjekte können als Referenzen für die Automatisierung hinterlegt werden.
- einzuspielende Testdaten, da diese Daten so wesentlich sind, gehören sie direkt in den Testfall
- Erwartungen für automatische Auswertung
.. hinsichtlich Auswertungskontext - Kopfdaten
Ein einmal spezifizierter und automatisierter Testfall testet einen spezifischen Aspekt der Anwendung, der Testfall ist damit Teil einer bestimmten Testfallabdeckung. Diese Bedeutung charakterisiert jeden sinnvollen Testfall und sollte auch entsprechend dokumentiert werden:
- Testabdeckung - möglichst mit Verweis auf betreffende Fachspezifikation
- Testfallbeschreibung (was getestet wird)
- Testfallerwartung (präzise wodurch sich entscheidet, dass die Testdurchführung erfolgreich ist)
Die Testfallerwartung kann komplett umfänglich bei einem diversifizierenden Vergleich von einen vorherigen Durchführung hinterlegt sein, dabei werden alle Attribute eines Ergebnisses gegen das hinterlegte Ergebnis geprüft, auch die Attribute, von denen man die Bedeutung nicht genau kennt. Um so wichtiger ist es zu beschreiben, was auf alle Fälle übereinstimmen muss, um dies bei einer späteren Auswertung kontrolliert entscheiden zu können.