Skip to main content

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:

    1. Projekt laden

    2. Geräteobjekt der Applikation Application zum Zielgerät passend einstellen (Gerätebeschreibung)

    3. Kommunikation des Geräteobjekts auf das Zielgerät setzen

    4. 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

  1. Der Benutzer startet das Testskript

  2. Das Testskript bereitet das Testprojekt vor

  3. Das IEC-Unittest-Element im Testskript wird abgearbeitet:

    1. Suchen aller Testfall-Funktionsbausteine, die im Projekt zu finden sind

    2. Filtern der Testfall-Funktionsbausteine anhand der eingegebenen Selektion

    3. Generieren der Instanzen und Aufrufe der Testfall-Funktionsbaustein in PLC_PRG der Applikation Application

    4. Erstellen des Backup (Applikation oder Gerät)

    5. 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

    6. Lesen der Ergebnisse der Testfall-Funktionsbausteine von deren Ausgängen

    7. Erzeugen eines Testreports mit den Ergebnissen

  4. 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.