Beispiel 4: Testfall für myTon mit simulierter Zykluszeit und nicht angegebene Testsequenzen

In diesem Beispiel wird ein Test für den Funktionsbaustein myTon aus dem folgenden ST-Code erstellt und ausgeführt.

FUNCTION_BLOCK myTon
VAR_INPUT
IN : BOOL;
PT : TIME;
END_VAR
VAR_OUTPUT
Q : BOOL;
ET : TIME;
END_VAR
 
VAR
var1 : TON;
END_VAR
var1(IN := IN, PT := PT, Q=>Q, ET =>ET);
END_FUNCTION_BLOCK

Das Beispiel illustriert, dass die Testsequenzen für myTon maximal schnell ausgeführt werden, während eine vorgegebene Zykluszeit simuliert, dass die vorgegebene Zeit von 1 Stunde pro Zyklus (= Testsequenz) verstreicht. Dabei werden einige Testsequenzen sogar im Testfall nicht angegeben.
Informieren Sie sich unter "TON-Baustein" über die Funktionalität des TON-Bausteins.

So testen Sie den obigen Funktionsbaustein myTon:

  1. Erstellen Sie die Testsuite für myTon mit Hilfe des Befehls Testsuite erstellen. Details: Siehe "Testsuite erstellen".
    Ergebnis: Die Testsuite-Datei myTon.test und die Excel-Datei myTon.xlsm sind im gleichen Ordner wie das ST-Objekt vorhanden.

  2. Öffnen Sie die Excel-Datei, geben Sie die Testdaten im bereits vorhandenen Arbeitsblatt test myTon ein und speichern Sie die geänderte Excel-Datei.
    Das Arbeitsblatt enthält bereits die Spalten für die Variablen, die Eingangsdaten liefern. Das sind hier IN und PT. Außerdem sind ET und Q als Spalten für die Ausgänge (= erwartete Ergebnisse) enthalten.
    Die folgenden Testsequenzen und Testdaten werden für den Test eingegeben:
    images/download/attachments/453673802/TF_TestsuiteExampleMyTon-version-1-modificationdate-1605264120037-api-v2.png
    Beachten Sie, dass die Testsequenzen 2 bis 9 nicht angegeben wurden.
    Zusätzlich wurde die vorgegebene Zykluszeit von T#10ms auf T#1h geändert. Damit wird simuliert, dass die 10 Zyklen insgesamt 10 Stunden benötigen. Das erwartete Ergebnis für den Ausgang ET in der 10. Testsequenz ist daher: TIME#10h
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Die Excel-Datei enthält auch andere Arbeitsblätter, die in diesem Beispiel nicht verwendet werden. Informationen über diese Arbeitsblätter finden Sie unter "Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten".

  3. Übernehmen Sie alle Testdaten aus der Excel-Datei in die Testsuite-Datei myTon.test, in dem Sie die Excel-Datei importieren. Details: Siehe "Testsuite auf Basis der Excel-Datei für die Testdurchführung erstellen".

  4. Da die Validierung der nicht angegebenen Testsequenzen 2 bis 9 nicht benötigt wird: Deaktivieren Sie die Einstellung Ergebnisse für nicht angegebene Testsequenzen validieren in den Eigenschaften des Projekts (Kontextmenü des Projekts, Befehl Eigenschaften und Testframework).
    Lesen Sie unter "Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten" nach, falls Sie Informationen über nicht angegebene Testsequenzen benötigen.

  5. Lassen Sie den Test ausführen, z.B. einen SiL-Test. Details: Siehe "Test ausführen".
    Ergebnis der Testausführung: Die Konsole zeigt den Fortschritt und das Ergebnis der Testausführung. Als Ergebnis der Testausführung wird PASS angezeigt. Die Testausführung dauert nur einige Sekunden, obwohl simuliert wurde, dass die Testdurchführung 10 Stunden benötigt hat.
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Falls Fehlermeldungen, wie Error at output "ET" in test sequence 2. Expected: TIME#1h but was: TIME#2h, angezeigt werden, wurde die Validierung der nicht angegebenen Testsequenzen doch nicht deaktiviert (siehe Schritt 4).
    Falls andere Fehlermeldungen angezeigt werden, ist wahrscheinlich eine andere Version von logi.CAD 3 gestartet und/oder die Anwendung wurde bereits auf die SPS geladen.
    Siehe "Test ausführen" für die erforderlichen Schritte.

  6. Kontrollieren Sie die Testausführung. Details: Siehe "Testausführung kontrollieren".
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Aufgrund von Schritt 4 enthält der Testbericht diese Zusatzinformation: Validate results for unspecified test sequences: No