Testskript für Systemtest erstellen
Im Testskript implementieren Sie den Testlauf aus Testfällen und deren Aktionen. Die Aktionen sind konfigurierte Testtreiberaktionen, die mit dem Testsystem kommunizieren. Über diese Kommunikationsverbindung, die Monitorschnittstelle des Laufzeitsystems, wird das System getestet. Dessen Zeitverhalten bestimmt das Zeitverhalten der Testfälle.
Üblicherweise ist im Testskript programmiert, dass das Testprojekt geöffnet und die Kommunikationsparameter eingestellt werden. Wenn das Testsystem vorbereitet ist, werden Prüfungen ausgeführt. Die Erstellung des Testreports erfolgt automatisch.
Außerdem können Sie das Verhalten bei nicht erfolgreich beendeten Tests konfigurieren.
Testskript anlegen
Sie erstellen ein Testskript und programmieren den Testfall Prepare
. In diesem Testfall werden Aktionen zur Vorbereitung des eigentlichen Tests ausgeführt.
Selektieren Sie in der Registerkarte Testskripte in der Liste das oberste Element.
Wählen Sie den Befehl
.In der Liste erscheint das neues Testskript mit dem Namen
Unnamed_1(0.0)
.Doppelklicken Sie auf das Testskript.
Im Testskripteditor ist das leere Skript
Unnamed_1(0.0)
geöffnet.Ändern Sie in der Registerkarte Testskript den Namen auf
Script ABC
.Klicken Sie auf die Schaltfläche Speichern.
Eine Eingabeaufforderung öffnet sich.
Wählen Sie die Option Das Testskript umbenennen und klicken Sie auf OK.
Die Änderungen sind gespeichert. Das Skript ist sowohl im Testskripteditor als auch im Repository umbenannt.
Selektieren Sie im Testskripteditor den obersten Eintrag und wählen Sie den Kontextbefehl
.Selektieren Sie den eingefügten Testfall. Benennen Sie den Titel um auf
Prepare
. Speichern Sie das Skript.Selektieren Sie den eingefügten Testfall und wählen Sie den Kontextbefehl
.Selektieren Sie die eingefügten Testaktion. Benennen Sie den Titel um auf
Close project
.Klicken Sie in der Registerkarte Testaktion auf den Link Aktion wählen.
Der Dialog Aktion wählen öffnet sich.
Wählen Sie aus der Kategorie TestManager.Projects die Aktion CloseProject.
Selektieren Sie den Testfall Prepare und wählen Sie den Befehl .
Ändern Sie den Titel der eingefügten Aktion um auf
Load project
.Klicken Sie im Registerkarte Testaktion auf Aktion wählen. Wählen Sie aus der Kategorie TestManager.Projects die Aktion LoadProject.
Wählen Sie in der Registerkarte Konfiguration bei Parameter Projekt laden das Projekt
SystemTest_A.project
aus.Fügen Sie eine Testaktion
Login
hinzu. Wählen Sie für die Testaktion die Aktion . Setzen Sie den Applikationsstatus auf Applikation stoppen.Klicken Sie auf die Schaltfläche Speichern + Starten.
Der Dialog Test ausführen öffnet sich.
Geben Sie den Namen des Testers ein und klicken Sie OK.
Das Testskript wird ausgeführt. Danach erscheint das Testprotokoll mit einem Fehler.
Das Testprotokoll zeigt, dass die Aktion
Projekt laden
erfolgreich war und dass beim Einloggen ein Fehler aufgetreten ist, da keine Verbindung zum Gerät hergestellt werden konnte.
Kommunikationsparameter setzen
Selektieren Sie die Testaktion Login.
Wählen Sie den Befehl
.Fügen Sie wie oben beschrieben die Aktion
Set communication path
hinzu. Wählen Sie dafür die Testtreiberaktion . Konfigurieren Sie folgende Werte:Gerätename: <Name Ihrer Steuerung>
Beispiel:
Device
Hinweis: Wenn Sie das Projekt
SystemTest_A
geöffnet haben, können Sie das Geräte auch per Drag&Drop hier einfügen.Gateway-Name: <Name Ihres Gateways>
Beispiel:
Gateway-1
Zielgerätename: Diesen Namen finden Sie, wenn Sie das Netzwerk durchsuchen (im Editor Ihres Geräts auf der Registerkarte Kommunikation).
Speichern und starten Sie das Testskript.
Das Testskript wird ausgeführt. Danach erscheint das Testprotokoll ohne Fehler.
Hinweis: Während das Skript läuft, wird im Hintergrund ein Fenster eingeblendet, das den Fortschritt zeigt.
Testumgebung aufräumen
Üblicherweise werden bei einem Test nach der eigentlichen Prüfung abschließende Aktionen ausgeführt, beispielsweise im Testfall Cleanup
.
Selektieren Sie im Testskripteditor den obersten Eintrag
Script ABC
und wählen Sie den Befehl . Ändern Sie den Titel inCleanup
.- . Fügen Sie unter diesem Testfall die folgende Aktionen ein:
Reset (origin) application
( )Stellen Sie in der Registerkarte Konfiguration folgende Parameter ein:
Reset-Typ: Reset Ursprung
Applikationsname
Beispiel:
Device.Plc Logic.Application
Hinweis: Wenn Sie das Projekt
SystemTest_ABC
geöffnet haben, können Sie die Applikation auch per Drag&Drop hier einfügen.
Logout
( )Close project
( )
Projekt und Pfad als Parameter übergeben
Um das Testskript variabel zu programmieren können Sie Skriptvariablen verwenden: Der Projektname und das Projektverzeichnis werden über Parameter übergeben.
Selektieren Sie den Testfall Prepare.
Wählen Sie den Menübefehl
.Führen Sie den Befehl erneut aus.
2 leere Zuweisungen sind eingefügt.
Selektieren Sie die erste Zuweisung und geben Sie folgende Parameter ein:
Variable:
ProjectPath
Wert: Verzeichnispfad des Projekts, beispielsweise
"D:\Projects\"
Selektieren Sie die zweite Zuweisung und geben Sie folgende Parameter ein:
Variable:
ProjectName
Wert:
"SystemTest_ABC.project"
Selektieren Sie die Aktion: LoadProject.
Wählen Sie die Registerkarte Parameter.
Definieren Sie folgende zwei Eingangsparameter:
Name:
ProjectPath
, Variable:ProjectPath
Name:
ProjectName
, Variable:ProjectName
Ändern Sie den Eintrag bei der Testaktion Load project in der Registerkarte Konfiguration bei dem Eintrag Projekt laden nach
{ProjectPath}\{ProjectName}
.Speichern und starten Sie das Testskript.
Variablenwerte der Steuerung prüfen
Erweitern Sie das Skript, um Variablenwerte zu prüfen.
Selektieren Sie den Testfall Cleanup und fügen Sie den Testaktion
Check application state after download (stop)
ein.Fügen Sie die Testaktion
"iValue1 = 100?"
hinzu.Aktion
Variable:
Device.Application.PLC_PRG.iValue1
Timeout (ms):
500
Vergleichstyp:
=
Vergleichswert:
100
Fügen Sie den Testfall
Check appliation state in "run"
hinzu.Fügen Sie die Testaktion
Start application
hinzu.Wählen Sie die Testtreiberaktion
.Timeout (ms):
1000
Fügen Sie die Testaktion
"iValue1 = 100?"
hinzu. Diesen Ausdruck können Sie aus dem vorhergehenden Testfall kopieren. (Strg + C, Strg + V)Fügen Sie die Testaktion
"iValue2 = 201?"
hinzu.Variable:
Device.Application.PLC_PRG.iValue2
Timeout (ms):
500
Vergleichstyp:
=
Vergleichswert:
201
Fügen Sie den Testfall
Check application state after reset
hinzu.Fügen Sie die Testaktion
Reset (warm) application
hinzu.Wählen Sie die Testtreiberaktion
.Tragen Sie den Applikationsnamen ein und wählen Sie die Option
Reset warm
.
Fügen Sie die Testaktion
"iValue2 = 200?"
hinzu.Variable:
Device.Application.PLC_PRG.iValue2
Timeout (ms):
500
Vergleichstyp:
=
Vergleichswert:
200
Klicken Sie nun auf die Schaltfläche Speichern + Starten.
Der Dialog Test ausführen öffnet sich.
Geben Sie den Namen des Testers ein und klicken Sie auf OK.
Das Testskript wird ausgeführt. Danach wird das Testprotokoll angezeigt (mit Fehler). Die Testaktion
"iValue2 = 201?"
wird übersprungen.Selektieren Sie die Testaktion
"iValue2 = 201?"
.Aktivieren Sie in der Registerkarte Erweiterte Einstellungen die Option Ausführen auch bei vorangegangenem Fehler.
Das Symbol der Testaktion wird mit Ausrufezeichen
angezeigt.
Speichern und Starten Sie das Skript.
Das Testprotokoll wird (mit Fehler) angezeigt. Die Testaktion
"iValue2 = 201?"
wird erfolgreich ausgeführt, der Testfall jedoch alsFailed
gekennzeichnet.
Fehlerbehandlung anpassen
Passen Sie das Testskript nun so an, dass die Variablenprüfung nur bei erfolgreicher Vorbereitung (Testfall „Prepare“) durchgeführt wird. Dies realisieren Sie über den Aktion Wählen. Dabei wird die Variable ResultPrepare
ausgewertet, die in der vorhergehenden Testaktion gesetzt wird.
Weiterhin sollen die Aktionen im Testfall Cleanup immer ausgeführt werden, unabhängig von den Ergebnissen der vorhergehenden Prüfungen.
Selektieren Sie den Testfall
Prepare
.Wählen Sie den Befehl
.Geben Sie folgende Parameter ein
Variable:
ResultPrepare
Wert:
""
Selektieren Sie den Testfall Login. Wechseln Sie auf die Registerkarte Erweiterte Einstellungen und definieren Sie die Ergebnisvariable
ResultPrepare
.Selektieren Sie den Testfall
Check Appliation state after download (stop)
.Wählen Sie den Befehl
.Selektieren Sie unter Wählen das Element <Leere Bedingung>.
Geben Sie folgende Parameter ein:
Bedingung:
ResultPrepare="Succeeded"
Selektieren Sie die drei Testfälle Check Application (Mehrfachauswahl).
Wählen Sie den Befehl
.Selektieren Sie das Element ResultPrepare="Succeeded".
Wählen Sie den Befehl
.Die drei Testfälle werden unterhalb des Elements ResultPrepare="Succeeded" eingefügt.
Selektieren Sie die Testaktion Reset (origin) application.
Aktivieren Sie in der Registerkarte Erweiterte Einstellungen die Option Ausführen auch bei vorangegangenem Fehler.
Das Icon der Testaktion wird mit Ausrufezeichen
angezeigt.
Aktivieren Sie diese Option bei allen Testaktionen im Testfall Cleanup.
Speichern Sie das Testskript.
Das Testskript ist erstellt und im Repository abgelegt.