
... testet rund um die Uhr
Unsere Tools ECU-TEST, TEST-GUIDE, TRACE-CHECK und SCENARIO-ARCHITECT passen in jede Phase des automatisierten Testens von Fahrzeug-Software. Schon als einzelne Werkzeuge vereinfachen, beschleunigen und effektivieren sie den Testprozess enorm. Werden sie miteinander verknüpft, sind sie weit mehr als nur die Summe der einzelnen Tools – sie erreichen als Automotive DevOps Platform ein Höchstmaß an Wirkung.
Mit durchgängigen Workflows und höchstfunktionalen Schnittstellen für die flexible Anbindung weiterer Werkzeuge verstehen wir die Automotive DevOps Platform als eine Kollaborationsplattform für alle Stakeholder im DevOps-Prozess der Fahrzeugentwicklung.
Gezielt streben wir eine enge Zusammenarbeit bei der Entwicklung von Testfällen (Dev) und deren Ausführung (Ops) an, die auf direktem Feedback und lückenloser Traceability basiert. Wichtig sind dafür spezielle Plattform-Features, die den Fokus auf übergreifende Arbeitsabläufe legen. Dazu gehören unsere aktuellen Highlights:
Stellen Sie sich vor, tausende Testfälle über den gesamten Release-Prozess so effizient, also so zeit- und ressourcenoptimiert, wie möglich auszuführen. Dann laufen Testausführungen in der richtigen Reihenfolge und in der richtigen Testumgebung parallel, automatisiert und rund um die Uhr. Schnell und kontinuierlich gibt es Feedback, keine Leerlaufzeiten der Testressourcen und einen Hub in Sachen Entwicklungsgeschwindigkeit. Geht nicht? Geht! Wir haben die perfekte Lösung entwickelt und erfolgreich getestet – die Ausführungsverteilung mit ECU-TEST und TEST-GUIDE.
In einer heterogenen Hardware-in-the-Loop-Testlandschaft (HiL) den richtigen Prüfstand für den auszuführenden Testfall zu finden, ist schwieriger als in virtuellen Software-in-the-Loop-Farmen (SiL). Auf SiL-Prüfständen lassen sich die nötigen Konfigurationen und Testumgebungen schnell ändern, austauschen und an den benötigten Testumfang anpassen. HiL-Farmen bestehen dagegen oft aus unterschiedlichen und aufwändig konfigurierten HiL-Prüfständen, um viele verschiedene Testumfänge in einer variantenreichen und realitätsnahen Umgebung langfristig abdecken zu können und in unterschiedlichen Integrationsphasen (z. B. Komponenten- und Gesamt-HiL) testen zu können. So kann es vorkommen, dass zum Zeitpunkt der Testausführung ein freier HiL-Prüfstand nicht der gewünschten Ausführungsumgebung entspricht. Oder dass ein passender HiL gerade gewartet wird. Oftmals haben in einem HiL-Netzwerk jedoch auch mehrere Prüfstände die identische Ausstattung. Die große Herausforderung besteht also darin, die Testfälle in Warteschleife auf die passenden HiL-Prüfstände zu verteilen, um sie parallel ausführen zu können.
In der Praxis wird die Suche nach dem perfekten Match von Testauftrag und Prüfstand nach wie vor meist manuell vorgenommen, aber das ist wenig effizient. Mit der Ausführungsverteilung ist diese Zuordnung automatisiert möglich. Die Einrichtung bedarf nur weniger Schritte:
1. ECU-TEST installieren
2. TEST-GUIDE installieren
3. ResourceAdapter installieren und konfigurieren
4. Datenablage in TEST-GUIDE konfigurieren
5. Playbook von ECU-TEST nach TEST-GUIDE exportieren
6. Zurücklehnen und zuschauen
Wie der Testauftrag lautet, steht in den Playbooks. Sie werden direkt in ECU-TEST oder in TEST-GUIDE erstellt und über eine integrierte öffentliche Schnittstelle in die TEST-GUIDE Datenablage exportiert. Playbooks beschreiben, was für die Ausführung des Testauftrages nötig ist – der zu verwendende Workspace inklusive der relevanten Testfälle, die Parametrierung globaler Konstanten, die Testbench-Konfiguration sowie das CleanUp nach der Ausführung. Sind neue Playbooks in der TEST-GUIDE Datenablage vorhanden, wird TEST-GUIDE aktiv. Selbstständig organisiert das Tool die Verteilung der Testaufträge auf die passend konfigurierten Prüfstände in der Reihenfolge ihrer Priorisierung. Unterstützung erhält das Tool dabei vom ResourceAdapter, einer Software, die auf den Prüfständen installiert ist. Durchgehend liefert der ResourceAdapter Informationen zu Vitaldaten, Konfigurationen und Testfallausführungen der Prüfstände an den TEST-GUIDE-Server. Welcher Test ist schon gelaufen? Welcher HiL klemmt? Welcher HiL hat gerade Leerlauf? Dieses permanente Monitoring ist die Basis, um live zu entscheiden, auf welchem Prüfstand der nächste Testauftrag mit ECU-TEST ausgeführt werden kann.
Die Ausführungsverteilung löst aber auch ein zweites oft bestehendes Problem. Nach der Zuordnung des Testauftrages müssen auf dem Prüfplatz noch alle Voraussetzungen zur Testausführung hergestellt werden. Es müssen Repositories ausgecheckt, Daten hin und her kopiert und zusätzliche Abhängigkeiten aufgelöst werden. Das alles macht auch der ResourceAdapter – anhand der Beschreibung im Playbook.
Über die REST-API Schnittstelle lässt sich dieses System auch sehr flexibel und individuell anpassen. Die spezifischen Anforderungen an einen Prüfstand werden im JSON-Format eingelesen und automatisch aufgelöst. So ist der passende Prüfstand – egal ob virtuell oder physisch – schnell gefunden.
Klassischerweise erfolgt nach jedem automatisierten Test neuer Software-Artefakte nahtlos die dazugehörende Analyse der dabei erstellten Trace-Aufzeichnungen (wie z. B. Bus-Logs) und die Testbewertung. Doch dieser Weg ist sehr zeitintensiv und für Tests mit unzähligen Varianten und Szenarien wenig praktikabel. Schon jetzt laufen speziell für den Test und die Absicherung von neu entwickelter Steuergeräte-Software umfangreich konfigurierte Hardware-in-the-loop-Prüfstände (HiL) im Dauereinsatz. Parallel zu den immer weiter steigenden Testumfängen aufgrund des stark zunehmenden Anteils an Software im Fahrzeug, müsste eigentlich die Anzahl an HiL-Prüfständen aufgestockt werden. Doch das ist wegen der enormen Kosten und des hohen Platzbedarfs ggf. keine Lösung.
Also lautet das erklärte Ziel: mit der gleichen Kapazität mehr Leistung erreichen. Damit bleibt nur die Möglichkeit, die Testausführung von der Analyse und Bewertung der aufgenommenen Messdaten zu entkoppeln. Die Tests laufen so weiterhin auf den vorhandenen HiL-Prüfständen, während die Analyse der Testergebnisse – die sogenannte Trace-Analyse – auf andere vorhandene oder kostengünstige Systeme ausgelagert wird.
Mit dem Prinzip der nachgelagerten Analyseverteilung durch TEST-GUIDE ist genau das möglich. Nachdem ECU-TEST die Testaufträge auf den HiL-Prüfständen ausgeführt hat, werden Analyseaufträge erstellt und an ein konfiguriertes TEST-GUIDE übergeben. In Kombination mit dem ResourceAdapter, der dauerhaft Informationen zu verfügbaren Rechenkapazitäten liefert, verteilt TEST-GUIDE diese Aufträge an Prüfstand-unabhängige ECU-TEST-Instanzen (PC, Virtuelle Maschine, Cloud). Dort werden die Trace-Analysen ausgeführt. Die Ergebnisse in Form von Testreports werden automatisch in TEST-GUIDE gespeichert und liefern die Basis für detaillierte Auswertungen.
Auf diese Weise werden wertvolle Testressourcen nicht durch Auswertungen blockiert und der Testdurchsatz kann deutlich erhöht werden. Darüber hinaus lassen sich durch die Parallelisierung der Auswertung die durchzuführenden Testumfänge weiter skalieren.
Jeder kennt das Problem: je größer eine Datei ist, umso umfangreicher ist ihr Inhalt und umso länger dauert es, sie zu öffnen. Beim Einlesen von Bus-/Service-Datenbanken und A2L-Dateien ist das genau das gleiche. Es handelt sich dabei um sehr große Datenbasen mit komplexen Formaten, die von ECU-TEST bei jedem Start der Konfiguration eingelesen und für die Weiterverwendung geparst werden müssen. Dieser Vorgang nimmt mitunter viel Zeit in Anspruch.
Die Idee ist daher, diese Daten nach dem erstmaligen Einlesen zentral zu speichern – in einem Cache. Caching eignet sich perfekt für viele NutzerInnen, die die gleiche Datengrundlage verwenden. Parallel und in kurzer Zeit können sie auf denselben Cache-Speicher zugreifen. Dadurch verbessert sich nicht nur die Effizienz von Datenabfrage und Datenrückgabe enorm, auch die Performance von ECU-TEST steigt deutlich. Was gerade noch eine Idee war, ist jetzt schon Realität. Probieren Sie es aus!
Voraussetzung ist lediglich, einen zentralen Ablageort für den Cache in den Workspace-Einstellungen von ECU-TEST einzurichten. Nach dem Einlesen der Datenbasis in ECU-TEST wird der zugehörige Cache der Bus- oder Dienstdatenbanken verschlüsselt auf dem konfigurierten Netzlaufwerk abgelegt. Da der Zugriff auf ein Netzlaufwerk zumeist keinem strukturierten Prozess unterliegt, können jedoch wichtige Artefakte versehentlich gelöscht werden.
Besser ist es daher, den Cache für den Austausch in ein beliebiges konfiguriertes TEST-GUIDE Depository (z. B. Artifactory oder S3) abzulegen. NutzerInnen anderer ECU-TEST Instanzen beziehen den Cache von dort und umgehen so die aufwändige Erzeugung eines eigenen Caches. Einmalig werden dafür in TEST-GUIDE AccessToken konfiguriert. Ändern sich die Eingangsdaten, wird der Cache neu erstellt und mit dem bereits abgelegten Cache synchronisiert. Damit ist das Starten der Konfiguration deutlich schneller abgeschlossen. In unserer eigenen Testumgebung konnten wir durch dieses Feature die Dauer unseres Nachtlaufs von über 6 Stunden auf 2,5 Stunden reduzieren.