Grundlegende Funktionsweise des IEC-Unittest
Definition von Testfällen
Die Testfälle von IEC-Unittests werden, im Gegensatz zu Testfällen in einem Testskript, direkt auf der Steuerung ausgeführt.
Dadurch ist es möglich, Testfälle zu schreiben, die den Prüfling zyklus-konsistent aufrufen und somit ein exaktes Timing bieten. Für den Test steht der komplette IEC-Sprachumfang zur Verfügung.
Ein IEC-Unittest benötigt als Ausführungsrahmen immer ein Testprojekt, in dem die Testfälle in IEC definiert werden. Ein Testprojekt für den IEC-Unittest muss immer eine Applikation mit dem Namen Application und eine leere POU PLC_PRG (Typ Strukturierter Text) enthalten. Eine Applikation oder ein Geräteobjekt mit dem Namen Backup darf nicht vorhanden sein, da dieses später implizit angelegt wird.
Die Testfälle sind immer IEC-Funktionsbausteine gemäß einer Schablone oder werden als solche generiert (bei Verwendung von den Testtabellen). Alle Funktionsbausteine sind zur Zeit flankengetriggert (wie ein
ETrigA
). Es gibt verschiedene Schablonen/Arten von Testfall-Funktionsbausteinen. Diese sind in den nachfolgenden Kapiteln beschrieben. Für das Schreiben der Bausteine stehen Vorlagen und die Eingabehilfe zur Verfügung.Die Testfälle werden im Testprojekt zusammengefasst und müssen an einer der folgenden Stellen definiert sein:
Unterhalb der Applikation Application
Im POU-Pool
In einer Bibliothek, die vom Testprojekt im Bibliotheksverwalter der Applikation Application oder des POU-Pools referenziert wird
Konfiguration der Ausführung von Testfällen
Zur Ausführung des IEC-Unittests wird immer ein Testskript benötigt - es ist der Einstiegspunkt eines jeden IEC-Unittests.
Voraussetzungen:
Das Testskript muss geeignete Testaktionen beinhalten, um zunächst das Testprojekt zu laden und zu konfigurieren:
Projekt laden
Geräteobjekt der Applikation Application zum Zielgerät passend einstellen (Gerätebeschreibung)
Kommunikation des Geräteobjekts auf das Zielgerät setzen
Zielgerät gegebenenfalls vorbereiten (beispielsweise dort vorhandene Applikationen löschen, Benutzerverwaltung einstellen)
Das Testskript muss ein Element vom Typ IEC-Unittest beinhalten. Darin können Details zur Selektion und Ausführung der Testfälle eingegeben werden.
Ablauf der Ausführung
Der Benutzer startet das Testskript
Das Testskript bereitet das Testprojekt vor
Das IEC-Unittest-Element im Testskript wird abgearbeitet:
Suchen aller Testfall-Funktionsbausteine, die im Projekt zu finden sind
Filtern der Testfall-Funktionsbausteine anhand der eingegebenen Selektion
Generieren der Instanzen und Aufrufe der Testfall-Funktionsbaustein in
PLC_PRG
der Applikation ApplicationErstellen des Backup (Applikation oder Gerät)
Laden der Applikation auf das Zielgerät. Gemäß der jeweiligen Schnittstellenkonvektion wird die Ausführung der Testfall-Funktionsbausteine getriggert und gewartet, bis sie fertig sind
Lesen der Ergebnisse der Testfall-Funktionsbausteine von deren Ausgängen
Erzeugen eines Testreports mit den Ergebnissen
Am Ende der Ausführung bleibt das Testprojekt mit den generierten Aufrufen der Testfall-Funktionsbausteine in diesem Zustand stehen. Dieser Zustand eignet sich, um Fehler im Test mit CODESYS zu debuggen: Dazu muss sich der Anwender manuell einloggen und den fraglichen Testfall-Funktionsbaustein triggern.