10/2013 Automatisiertes Testen von Steuerungsapplikationen/-bibliotheken CODESYS Test Manager Automatisierungstage Emden 2014 Roland Wagner, 3S-Smart Software Solutions CODESYS a trademark of 3S-Smart Software Solutions GmbH
Firmenportrait Gegründet: Juli 1994 Hauptsitz: Kempten, Germany Software für industrielle Automatisierung 108 Mitarbeiter Umsatz 2013: 12 Mio. 2
CODESYS im Einsatz Innovatives und flexibles Produkt > 350 OEM Kunden Lösungsorientierte Technologien Tausende von Applikationen Erfolgreicher Einsatz in vielen Applikationen ~ 600.000 Lizenzen 2013 Große Akzeptanz im Markt Marktführer Hardwareunabhängiger SW 3
CODESYS Kompetenzen 4
Industrielle Einsatzgebiete für CODESYS 5
Agenda 1 Motivation 2 Funktionsweise des CODESYS Test Managers 3 Anwendung 4 Zusammenfassung 6
Agenda 1 Motivation 2 Funktionsweise des CODESYS Test Managers 3 Anwendung 4 Zusammenfassung 7
Motivation Testautomatisierung? Zur dauerhaften Sicherung der Qualität von Applikationssoftware für die Automatisierungstechnik Wann lohnt sich eine Testautomatisierung? Wenn gleiche Tests häufig durchgeführt werden müssen Grundfunktionalität während der Entwicklung laufend gewährleisten SW-Modul langfristig weiterentwickeln und pflegen Wenn Testfälle generiert werden können Unit Tests Wann lohnt sich eine Testautomatisierung nicht? Wenn die obigen Punkte nicht zutreffen (Testentwicklung kostet Zeit) Bei kleinen Projekten mit überschaubarer Komplexität 8
Motivation CODESYS Test Manager: Teil der CODESYS Professional Developer Edition Zur Automatisierung von Tests: Erstellung, Durchführung und Auswertung von Teleskripten Vollständig in CODESYS integriert 9
Motivation Beispiele für automatisierte Tests von Steuerungssoftware FB / POUs / Funktionen aufrufen, Ergebnisse abprüfen Bibliotheksfunktionen aufrufen, Ergebnisse abprüfen Häufig verwendete Teilapplikationen prüfen evtl. E/As simulieren evtl. an der tatsächlichen Maschine testen 10
Motivation Test des gesamten Steuerungssystems (Geräte-Hersteller) Korrektes Verhalten der Steuerung Wiederanlauf Breakpoint/Steppen Monitoring Systemfunktionen 11
Motivation Alternativen Externe Testtools (IEC 61131-3 kompatibel?) Testen von Hand 12
Motivation Vorteile eines integrierten Test-Tools Gleiche Bedienphilosophie Zugriff auf die Datenbasis der zu testenden Software Testentwicklung im gleichen Projekt Immer greifbar 13
Agenda 1 Motivation 2 Funktionsweise des CODESYS Test Managers 3 Anwendung 4 Zusammenfassung 14
Funktionsweise des CODESYS Test Managers Installation und Start Package-Manager: Package auswählen, installieren, lizensieren CODESYS Store: auswählen, installieren und lizensieren Voraussetzung: CODESYS Security Key (für die Lizenz) Test Manager unter Tools / Testmanager starten Mit Erststart: automatische Erzeugung eines Repository für Testskripte: C:\ProgramData\CODESYS Test Manager 15
Begriffe und Funktionsweise CODESYS Test Manager Funktionsweise des CODESYS Test Managers CODESYS Test Manager = Manager/Interpreter für Testskripte Testskript = Satz von Testfällen, gespeichert in einem gemeinsamen Test-Repository Testfall = Satz von Testaktionen für eine Prüfsequenz Testaktion = programmiertes Kommando, ausgeführt vom Test Manager für verschiedene Kommandobereiche Test-Entwicklung = komfortable Eingabe von Testskripten/-fällen/- aktionen per Dialog, passend zu Prüfsequenzen Testreport = Ergebnisse der Abarbeitung des Testskripts (Testdurchlauf), übersichtlich dargestellt. 16
Funktionsweise des CODESYS Test Managers Begriffe und Zuordnung 17
Funktionsweisen des CODESYS Test Managers Test Repository Ablageort für Testskripte und Test-Reports Projektübergreifend Strukturierung durch Ordner (Kategorien) Basierend auf einem File System 18
Agenda 1 Motivation 2 Funktionsweise des CODESYS Test Managers 3 Anwendung 4 Zusammenfassung 19
Anwendung Test-Repository anlegen/verwalten Testskripte anlegen 20
Anwendung Testskript strukturieren: Testfälle anlegen Testfall mit Testaktionen ausprogrammieren 21
Anwendung Die wichtigsten Befehle für den Applikateur Devices Gateway und Steuerung auswählen Projekte Befehle, die auf das ganze Projekt wirken (Laden, Schließen, Speichern ) Online Onlinebefehle (Start, Stop, Reset.) Monitoring Online-Zugriff auf Variablen (Lesen/Schreiben/Wert vergleichen) Testreport Versionsinformation im Testreport ausgeben 22
Anwendung Befehle für den Gerätehersteller (Systemtest) Objekte Erzeugen/Löschen/Verändern von Objekten im Testprojekt File IO Filezugriffe am PC Libraries Bibliotheken hinzufügen/entfernen System z. B. Zeiten messen Scripting Python Skript ausführen 23
Anwendung Testskript speichern und ausführen Ggf. Testfortschritt überwachen Testreport überprüfen Optimierung des Testskripts Ggf. Fehlersuche mit Hilfe des Testreports 24
Anwendung Testreport Inhalt: Wann/Wer/Was Versionsinformation Testauswertung im Überblick und im Detail XML-Format Für automatische Auswertung Exportierbar als HTML 25
Anwendung Standard Tests und Unit Tests Standard Tests Automatisierte Bedienung von CODESYS über die Monitoring-Schnittstelle Applikation läuft auf der Steuerung Bedienung/Test/Ablage des Skripts über CODESYS Development System Unit Tests Unit Tests: Ausführung von IEC 61131-3 Testcode direkt in der Applikation Projekt nach Bausteinen mit Attribut {Test} durchsuchen Generierter Code ruft diese Test-Bausteine auf Abarbeitung des Testfall zur Laufzeit der Applikation Jeder Test-Baustein ist Testfall im Testreport 26
Anwendung Unit Tests Vorteile: Testcode mit Applikation erstellt/abgelegt/gepflegt Testcode in IEC 61131-3 erstellt Echtzeit-Eigenschaften bei der Abarbeitung des Testcodes Verwaltung der Unit Tests Ablage der Testbausteine im Projekt Verwendet nur der Test Manager Empfehlungen: Sammeln in einem Order oder besser: Auslagern in eine Testbibliothek Entwicklung sicherheitsgerichteter Software (SIL2, SIL3): Unit Tests nahezu unerlässlich 27
Anwendung Unit Tests Konfiguration Testcode 28
Agenda 1 Motivation 2 Funktionsweise des CODESYS Test Managers 3 Anwendung 4 Zusammenfassung 29
Zusammenfassung CODESYS Test Manager Einziges voll integrierte Test Tool in der Automatisierungstechnik Automatische Durchführung komplexer Testabläufe Für Applikationsentwickler Test von Bausteinen, Bibliotheken und Applikationen Für Gerätehersteller Test der Geräte Test von Bibliotheken Für 3S-Smart Software Solutions Automatisierte Tests von CODESYS Seit mehr als 5 Jahren im Einsatz Ca. 50.000 Testfälle pro Service Pack 30
Zusammenfassung CODESYS Test Manager Verfügbar für CODESYS V3.5 SP2 und höher Erhältlich über den CODESYS Store Lizenziert über den CODESYS Security Key Lizenzpreis pro Arbeitsplatz: 1.500,- 31
Inspiring Automation Solutions Vielen Dank für Ihre Aufmerksamkeit! Email für weitere Fragen: r.wagner@codesys.com CODESYS ist ein eingetragenes Warenzeichen der 3S-Smart Software Solutions GmbH. Druckfehler, Irrtümer und technische Änderungen vorbehalten. Vervielfältigung (auch nur auszugsweise) und Weitergabe nur nach vorheriger Genehmigung. 32