Multimedia testen

Infotainment

Fahrzeuge verfügen heutzutage über eine Vielzahl neuer Features wie Echtzeit-Verkehrsinformationen, Web-Radio oder cloudbasierte Personalisierungen. Aber wie sichert die Fachabteilung diese neuen Software-Komponenten in der Entwicklung ab? Seit Jahrzehnten wird Software im Fahrzeug getestet. Nur lag der Fokus lange auf der Absicherung der Antriebskomponenten, bei denen kleine Fehler in Software-Funktionen kein Gewicht für die Funktionsfähigkeit des Gesamtsystems haben.

Beim Testen der Funktionen im Infotainment-Bereich liegt genau da die Herausforderung. Denn den Fahrzeuginsassen fällt während der Bedienung selbst der kleinste Fehler im System auf. Sei es ein Verbindungsabbruch zum Smartphone, der Absturz der Musik-App oder ein Button, der nicht reagiert. Die Funktionsvielfalt unterschiedlicher Software-Hersteller, unzählige Bedienabfolgen sowie zeitabhängige Verhalten machen ein manuelles Testen hierbei nahezu unmöglich. Doch bis vor Kurzem war genau das die Herangehensweise. Statt zu automatisieren, wurden mehr Prüfstände angeschafft und noch mehr Tester eingestellt – die massiven Probleme in der Absicherung führten zum Big Bang und damit zum Umdenken in der Branche. Es führt kein Weg an der Automatisierung von Tests sowie der Generierung und Parametrierung von Testfällen vorbei.

Show content

Testsysteme von heute für das Infotainment von morgen

Mit der enorm gestiegenen Komplexität an integrierten Funktionen im Fahrzeug sind manuelle Funktionstests zu jeder neuen Software-Version nicht mehr praktikabel. Vordergründiges Ziel des Projekts ist daher die Bereitstellung eines autarken Testsystems, das über geeignete Schnittstellen vollautomatisierte Tests neuer Software-Komponenten auf verschiedenen Prüfplätzen ausführt und gleichzeitig mehrere Möglichkeiten zur Auswertung – auch von realen Fahrzeugdaten – bietet. Auf diese Weise erhält ein Infotainment-Entwickler schnell Feedback zu seinen Neuentwicklungen. Der gesamte Testprozess von der Planung bis zum Reporting und der Fehlernachverfolgung wird dabei mithilfe einer zentralen Datenbank dauerhaft nachvollziehbar speichert. ...

Wie funktioniert das aber nun genau? Weiter- und Neuentwicklungen von Apps im Infotainment-Bereich müssen auch mit älteren Fahrzeugen kompatibel sein, da ein Fahrzeug einen deutlich längeren Produktlebenszyklus als eine App-Version hat. Aufgrund der Vielzahl an eingebetteten Systemen, auf denen die Apps funktionieren müssen, sind neue Funktionalitäten ausgiebig sowohl an Prüfplätzen als auch in realen Fahrzeugen zu testen, um den Kunden ein fehlerfreies Infotainment-System anbieten zu können.

Wird eine neue App entwickelt oder eine bestehende erweitert, legt der Entwickler sowohl einen Testfall für die neue Funktion als auch Randbedingungen fest, die für die Ausführung des Tests benötigt werden. Das Testsystem erkennt sofort den neuen Testfall, der in TEST-GUIDE gespeichert und in die Ausführungsplanung integriert wird. Werden die Änderungen an der neuen App-Version veröffentlicht, startet das Testsystem automatisch und der Testablauf beginnt.

Mit den von uns entwickelten Schnittstellen und mithilfe der Testanforderungen des App-Entwicklers werden nun die benötigten realen und virtuellen Umgebungen eigenständig gewählt und alle Testfälle, die im Zusammenhang mit dieser App abgelegt wurden, mit ECU-TEST zur Ausführung gebracht. Die Herausforderung besteht für uns darin, die Tests auf möglichst vielen (50+) Prüfständen mit unterschiedlichen Umgebungen parallel auszuführen.

Die Komplexität der notwendigen Tests basiert dabei auf den sich permanent ändernden Testobjekten – den Apps, dem Backend sowie den Bedienungsarten des Nutzers. Daher werden folgende Tests standardmäßig durchgeführt:

  • Bedienungstest: Wie bedienen Nutzer das Infotainment-System?
  • Backend-Test: Kann permanent auf digitale Infrastrukturen / zentrale Server zugegriffen werden?
  • Lasttest: Wie verhalten sich Backend und App bei dauerhafter oder auch unsystematischer Nutzung?
  • Regressionstest: Haben die neuen App-Funktionen Querwirkungen, die in bestehenden Apps zu Fehlern führen?

Die so generierten Testergebnisse werden direkt in TEST-GUIDE gespeichert und stehen dauerhaft für Auswertungen und neue Testplanungen zur Verfügung. Ein Testbericht vergleicht alle ausgeführten Tests mit den Anforderungen. Die neue Funktion wird erst freigegeben, wenn sie sowohl die bestehenden Testfälle als auch den neuen Testfall besteht.

Ergebnisse von Tests, die nicht automatisierbar sind (z. B. Tests beim Kunden oder in Testfahrzeugen), können wir vollständig in die geschaffene Infrastruktur integrieren und auswerten.

