Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten

Für das Ausführen von →Unittests benötigen Sie eine Testsuite. Die Testsuite im Excel-Format erleichtert die Bearbeitung der Testsuite.

Dieser Artikel informiert Sie über:

Siehe "Testsuite erstellen" und/oder "Excel-Testsuite bearbeiten, Testsuite für Testausführung erzeugen", falls Sie Informationen benötigen, wie Sie die Excel-Testsuite erstellen und/oder die benötigte Testsuite für die Testausführung erzeugen.

Liste der vorhandenen Arbeitsblätter

Die Excel-Datei enthält bereits diese vorgegebenen Arbeitsblätter:

Titel des Arbeitsblatts

Zweck

Info

Informationen über Autor (inkl. Datum), Prüfer (inkl. Datum), verwiesene Dokumente

Change History

Änderungsprotokoll

Excluded Req.

Anforderungen, die nicht dynamisch getestet werden können

Defaults

Vorgaben für Stimuli – nur nötig, wenn die Variable nicht in den folgenden Arbeitsblättern (= Testfällen) spezifiziert ist

test testCase Name

Vorgaben für den ersten Testfall mit dem Standardnamen test testCase Name
Ein Testfall besteht aus beliebig vielen Testsequenzen, bei denen Sie die Eingangsdaten und das erwartete Ergebnis für die zu testende POE eintragen. Pro Testsequenz können Sie außerdem interne Kommentare, Anforderungen und Beschreibungen eintragen.

Erstellen Sie nur bis zu 5.000 Testsequenzen pro Excel-Datei. Diese Beschränkung ist als Summe für alle Testfälle zu sehen.
Bei mehr Testsequenzen kann die optimale Verwendung des Testframeworks nicht gewährleistet werden, sondern die Testausführung könnte sich träge verhalten.

Tragen Sie nur bis zu 55.000 Daten pro Testfall ein. Beachten Sie, dass diese Daten so berechnet werden:

(Eingangsdaten des Testfalls + erwartete Ergebnisse des Testfalls) * Testsequenzen des Testfalls

Falls Sie mehr Daten in einem Testfall eintragen, erscheint diese Meldung beim Ausführen des Testfalls: Test case contains too many test sequences and/or inputs/outputs

Abhilfe, falls Testsequenzen im Testfall nicht angegebenen sind: Deaktivieren Sie die Einstellung Ergebnisse für nicht angegebene Testsequenzen validieren, bevor Sie den Test starten.

Arbeitsblätter bearbeiten

Falls eine Testsuite Sonderzeichen (wie Umlaute, z.B. ä, ö, ü) enthält, werden diese Sonderzeichen bei der Testausführung ignoriert . Verwenden Sie beim Erstellen/Bearbeiten der Testsuite daher am besten nur ASCII-Zeichen.

Arbeitsblätter Info, Change History and Excluded Req. bearbeiten

Vervollständigen Sie die Daten in den vorhandenen Arbeitsblätter Info, Change History und Excluded Req.

Arbeitsblatt Defaults bearbeiten

Vervollständigen Sie die Daten im vorhandenen Arbeitsblatt Defaults, falls eine Variable, die Eingangsdaten liefert, nicht in den Testfällen spezifiziert ist.
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Variablen, die Eingangsdaten für die Testausführung liefern können, sind:

Vervollständigen Sie diese Daten so;

  1. Geben Sie den Wert in der Spalte Default Value in der Zeile für die Variable (z.B. IN4) ein.
    Der Name der Variable ist bereits in der Spalte Stimuli eingetragen.

  2. Bei Bedarf: Geben Sie einen beliebigen Text in der Spalte Comment (Default) ein.

  3. Prüfen Sie den eingetragenen Testmodus in der Spalte Test Mode, falls es sich bei der Variable um eine lokale Variabe, eine Ein-/Ausgangsvariable oder eine externe Variable handelt (der Testmodus ist für eine Eingangsvariable nicht relevant). Bei Bedarf ändern Sie diesen Testmodus.
    logi.CAD 3 trägt den Testmodus abhängig von der Verwendung der Variable ein. Dabei unterstützt logi.CAD 3 die folgenden Einträge:

    Testmodus

    Automatisch eingetragen, falls...

    Bedeutung

    useTestValue

    ... die Variable nur gelesen wird.

    Bei der Testausführung wird jener Wert verwendet, der für die Variable im Testfall spezifiziert ist.
    Falls die Variable in keinem Testfall spezifiziert ist, wird der Wert aus dem Arbeitsblatt Defaults verwendet.

    useLastValue

    .. auf die Variable geschrieben wird.

    Bei der Testausführung wird der letzte Wert aus dem vorgehenden Zyklus des Tests verwendet. Im Fall des ersten Zyklus wird der Initialisierungswert der Variable verwendet.

    Falls Sie andere Texte in der Spalte Test Mode eintragen oder einen der Texte löschen, kann der Test nicht ausgeführt werden.
    Siehe "Beispiel 3: Testfall für Addition mit lokaler Variable, unterschiedlichem Testmodus und Initialisierungswert" für ein Beispiel über die Wirkung des Testmodus bei einer lokale Variable.

  4. Bei Bedarf: Geben Sie einen beliebigen Text in der Spalte Comment (Test Mode) ein.

