Testspezifikationen für die Testautomatisierung: Einfach per Tool statt per Skript

Durch Testautomatisierung und intelligente Lösungen zur Erstellung von Testfallspezifikationen wird die Effizienz von Hardware-in-the-Loop Tests (HiL-Tests) deutlich verbessert. Mithilfe von Toolerweiterungen können ausführbare Testspezifikationen für automatisierte HiL-Tests ohne Einsatz einer Skriptsprache erstellt werden.

Ausgangslage

HiL-Systeme sind in der Industrie weit verbreitet und ermöglichen es, leistungsfähige Testumgebungen aufzubauen und die Testabdeckung zu erhöhen. HiL-Tests bieten im Vergleich zu anderen Testverfahren einige Vorteile. Gegenüber Tests in realer Umgebung erlauben HiL-Tests ein frühzeitiges Testen in allen Entwicklungsphasen. Außerdem ermöglichen sie eine bessere Reproduzierbarkeit von Testfällen, da die simulierte Umgebung des Testobjekts die Unabhängigkeit des Testprozesses von äußeren Faktoren, wie z.B. Wettereinflüssen, gewährleistet. Zusätzlich vermeidet die HiL-Testumgebung Risiken durch Schäden am Gesamtsystem und Unfälle beim Testvorgang, die durch etwaige Defekte entstehen können – eine zusätzliche Kostenersparnis. Andere Testverfahren die ebenfalls Simulationstechniken nutzen, wie z.B. Software-in-the-Loop (SiL) oder Model-in-the-Loop (MiL), besitzen wiederum den Nachteil, dass die zu testende Software nicht auf der eigentlichen Hardware ausgeführt wird und ihr Zusammenspiel mit externen Komponenten nicht beobachtet werden kann. Außerdem bietet das HiL-Verfahren die Möglichkeit, das Verhalten des Testobjekts an seinen Belastungsgrenzen zu beobachten, z.B. durch Stress- und Performance-Tests.

Für den HiL-Test wird das zu testende Embedded System (SUT) über seine Ein- und Ausgänge an einen HiL-Prüfstand angeschlossen, der die Systemumgebung des Testobjektes mithilfe von simulierten Sensoren, Aktuatoren sowie mechanischen und elektrischen Komponenten modelliert. Die Eingänge des Testobjektes werden anschließend mit Daten aus dem Umgebungsmodell stimuliert.

HiL-Tests werden für gewöhnlich unter Echtzeitbedingungen durchgeführt. Die Management-Software für die HiL-Infrastruktur wird daher oft auf echtzeitfähiger Hardware ausgeführt. Es sind verschiedene HiL Hard- und Softwarelösungen unterschiedlicher Hersteller auf dem Markt. Eine verbreitete Lösung für HiL-Testequipment stammt von der Firma NI (früher National Instruments). Für die Verwaltung der HiL-Hardwarekomponenten bietet NI die Softwareumgebung VeriStand an. Diese bietet zahlreiche Steuerungs- und Managementfunktionen. VeriStand ermöglicht dem Testingenieur beispielsweise die Konfiguration von I/O Kanälen, die Integration von Simulationsmodellen, die Datenprotokollierung, Stimulus-Erzeugung und die Kommunikation mit der Hardware des HiL-Systems.

Darüber hinaus erlaubt es VeriStand, der Testumgebung benutzerdefinierte Funktionalität hinzuzufügen. Dies ist zum Beispiel für die Optimierung der Erstellung von Testfallspezifikationen eine große Hilfe.

Ein zentrales Frontend für die Testengine

Die Komplexität, die wachsende Anzahl von Funktionen und damit von möglichen Eingangs- und Ausgangssignalen eines durchschnittlichen Embedded Systems, wie z.B. eines Automotive-Steuergerätes, führt u.a. zu einer hohen Anzahl von Testfällen.
Um den gewaltigen Testumfang moderner elektronischer Systeme meistern zu können, ist eine hochgradige und durchgehende Automatisierung des Testprozesses unumgänglich. Grundlage einer solchen Testautomatisierung ist die Erstellung von Testfallspezifikationen.

In VeriStand können Testspezifikationen mithilfe von Programmier- und Skriptsprachen erstellt werden. Dies setzt beim Nutzer jedoch gewisse Programmierkenntnisse voraus und ist dazu relativ zeitaufwändig. Um eine einfache Möglichkeit zur Spezifikation von Testfällen für die automatisierte Durchführung in einer Hardware-in-the-Loop Umgebung bereitzustellen, bietet es sich an, spezialisierte Tools in die Testumgebung zu integrieren. Dafür sind verschiedene Tools unterschiedlicher Hersteller auf dem Markt verfügbar. Auch Eigenentwicklungen können diese Funktion übernehmen. ITPower Solutions hat dafür das hauseigene Testtool ContinoProva über eine Anbindung an NI VeriStand für den Einsatz in einer HiL-Umgebung verfügbar gemacht. Für diesen Einsatz ist natürlich die Architektur des verwendeten Tools von Bedeutung.

Das Tool ContinoProva wurde ursprünglich für den Einsatz in heterogenen Toolumgebungen konzipiert. Es ist spezialisiert auf die Automatisierung der Testausführung und Testevaluation. Aufgrund seiner offenen Client-Server-Architektur ist ein breiter Einsatz in nahezu allen Testumgebungen und in jeder Testphase möglich. Das Tool abstrahiert von den Benutzer- und Programmierschnittstellen der Testumgebung, in der es eingesetzt wird und stellt ein einheitliches Frontend für die Spezifikation von Tests und die Steuerung angebundener Hardware- und Software-Tools bereit. Voraussetzung ist natürlich, dass angebundene Tools über entsprechende APIs verfügen.