Aber wir sind noch nicht da, wo wir hinwollen. Unser Projekt ist noch nicht abgeschlossen. Aber der Zwischenstand zeigt, dass bereits viel passiert ist:

  • Testergebnisse aus Kundenfahrzeugen, Prüfplätzen und Testfahrzeugen sind in einem System zusammengeführt.
  • Alle Testumfänge für Prüfplätze sind vollautomatisiert.
  • Eine kontinuierliche Testkette für Apps und Backend ist etabliert.

Wir arbeiten auf Hochtouren daran, dem Infotainment-Entwickler ein Testwerkzeug an die Hand zu geben, mit dem er schnell Feedback zu seinen umgesetzten Software-Bausteinen erhält.
AppAnwendung auf dem Infotainment-System im Fahrzeug (z.B. Wettervorhersage, Musik-Streaming) oder einem Smartphone (z.B. digitaler Autoschlüssel)
App-VersionKennzeichnung der Entwicklungsstufe einer App in Form einer Versionsnummer nach dem Typ MAJOR.MINOR.PATCH (z.B. Browser 5.0.4)
(Mobile) BackendCloud-Computing-Architektur, die mobilen Anwendungen Zugriff auf Server, Speichersysteme, Datenbanken und andere Ressourcen gibt, die sie zum Betrieb benötigen
Bedienungsarten des NutzersHeutzutage im Fahrzeug insbesondere Touchbedienung eines Displays, Spracheingabe, Eingabe mit dem Smartphone
Kennzahlen
  • 6 Mitglieder im Team
  • Verteilung über 2 Standorte
  • FunFact: 500 Songdownloads im ConnectedMusic Test
Team
  • 1 Data-Engineer
  • 1 Software-Architekt
  • 1 Automotive-Software-Tester
  • 2 Software-Entwickler
  • 1 Informatik-Student
Show content

Von Null bis Continuous Testing

Schon heute sind Infotainment-Systeme elementarer Bestandteil eines Fahrzeugs – und sorgen für einen enormen Testbedarf in alle möglichen Richtungen. Leider lassen sich hunderte spezifizierte Tests und Prüfstände nicht auf einmal automatisieren. Eine Übergangsstrategie mit teilautomatisierten Testvarianten wird benötigt, die dann Stück für Stück um weitere Automatismen ergänzt wird. Die Zielvorgabe ist ganz klar Continuous Testing, denn nur so lassen sich nicht deterministische Verhalten und sporadisch auftretende Fehlerwirkungen aufspüren. ...
Früher mussten Steuergeräte unterschiedlicher Domänen kaum miteinander kommunizieren. Das hat sich in Zeiten von Infotainment-Systemen stark verändert. Es gilt nun, Steuergeräte verschiedener Hersteller mit unterschiedlicher Software so in das Gesamtsystem zu integrieren, dass die Kommunikation über CAN und Ethernet reibungslos erfolgt. Werden beispielsweise zu einem Infotainment-System Nachrichten nicht schnell genug übertragen, führt das zur Überlagerung von Bildinhalten. Somit bestanden erste manuelle Tests darin, die allgemeine Stabilität des Infotainment-Systems zu überprüfen: Laden beim Starten des Motors alle Funktionen im Menü des Infotainment-Bildschirms? Wie lange dauert es, bis das System bereit zur Bedienung ist? Solche Tests müssen unzählige Male wiederholt werden und sind nach wie vor fester Bestandteil in der Testdurchführung. Mittlerweile lassen sich diese Funktionstests, wie viele andere auch, automatisieren. Gut, dass Automatisieren genau unsere Leidenschaft ist.

Wir sind der Meinung, dass man Probleme erst einmal selbst erleben muss, bevor man konstruktiv an einer Lösung arbeiten kann. Deshalb nutzen wir im täglichen Testprozess ECU-TEST und führen dabei auch kontinuierlich automatisierte Funktionstests, wie z.B. die Smartphone-Kopplung mit dem Infotainment-System, direkt mithilfe unseres Jenkins Plug-in für ECU-TEST aus. Anhand der in ECU-TEST integrierten Trace-Analyse (TRACE-CHECK) lässt sich zudem leicht überprüfen, ob alle Zwischenschritte auf der Kommunikationsstrecke erreicht wurden und ob der Testdurchlauf fehlerfrei war.
Stoßen wir im Testprozess auf Fehler oder werden neue Komponenten für die Testfallautomatisierung benötigt, ist die enge Zusammenarbeit mit unserer Produkt-Entwicklung von großem Vorteil. Denn durch unsere Arbeit in Kundenprojekten und der Nutzung unserer eigenen Tools können wir Einfluss auf die weitere Entwicklung unserer Produkte nehmen. So lassen sich selbst knifflige Kundenwünsche realisieren und wir tragen gemeinsam zu neuen, besseren Lösungen bei.

Unser Ziel im Kundenprojekt ist es, eine Infrastruktur (ECU-TEST, Jenkins, TEST-GUIDE) bereitzustellen, mit der auch Tester ohne Expertenwissen Testfälle automatisieren und kontinuierlich ausführen können.

Messdatenanalyse
  • CAN/CAN-FD
  • Automotive Ethernet/SomeIP/VIWI
  • Video (Bild- und Texterkennung)
  • Audio
Kennzahlen zum Team
  • Interdisziplinäres Team aus 20 Ingenieuren, Informatikern und Naturwissenschaftlern
  • Aufgeteilt in vier Expertenteams für: -Automatisierte anforderungsbasierte Tests
    -Automatisierte Stabilitätstests
    -Automatisierte Traceanalysen
    -Cloud-Infrastruktur