Ablauf des Tests
Grundmodell des Test
Im Grundmodell werden die wesentlichen Datenzugangspunkte betrachtet:
Vorbedingung
Im Testobjekt liegt ein Datenzustand vor. Bei der Spezifikation jedes Testfalls sollte der jeweilige Zustand zumindest berücksichtigt werden. Die Automatisierung Datest ermöglicht es, die Daten an den spezifizierten Zustand anzupassen. Der relevante Datenzustand wird automatisch abgezogen und dokumentiert.
Eingabe
Die Testeingabe ist selbstverständlicher Bestandteil jeder Automatisierung. In der Automatisierung Datest werden die Eingaben in entsprechenden Dateien hinterlegt und somit dokumentiert.
Ausgabe
Die Testausgabe beinhaltet üblicherweise den eigentlichen Test. In der Automatisierung Datest wird dieser in Form von entsprechenden Dateien hinterlegt - und somit dokumentiert - und abschließend als detaillierter Dateinvergleich ausgewertet.
Nachbedingung
Nach der Testeinspielung liegt ein veränderter Datenzustand vor. Aus Sicht einer Unternehmensanwendung liegt hierin der eigentliche Nutzen des getesteten Geschäftsvorfall. Die Automatisierung Datest legt hierauf den Hauptaugenmerk. Der relevante Datenzustand wird automatisch abgezogen, dokumentiert und gegen ein hinterlegtes Soll-Ergebnis abgeglichen.
In fachlicher Sicht ist immer wieder eine Gesamtsicht erforderlich, die Bearbeitung mit dem Testobjekt muss dagegen in Hinsicht auf die jeweilige Komponente erfolgen. Die Daten müssen also in der Testautomation von der Gesamtsicht auf die Komponentensicht gemappt werden.
Sichten auf die Daten
Gesamtsicht in fachlicher Spezifikation
Eine fachliche Testfall-Spezifierer:in soll von der Geschäftssicht auf die Anwendung schauen. Hierzu sind reale Objekte mit ihren Attributen einsichtig.
In erster Spalte wird zusätzlich die relevante Komponente und dessen Datenobjekt definiert.
Komponentensicht
Die Komponentensicht ist technisch vorgegeben durch die Schnittstelle und die hierbei definierten Felder und ihren Feldnamen. In der Regel sind viele dieser Objekte an die realen Objekte angelegt.
Mapping in Testautomatisierung
In der Testautomatisierung muss die fachliche Gesamtsicht auf die technische Komponentensicht gemappt werden. Das beinhaltet die Zuordnung der realen Objekte auf die technischen Objekte so wie die fachlichen Felder auf die technischen Felder.
Datenobjekte in Testautomatisierung
In der Testautomatisierung datest werden in Hinsicht auf die zu testende Anwendung keine festen Objekte erstellt, weil dadurch ja die Automatisierung auf eine Anwendung festgelegt würde. Statt dessen werden freie Datenstrukturen mit key-value/object-Paaren und Listen gearbeitet. Die Objektfelder können dadurch von außen vorgegeben werden, nämlich in Form von Tabellenüberschriften und Konfigurationen.
Wie in der Tabelle oben in der Spalte Testautomatisierung als Argument angegeben, gibt es drei grundlegende Datenstrukturen:
Testdaten
In der Testfallspezifikation werden Steuerdaten für den Ablauf und Testdaten in einer realen Sicht spezifiziert - die Erwartungswerte werden zunächst für die Testdurchführung ausgeklammert.
testdaten
+ _steps
- _komponente
- _schrittnr
- argumente..
+ _tables
+ objekt
_komponetenobjekt
_header
- feldnamen
_data
- datenzeilen
- _komponentenobjekt
- _schrittnr
- feld-wert-Paare
...
Unter dem Knoten _tables sind alle Testdaten aufgeführt, die entweder initial in die Anwendung als Vorbedingung eingegeben werden oder in der Durchführungsphase als Requests eingespielt werden. Zur Steuerung, wann durch welche Komponente die Daten an die Anwendung gebracht wird, dienen die Angaben Komponentenobjekt (eine Komponente kann aus mehreren Objekten bestehen) und Testschrittangabe je Zeile. Weiter oben im Block _steps ist spezifiziert, wie die Daten einzuspielen sind.
Komponentendaten
In den Komponenten wird das eigentliche Testgeschehen in der Datenstruktur des Testobjekte abgebildet.
daten
+ objekte
- _techAttribute
- _ablaufInformation
+ _header
- feldernamen
+ _data
- datenzeilen
- feld-wert-Paaren
Auf Ebene der Objekte
Matchdaten
Für den Vergleich verschiedener Datenzustände werden die gleichförmig strukturierten Daten nebeneinander eingelesen und je Komponente zusammengestellt.
matchdaten
+ sollVorher
+ objekt
- _ablaufInformation
+ _header
- feldernamen
+ _data
- datenzeilen
- feld-wert-Paare
...
+ sollNachher
+ objekte
...
+ istVorher
+ objekte
...
...
ee
Bei den Feldbezeichnungen unterscheiden sich die Anwendungsfelder von den Automatisierungsfelder darin, dass die Automatisierungsfelder mit Unterstrich beginnen.