Die Kommunikation von ContinoProva mit externen Tools erfolgt über sogenannte Services, die alle relevanten Funktionen und Methoden des entsprechenden Tools über dessen Programmierschnittstelle (API) aufrufen sowie dessen entsprechende Rückgabewerte empfangen können. Die Kapselung der Kommunikation in Services ermöglicht den Einsatz in unterschiedlichen Tool-Umgebungen.

Abbildung 1

Abbildung 1 zeigt den schematischen Aufbau der NI HiL-Testumgebung mit dem angebundenen Testtool ContinoProva. Das Tool wird auf einem Windows PC ausgeführt. Dadurch können mithilfe des Tools ausführbare Testszenarien am PC spezifiziert und die Daten anschließend an das Echtzeit-System zur weiteren Verarbeitung übergeben werden. Grundlage für die Kommunikation zwischen ContinoProva und VeriStand ist der implementierte Service, hier NI HiL-Service genannt. VeriStand übernimmt als Testengine die Ansteuerung von und die Kommunikation mit der HiL-Umgebung und dem Testobjekt. Die Ausgangssignale und Daten des Testobjekts werden zur Bewertung und weiteren Verwendung über VeriStand an ContinoProva zurückgesendet.

Die Teststeuerung

Der NI HiL-Service ermöglicht den Lese- und Schreibzugriff auf alle in einem VeriStand-Projekt verwendeten Kanäle und bietet zusätzlich Operationen zur Stimulierung und Aufzeichnung der Kanäle in einem gegebenen Zeitintervall an. Diese Kanäle dienen in VeriStand dem benutzerdefinierten Bereitstellen von Funktionalitäten wie Echtzeitstimuluserzeugung, Datenerfassung für Messungen und Parameterdefinition. Um die Kompatibilität von Werkzeugen im Entwicklungsprozess sicherzustellen und einen durchgehenden Datenaustausch zu ermöglichen, wurde der ASAM-Standard entwickelt. Dieser definiert Protokolle, Datenmodelle, Dateiformate und Schnittstellen (APIs) für die Softwareentwicklung und das Testen im Automotive-Umfeld.

Die Implementierung des NI HiL-Services erfolgte auf der Basis des ASAM-Standards „ASAM AE XIL – Generic Simulator Interface“. Mit diesem können Ports konfiguriert, Daten aufgezeichnet und Variablen stimuliert werden. Es wurden in diesem Zusammenhang die gängigen Dateiformate des ASAM-Standards verwendet.
Die VeriStand Operationen ReadChannel und WriteChannel bilden die Grundpfeiler für die Spezifikation von Testfällen im weiter unten beispielhaft dargestellten Testszenario. Durch die Operation ReadChannel kann der aktuelle Wert des entsprechenden Kanals gelesen werden. Die Operation WriteChannel setzt den Kanal auf den angegebenen Wert.

Der HiL-Service bietet nun die Möglichkeit, für die Stimulation eines Kanals in einem gegebenen Zeitintervall, Signalwertverläufe aus allen gängigen ASAM-kompatiblen Dateiformaten zu lesen. Die Aufzeichnung eines Signalverlaufs erfolgt im ASAM-Dateiformat MDF4.

Abbildung 2

Abbildung 2 zeigt einen für VeriStand mit ContinoProva spezifizierten Test. Dieser besteht, wie in der Baumstruktur auf der linken Bildseite dargestellt, aus mehreren Testgruppen, die wiederum mehrere Testsequenzen enthalten. Eine Testsequenz wird durch eine Folge von Testschritten gebildet, die sequenziell abgearbeitet werden. Testschritte sind die kleinsten Testausführungseinheiten. Die Operationen eines Testschrittes werden Testtasks genannt. Im vorliegenden Fall wird der Test eines Motorsteuergerätes demonstriert. In der Abbildung ist exemplarisch das Fenster zum Testtask „DesiredRPM = 4000“ dargestellt. Die Motordrehzahl soll hier auf den definierten Wert gesetzt werden. In dem Testtask wird dazu die Operation WriteChannel aus dem NI HiL-Service und der Wert 4000 für das Eingangssignal command_RPM aufgerufen. Mit diesem Verfahren können Testfälle für alle Komponenten und Tools in der HiL-Umgebung auf einfache Art erstellt und über die zentrale Benutzeroberfläche verwaltet werden.

Fazit

Die beschriebene Anbindung eines Testtools an ein HiL-System mit NI VersiStand als Testengine reduziert den Testaufwand deutlich. Testressourcen, Zeit und Kosten für die Entwicklung und Pflege von Testprogrammen und -skripten können eingespart und die von dem Tool bereitgestellte Funktionalität kann für den Testprozess genutzt werden. Der Testingenieur kann Testfälle mithilfe der Tool-GUI spezifizieren, verwalten und sofort in VeriStand zur Ausführung bringen. Durch die Auslagerung der Testspezifikation aus der technischen Infrastruktur des HiL-Systems können die Testfälle unter rein logisch-fachspezifischen Gesichtspunkten entworfen werden und sind damit unabhängiger von ihrer konkreten Implementierung. Dies erleichtert die Verwaltung der Testfälle zusätzlich.

Haben Sie Fragen? Dann Sprechen Sie und an. Wir sind für Sie da!

Ich bin Ihr vertrieblicher Ansprechpartner und berate Sie gerne zu allen Fragen rund um unsere Dienstleistungen und Produkte! Melden Sie sich oder vereinbaren Sie einfach einen Termin für ein kostenloses Beratungsgespräch.

Sebastian Stritz
E-Mail: sebastian.stritz@itpower.de
Telefon: +49 (0)30 6098501-17