Scopes der Testdaten
In der Testautomatisierung werden aus folgenden Scopes Daten verarbeitet:
- Programmdaten
- Konfigurationsdaten
- Testspezifikation
- Anwendungsdaten
- Testfalldaten
Programmdaten
In den Programmen ist die Testautomatisierung vor allem implementiert. Die hierfür erforderlichen Werte unterscheiden sich in Konstanten, Konfigurationen und Daten. In Konstanten sind Schlüsselworte (Feldnamen) und Schlüsselwerte fixiert, die im Programmcode erforderlich sind. Feste Werte sollen im Programm nicht vorkommen. In den Konfigurationsdaten sind Steuerungswerte enthalten. Die Konfigurationsdateien in den Programmen stellen nur eine allgemeine Musterkonfiguration dar, die durch die Konfigurationsdaten überschrieben werden sollten, die außerhalb der Programme Installations- und Umgebungsspezifisch konfiguriert sind.
Konfigurationsdaten
In den Konfigurationsdaten werden Steuerungsdaten hinterlegt.
Testspezifikation
In der Testfallspezifikation werden fachliche Daten für die Durchführung der Tests definiert, insbesondere auf Ebene von Testfällen. Hierbei soll auf die zu testende Anwendung so weit Einfluss genommen werden, wie es für die Durchführung erforderlich ist. Das betrifft die Zustandsdaten vor dem Test, die Einspieldaten selbst und die Zustandsdaten nach dem Test.
Anwendungsdaten
Aus der Anwendung werden die Daten bezogen, die als Reaktionen von Tests gelten. Die ist der Zustand vor und nach dem Test so wie direkte Antworten aufgrund des Tests. Anwendungskonfigurationen können als unveränderliche Zustandsdaten gezogen werden, wenn dies in der jeweiligen Komponente implementiert bzw. konfiguriert ist.
Testfalldaten
In den Testfalldaten werden die Daten des konkreten Testfalldurchlaufs gespeichert entsprechend der Konfiguration der relevanten Komponenten.
Testdatenbearbeitung während der Testfalldurchführung
Die Automatisierung datest bearbeitet die Testdaten, indem sie Daten aus einer Quelle liest und in ein Ziel schreibt.
Programm | Funktion | Quelle | Ziel | Anw.Konfig | Anw.DB | Anw.Dateien |
1. init | bereinigen | - | anw | delete | remove | |
beladen | spez | anw | set | insert | ||
lesen | anw | tcase.pre | get | select | ||
2. exec | erzeugen | spez | tcase.exec | write | ||
senden | tcase.exec | anw | cp / send | |||
empfangen | anw | tcase.orig | cp / recieve | |||
3, collect | lesen | anw |
tcase.post |
get |
select |
cp |
4, compare | validieren | tcase.orig | tcase.fact | extract | extract | decode, .. |
vergleichen | spez.fact tcase.fact |
tcase.res | compare | compare |
compare |
Je nach Art der Daten unterscheiden sich die Verarbeitungsabläufe geringfügig:
- Zustandsdaten werde vor und nach dem Test selektiert (typisch: unveränderte Konfiguration, veränderbare Datenbanken)
- Bewegungsdaten entstehen beim eigentlichen Test an der Schnittstelle (typisch: Schnittstellendaten in Form von html, xml, json, ...
-----
Beim Testen der Automatisierung - d.h. ohne konkrete Anwendung - besteht die "Anwendung" aus einer Verzeichnisstruktur. Die von der gedachten Anwendung erzeugten Daten werden aus einem speziellen Unterverzeichnis in die Verzeichnisse der "Anwendung" kopiert, von wo sie von der zu testenden Automatisierung ermittelt werden.