Grundregeln für das Testen
Für das Ausführen von →Unittests benötigen Sie eine Testsuite. Die Testsuite im Excel-Format erleichtert die Bearbeitung der Testsuite. Siehe "Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten" für Details.
Beispiele für Testfälle finden Sie unter:
Page:(en) Example 2: Test case for counter with global/external variable
Page:(en) Example 3: Test case for addition with local variable, different test mode and stimuli
Page:(en) Example 4: Test case for myTon with simulated cycle time and unspecified test sequences
Page:(en) Modifying the Excel test suite, creating the test suite required for test execution
Page:(V3.10.0-de) Beispiel 2: Testfall für Counter mit globaler/externer Variablen
Page:(V3.10.0-de) Excel-Testsuite bearbeiten, Testsuite für Testausführung erzeugen
Page:(V3.10.0-en) Example 2: Test case for counter with global/external variable
Page:(V3.10.0-en) Example 3: Test case for addition with local variable, different test mode and stimuli
Page:(V3.10.0-en) Example 4: Test case for myTon with simulated cycle time and unspecified test sequences
Page:(V3.10.0-en) Modifying the Excel test suite, creating the test suite required for test execution
Unter "Einschränkungen beim Verwenden des Testframeworks" finden Sie gesammelt alle bekannten Einschränkungen für das Testframework.
Falls Sie eine Division in einer zu testenden POE verwenden (z.B. die Anweisung X := Y / (A-B) im ST-Code), erstellen Sie eine zusätzliche Testsequenz im Testfall. In dieser Testsequenz spezifizieren Sie dann Testdaten, die zu einer Divsion durch 0 ("division by zero") führt. Falls Sie einen SiL-Test mit Testabdeckung ohne dieser Testsequenz ausführen, ergeben sich Zweige ohne einer Testabdeckung.
Beim Erstellen/Öffnen eines Testprojekt mit einer Variante von logi.CAD 3, in dem das Testframework verfügbar ist, und beim anschließenden Ausführen von Tests werden automatisch sogenannte interne Metadateien und andere Testdateien erstellen, die im Normalfall nicht relevant sind. Daher werden diese Dateien standardmäßig nicht im Testprojekt angezeigt. Falls Sie das Testprojekt in einem GitHub-Repo anlegen, scheinen diese Dateien zuerst im entsprechenden Git-Commit auf. logi.cals empfiehlt Ihnen, die folgenden Dateien/Ordner in die Datei .gitignore aufzunehmen. um diese von der Verfolgung durch Git auszuschließen:
Name
Bedeutung
Datei red.xml
interne Datei, die automatisch beim Erstellen/Öffnen des Projekts erstellt wird
Ordner libspecs
Ordner mit internen Dateien, die automatisch beim Erstellen/Öffnen des Projekts erstellt werden
.settings\testbed_SiL\testbed_SiL.rule oder .settings\testbed_PiL\testbed_PiL.rule
Ordner src-gen\testbed_sil\ oder src-gen\testbed_pil\
Ordner target\testbed_sil\ oder target\testbed_pil\
interne Dateien, die automatisch beim Ausführen eines SiL- oder PiL-Tests erstellt/aktualisiert werden
Schließen Sie die folgenden Dateien auf jeden Fall nicht von der Verfolgung durch Git aus (auch obwohl der Bericht zur Testabdeckung standardmäßig nicht im Projekt sichtbar ist):
die zu testenden POE (Dateiname.Dateierweiterung – z.B. MyTest.iecst)
die Testsuite-Dateien für die POE (POE-Name.robot und POE-Name.xlsm)
die Dateien für die Testausführung, die im gleichen Ordner wie die Testsuite-Dateien liegen (oder in Unterordner)
Diese Dateien umfassen zumindest: consoleLog.txt, Testbericht report.html, Testlog log.html und Dateien, die Informationen über die Ausführung des SiL-/Pil-Tests enthalten (z.B. test_POE-Name.SiL.tstlog, summaryTestReport.SiL.xml, POE-Name.SiL.xml, Bericht zur Testabdeckung POE-Name.SiL.Dateierweiterung .gcov)