Initialisierungswert einer lokalen Variable aus der Anwendung

Beim Ausführen von Tests wird ein Initialisierungswert für eine lokale Variable berücksichtigt, sofern Sie diesen im Arbeitsblatt Defaults der Testsuite spezifizieren. Falls Sie jedoch einen Initialisierungswert in der Anwendung spezifizieren (z.B. durch die ST-Anweisung iDelta : INT := 2;), wird dieser Initialisierungswert nicht beim Ausführen des Tests berücksichtigt – auch sofern Sie den Initialisierungswert für die lokale Variable aus dem Arbeitsblatt Defaults der Testsuite löschen.

Arbeitsblatt für vorgegebenen Testfall bearbeiten

Vervollständigen Sie die Daten im vorgegebenen Arbeitsblatt für den Testfall, z.B. im Arbeitsblatt test testCase Name.
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg logi.cals empfiehlt, das Arbeitsblatt mit Hilfe der Excel-Funktionen auf einen aussagekräftigen Namen umzubenennen, sodass Sie den Testfall besser zuordnen können. Beispiel: Testing Motor Ax3491

Beispiele für Arbeitsblätter mit Testdaten finden Sie unter "Excel-Testsuite bearbeiten, Testsuite für Testausführung erzeugen".

Spezifizieren Sie die Testsequenzen für den Testfall so:

  1. Bei Bedarf: Ändern Sie die vorgegebene simulierte Zykluszeit (das →Zeitdauer-Literal) in der Spalte Time (als 2. Zeile) in der Überschrift.
    Als Vorgabe verwendet der Testfall die simulierte Zykluszeit aus den Eigenschaften des Projekts (siehe unter "Bestehendes Projekt für Tests vorbereiten").
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Jeder Test pro Testsequenz wird maximal schnell ausgeführt, damit der 2. Zyklus (= 2. Testsequenz) sofort nach dem 1. Zyklus (= 1. Testsequenz) startet, der 3. Zyklus (= 3. Testsequenz) sofort nach dem 2. Zyklus (= 2. Testsequenz) usw. Aufgrund der vorgegebene simulierte Zykluszeit wird vor dem Starten der nächsten Testsequzen simuliert, dass die vorgegebene Zeit pro Zyklus bereits verstrichen ist. Siehe "Beispiel 4: Testfall für myTon mit simulierter Zykluszeit und nicht angegebene Testsequenzen" für ein Beispiel über die Wirkung der simulierten Zykluszeit.

  2. Für jede neue Testsequenz fügen Sie eine Nummer in der Spalte Time ein. Für die erste Testsequenz ist bereits die Zahl 0 eingetragen, tragen Sie die Zahl 1 für die zweite Testsequenz ein usw.
    Falls Sie Testsequenzen im Testfall nicht angeben wollen, geben Sie eine höhere Zahl für die nächste Testsequenz an. Beispiel: Bei Testsequenzen 0, 1, 2, 5, 6 sind zwei Testsequenzen nicht angegeben (aufgrund der ausgelassenen Zahlen 3 und 4).
    Beachten Sie, falls Sie Testsequenzen nicht angeben:

    • Wenn eine nicht angegebenen Testsequenz validiert wird, verwendet logi.CAD 3 die Ergebnisse der davor angegebenen Testsequenz.

    • Standardmäßig werden die Ergebnisse für nicht angegebene Testsequenzen validiert. Falls Sie diese Validierung jedoch nicht benötigen, deaktivieren Sie die Einstellung Ergebnisse für nicht angegebene Testsequenzen validieren , bevor Sie den Test starten (siehe auch unter "Beispiel 4: Testfall für myTon mit simulierter Zykluszeit und nicht angegebene Testsequenzen"). Unabhängig davon, ob diese Einstellung aktiviert ist oder nicht, werden die nicht angegebenen Testsequenzen beim Ausführen eines Tests immer ausgeführt.

    • Der Testbericht eines durchgeführten Tests enthält eine entsprechende Zusatzinformation, ob nicht angegebene Testsequenzen validiert wurden oder nicht. Sie finden diese Zusatzinformation im Abschnitt Test Details für die entsprechende Suite.

  3. Tragen Sie pro Testsequenz die folgenden Daten in den jeweiligen Spalten ein. Siehe "Beispiel 1: Excel-Datei mit Testfall für ADD" für eine Grafik.

    Spalte

    Daten für diese Spalte

    Name der Variable, die Eingangsdaten liefert (z.B. IN1)

    Eingangsdaten für diese Variable
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Löschen Sie die Spalten für jene Variablen, die nicht im Testfall spezifiziert werden sollen – für solche Variablen müssen Sie Vorgaben im Arbeitsblatt Defaults angeben.

    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Variablen, die Eingangsdaten für die Testausführung liefern können, sind:

    Name des Ausgangs oder Ergebniswerts
    (= Spalten mit Tolerance und Shift in der Überschrift)

    erwartetes Ergebnis (für den Ausgang oder Ergebniswert)
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Falls Sie Excel-Formeln verwenden, um erwartete Ergebnisse für REAL - oder LREAL -Werte zu berechnen (z.B. die Formel zum Berechnen eines Sinus-Werts ), runden Sie diese Ergebnisse auf die signifikanten Stellen in der Excel-Datei (verwenden Sie z.B. die Formel zum Runden des Werts). Grund: logi.CAD 3 berechnet die REAL- und LREAL-Werte mit den entsprechend signifikanten Stellen (Details: siehe Informationen zum REAL- und LREAL-Datentyp).

    Comments

    ein interner Kommentar, der nicht im Testbericht ausgegeben wird

    Requirements

    Anforderungen, die dynamisiert testbar sind

    Description

    Beschreibung für die Testsequenz

    Einschränkungen

    Siehe "Einschränkungen beim Verwenden des Testframeworks" für Einschränkungen beim Bearbeiten einer Testsuite.

  4. Bei Bedarf: Tragen Sie in den Spalten für Ausgang oder Ergebniswert die erlaubten Abweichungen in der Überschrift ein.

    • Tolerance spezifiziert die erlaubte Abweichung für die Amplitude (als positive Gleitkommazahl). Der angegebene Wert bei Tolerance gilt als Schwankungsbereite.
      Tolerance = 0 ist die Standardvorgabe und entspricht keiner Abweichung.
      Beispiel: Bei dem erwarteten Ergebnis 10 mit der Angabe Tolerance = 2.0 darf beim Ausführen des Tests der tatsächliche Wert zwischen 8 und 12 liegen.

    • Shift spezifiziert die erlaubte Abweichung für die Zeit (als positive Ganzzahl). Falls Sie einen Wert für Shift vergeben, werden zusätzlich zum erwarteten Ergebnis der aktuellen Testsequenz auch die erwarteten Ergebnisse der entsprechenden Testsequenzen davor und danach als tatsächlicher Wert akzeptiert.
      Shift = 0 ist die Standardvorgabe und entspricht keiner Abweichung.
      Beispiel für die Angabe Shift = 1: Zusätzlich zum erwarteten Ergebnis der aktuellen Testsequenz wird auch das erwartete Ergebnis der einen (1) Testsequenz davor bzw. danach als tatsächlicher Wert akzeptiert.

      Testsequenz

      Erwartetes Ergebnis

      Der tatsächliche Wert darf einer dieser Werte sein:

      0

      5

      5 (= das erwartete Ergebnis vom Testsequenz 0) oder
      6 (= das erwartete Ergebnis des aktuellen Testsequenz 1)

      1

      6

      5 (= das erwartete Ergebnis vom Testsequenz 0) oder
      6 (= das erwartete Ergebnis des aktuellen Testsequenz 1) oder
      7 (= das erwartete Ergebnis vom Testsequenz 2)

      2

      7

      6 (= das erwartete Ergebnis vom Testsequenz 1) oder
      7 (= das erwartete Ergebnis des aktuellen Testsequenz 2)

  5. Bei Bedarf für ein Programm oder einen Funktionsbaustein (nicht möglich für eine Funktion): Definieren Sie Initialisierungswerte für Ausgänge. Das ermöglicht es, beispielsweise den Überlauf bei einem Counter-Baustein zu testen.

    • Zuerst fügen Sie die Zeile Init in die Excel-Datei ein (mit Hilfe der Excel-Aktion Zellen einfügen...), und zwar vor der ersten Zeile für die Testsequenzen. Siehe " Beispiel 2: Excel-Datei mit Testfall inkl. Initialisierungswerte für Baustein-Ausgänge " für eine Grafik.

    • Danach tragen Sie die Initialisierungswerte in den Spalten für die Funktionsbaustein-Ausgänge ein, in denen Sie einen Initialisierungswert benötigen.

    • Abschließend tragen Sie das Zeichen / in den Spalten für die Eingangsdaten und alle anderen Spalten für die Ausgänge ein. Dieser Eintrag ist für die korrekte Weiterverarbeitung der Zeile Init erforderlich.

Neues Arbeitsblatt für neuen Testfall erstellen

Falls Sie mehr als einen Testfall für die POE benötigen, fügen Sie zusätzliche Arbeitsblätter hinter dem letzten Arbeitsblatt ein.
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Am besten kopieren Sie das Arbeitsblatt für den ersten Testfall und fügen den neuen Testfall hinter diesem Arbeitsblatt ein. Dann bearbeiten Sie den neuen Testfall (wie gerade erwähnt): Vergeben Sie einen aussagekräftigen Namen, spezifizieren Sie die Testsequenzen, die Daten in den Spalten inkl. evtl. Abweichungen.