miniHIL Kommandozeilen Schnittstelle zur Testautomatisierung
Schnittstelle: Kommandozeile
Der miniHIL ist kompromisslos auf durchgängige Automatisierung von Hardware in the Loop Tests ausgerichtet. Alle dafür benötigten Funktionen können über die Kommandozeilen Schnittstelle ausgeführt werden. Dies ermöglicht die einfache Einbindung in Continuous Integration, Testmanagementwerkzeuge und Skripte zur Automatisierung der Testprozesse.
Anwendungsfälle für die Kommandozeile
Die Funktionen der miniHIL Tool Chain können nicht nur über die Eclipse IDE und die grafische Benutzeroberfläche, sondern auch über die Kommandozeile ausgeführt werden.
Typische Anwendungsfälle für die Kommandozeile:
- Integration in Continuous Integration und Continuous Delivery Systeme (z.B. Jenkins)
- Integration in Test Management Systeme
- Integration in Testskripte (z.B. Python)
- Hierzu können folgende Funktionen ausgeführt werden: Testdurchführung
- Bau des Test- und Simulationsprojekts aus den Modellen (Generieren, Compilieren, Linken)
- Update des Simulationsprozessors (Flashen)
- Start der Tests auf dem miniHIL
- Reporting und Testdokumentation
- Logging der Testdurchführung und Ergebnisse über Standardausgabe (stdout)
- Logging von XUnit (XML) Standard Test Reports für die einfache Integration in die Test-Reports anderer Werkzeuge und Methoden wie Continuous Integration
- Logging von Sequenzdiagrammen zur detaillierten Analyse der Testabläufe und als Dokumentation der Testdurchführung
- Generierung des Feature- und Requirement-Traceability Reports
- Bau der textuellen und grafischen Projektdokumentation
Gradle als Automatisierungs Tool
- Für die Build- und Testautomatisierung wird das Werkzeug Gradle eingesetzt. Die einzelnen Kommandozeilen Aufgaben sind als Gradle Tasks realisiert (z.B. Generieren, Compilieren, Linken, Test Ausführung, …).
- Die Gradle Aufrufe können einfach über Kommandozeile in andere Werkzeuge und Sprachen integriert und erweitert werden.
Beispiel für die Ausführung von Tests über die Kommandozeile
Bau, Start und Logging der Tests
Im folgenden Beispiel werden über einen Gradle Aufruf folgende Schritte durchgeführt:
- Generieren der Test Modelle als C Code
- Compilieren, Linken, Flashen des Projekts auf dem miniHIL
- Start der Tests
- Logging der Durchführung und der Ergebnisse
- Generierung des Feature Reports und der Sequenzdiagramme
Kommandozeilenaufruf
Über die Rückgabewerte des Gradle-Aufrufs können Skripte oder Continuous Integration Server (z.B. Jenkins) den Erfolg des miniHIL Testlaufs auswerten:
Bei Erfolg wird der Wert 0 zurückgegeben.
Im Falle von Fehlern wird der Wert 1 zurückgegeben.
Standard Ausgabe mit einfachen Meldungen in Klartext (Standard IO)
Ein einfaches Logging in Klartext in der Konsole ermöglicht die Beobachtung des laufenden Tests, eine schnelle erste Analyse durch Menschen. Zudem kann die Logging-Information einfach vom Aufrufer (z.B. Continuous Integration) protokolliert werden.
XUnit Logging für die einfache Integration von Reports in Test Management und Continuous Integration
Viele Testwerkzeuge erzeugen oder verarbeiten Test Logs im Format von XUnit (XML). So können XUnit Test Reports z.B. direkt von den Continuous Integration Servern Jenkins oder Bamboo in die Testreports integriert werden.
Generierte Sequenzdiagramme für detaillierte Analyse und Report
Während der Testdurchführung werden detaillierte Traces protokolliert, in Dateien gespeichert und in Sequenzdiagramme transformiert. Dies ermöglicht die sehr detaillierte, nachträgliche Analyse der Testläufe (z.B. im Fehlerfall). Zudem sind die Sequenzdiagramme eine gut verständliche Form der Dokumentation der Testdurchführung.
Generierter Feature und Requirement Traceability Report
Aus den XUnit Test Reports und den Traceability Informationen wird ein Feature oder Requirement Coverage Report generiert. Dieser bringt die Requirements oder Features in Zusammenhang mit den benötigen oder durchgeführten Test Cases und schafft so einen Überblick über den aktuellen Stand der Umsetzung oder Qualität des Projekts.
Integration mit Yakindu Traceability
Auf der Kommandozeile kann ebenfalls die Integration mit Yakindu Traceability erfolgen. Dies ermöglicht z.B. bei fehlgeschlagenen Tests die automatische Durchführung von Impact Analysen, Erzeugung von Traceability Reports und anschließend die Navigation zu den betroffenen Requirements, Architekturdiagrammen oder den Test-Cases und Testreports des miniHIL Testlaufs.
Einfache Anbindung
Durchgängige Testautomatisierung für Hardware in the Loop Tests mit dem miniHIL
Durch die Kommandozeilen Schnittstelle können Sie die miniHIL Tests einfach anbinden an Continuous Integration, Testmanagement Systeme und Skripte. Die verschiedenen standardisierten oder spezialisierten Reports und Logs erlauben die integrierte, automatische Auswertung der Testergebnisse oder ermöglichen die detaillierte Analyse und Dokumentation der Testdurchführung.
Welche Anforderungen an die HIL Test Automatisierung haben Sie?