Detail des miniHIL Boards

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.

mehr zum Thema

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
Testaufruf mittels Gradle von der Kommandozeile

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.

Ausgabe eines Tests auf der Konsole

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.

Testergebnisse im XUnit-Format

Beispiel für einen XUnit (XML) Testreport

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.

Links: ein aus dem Testmodell generiertes Diagramm mit dem erwarteten Testablauf (Soll-Ablauf)

Mitte: ein aufgezeichnetes Diagramm mit einem korrekten Testlauf (Ist-Ablauf mit PASS)

Rechts: ein aufgezeichnetes Diagramm mit einem fehlerhaften Testlauf (Ist-Ablauf mit FAIL)

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.

Feature Coverage Report

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.

Impact Analyse mit Yakindu Traceability

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?

Mit dem Senden stimmen Sie unserer Datenschutzvereinbarung zu.