Testautomatisierung - was klingt wie ein technisches Rätsel, ist tatsächlich der unsichtbare Motor, der die automobile Innovation auf Touren bringt, bildlich gesprochen. Was genau verbirgt sich aber hinter diesem Begriff und wieso sollte industrieweit bekannt sein, welche enormen Vorteile automatisiertes Testing für Unternehmen birgt? Diese Fragen klärt unser neuester Blogbeitrag, für den wir uns unter anderem mit Nicolas unterhalten haben, Cognizant Mobilitys Teamleiter für den Bereich Testautomatisierung E/E – wir wünschen viel Spaß beim Lesen!
- Vorsprung durch Testing: Wieso „automatisiert“ nicht automatisch geschieht
- Vom Schraubenschlüssel zur Software: Testautomatisierung im Wandel der Zeit!
- xRPA und Testautomatisierung: Von Autobahnen und Datenhighways
- Testautomatisierung im Grenzbereich: Weil Automotive eben auch Spaß machen darf (und muss)
- Vorteile Testautomatisierung: Und wir dachten, es läge auf der Hand
- Testautomatisierung: Die Teststrecken der Zukunft
Marc
Marketing Professional
9.08.23
Ca. 21 min
Vorsprung durch Testing: Wieso „automatisiert“ nicht automatisch geschieht
Testautomatisierung ist im Grunde ein Prozess, bei dem spezialisierte Software verwendet wird, um Tests an einem System durchzuführen, ohne menschliches Zutun. In der Automobilindustrie ist dies besonders wichtig, da es um die Prüfung und Sicherstellung der Funktion und Qualität von Fahrzeugkomponenten und -systemen geht. Typische Testgegenstände sind beispielsweise die Kommunikation zwischen Steuergeräten, erlebbare Kundenfunktionen im Auto wie diverse Anzeigen, Klimaanlagen, Fahrdynamik-Funktionen oder auch Software für Komponenten im Fahrzeug, um nur einige wenige zu nennen.
Besonders das Standardisieren von Abläufen ist bei der Weiterentwicklung und gegebenenfalls Einführung der Testautomatisierung von hoher Relevanz. Erst durch diese Standardisierung ist es möglich, Tests automatisch durchführen zu lassen, was einerseits zur einer erheblichen Effizienz und auch Qualitätssteigerung der Testprozesse führt, andererseits aber auch Zeit und somit Kosten einspart: Sind Testschritte erst einmal definiert, ist es möglich, diese jederzeit genauso erneut durchzuführen. Dies birgt einen weiteren Vorteil, nämlich die hohe potenzielle Skalierbarkeit der Testsituation für Testingenieure und deren Abteilungen, somit also für das ganze Unternehmen. Beispielsweise können sehr viele Tests, teils auch parallel automatisiert durchgeführt werden, sie können virtualisiert werden – zum Thema virtuelle Realität, Metaverse und Co. später mehr – und die resultierenden Daten können massiv gebündelt und zentralisiert werden.
Vor allem erschließt die Testautomatisierung neben dem eigentlichen Einsatzgebiet auch ein weiteres unschätzbares Potenzial: Ingenieure und Entwickler können sich auf komplexe, wertschöpfende Aufgaben konzentrieren, statt manuell Tests durchzuführen.
Die Entwicklung vom manuellen zur Testautomatisierung geschieht allerdings nicht von selbst und auch nicht über Nacht: Für Unternehmen beginnt es stets damit, die eigenen Prozesse zu definieren, so dass diese standardisiert und automatisiert werden können. Unternehmen wie Cognizant Mobility helfen bei solchen Schritten, der Impuls indes muss stets aus dem Inneren des Unternehmens kommen. Die Vorteile zur Entscheidungshilfe aufzuzeigen, ist erklärte Aufgabe dieses Artikels, der unweigerlich nun auch in medias res geht, um tiefer in die Materie einzusteigen.
Vom Schraubenschlüssel zur Software: Testautomatisierung im Wandel der Zeit!
Solange es industriellen Fahrzeugbau gibt, wird auch getestet, was das Zeug hält, und Prozesse zu optimieren und idealerweise zu automatisieren, ist ein wesentlicher Charakterzug der Menschheit per se. Schon der Holzkeil auf dem Gaspedal in der Werkstatt ist eine Form der Automatisierung, die heute weniger handwerklich, sondern industrialisiert und idealerweise digitalisiert ist.
Auch heute muss eine Fahrzeugtüre den Test überstehen, von einem Roboter 10.000 mal geöffnet und geschlossen zu werden, um zu testen, ob der Türgriff dieser Langzeitbelastung standhält. Eine automatische Heckklappe muss tausende Male korrekt schließen und den Fahrgastraum verlässlich versiegeln. Vor allem die Software, die zahllose Prozesse im Fahrzeug ermöglicht und steuert, will entsprechend getestet werden, qualitativ und quantitativ hochwertig. Wie Hardware-Tests lassen sich auch diese Software-Tests automatisieren, oft mit spezifischen Varianten automatisierten Testings wie xRPA. Infos dazu lassen sich beispielsweise hier finden, wir gehen aber im Weiteren noch darauf ein.
Hardware-Tests sind ebenfalls Testprozesse, die sich in Teilen automatisieren lassen, und auch das Testing von Materialien, die in Fahrzeugen verwendet werden, ist essentiell wichtig, sowohl beispielsweise bei Materialien für die Karosserie als auch für Frontscheiben, auf die ein Head-Up-Display projiziert werden soll: Ist es an der richtigen Stelle, gut lesbar, egal bei welchem Lichteinfall, kann der Kunde die Größe anpassen, und gibt es die korrekten Informationen wider? Wie Materialien, noch lange vor dem Testing, mittels K.I. gefunden werden können, lässt sich in diesem überaus lesenswerten Beitrag über das Startup „Exomatter“ nachlesen.
Heutzutage sind es vor allem spezifisch tätige Zulieferer, aber auch große OEMs, die im Bereich der Testautomatisierung von Software-basierten Prozessen tätig sind. Die Anzahl und der Umfang von in Fahrzeugen genutzter Software ist in den letzten zwei Jahrzehnten, mit großem Schwung in den letzten Jahren, enorm gewachsen und bringt massive Anforderungen mit sich. Schließlich muss Software nicht nur auf Funktion, sondern auch auf Sicherheit und Kommunikation getestet werden, ebenso auf Interfunktionalität und Nutzerfreundlichkeit, und dabei diversen Regularien (wie der UNECE R155) gerecht werden.
Unternehmen wie Cognizant Mobility befassen sich in diesem Kontext hauptsächlich mit System- und Kundenfunktionstests. Ein Beispiel hierfür ist die Kommunikation zwischen zwei ECUs (Electric Control Unit): Die kommunizierten Signale werden per BUS transportiert und dabei darauf geprüft, ob der Inhalt und die Adressdaten korrekt sind und ob die Kommunikation abgesichert ist. Dies will getestet werden, ebenso wie erlebbare Kundenfunktionen (im Gegensatz zu ECU-relevanten Funktionen) wie das elektrische Öffnen von Türen, Fenstern oder Heckklappen oder das Umschalten von Fahrmodi (z.B. von „Eco“ auf „Sport“) sowie beispielsweise Klimafunktionen: Werden die Signale über die Steuergeräte korrekt versandt, mit den richtigen Parametern, und funktioniert dies beliebig oft – auch in Sonderfällen?
Testing deckt also eine enorme Bandbreite nachzuprüfender Punkte während der Fahrzeugentwicklung ab, und vor allem bei Prozessen, die ständig wiederholt oder in großer Zahl durchgeführt werden müssen, bietet sich die Automatisierung der Testprozesse an. Der Aufwand kann hierbei unterschiedlich ausfallen: Bei Software für ein Heckklappenmodul wird oft lediglich getestet, ob die Klappe aufgeht und die Anzeige im Fahrzeug dazu korrekt ist (es versteht sich, dass umfangreiche Funktions- und Materialtests schon im Rahmen der Fahrzeugentwicklung vorgenommen wurden).
Handelt es sich beim Update indes um ein zentrales Gateway oder Software mit großem und neuem Umfang, muss das Testing deutlich umfangreicher ausfallen, da viele verschiedene Komponenten und Funktionen im Fahrzeug damit interagieren. Es muss also alles getestet werden, was geändert wurde oder beeinflusst wird. Die Definition des Testumfangs ist somit ebenfalls ein relevanter Teilaspekt der Testautomatisierung. Ist diese Definition vorhanden und steht der Umfang des Testszenarios fest, kann hieraus ein Prozess abgeleitet und jede neue Software-Generation im gleichen Umfang getestet werden. So können beispielsweise die Basisfunktionalitäten definiert werden, die bei jedem Update gleich getestet werden, und zusätzlich werden weitere Prozesse bestimmt und automatisiert, die neu hinzukommen.
Relevant ist hierbei natürlich, wie aufmerksame Leser sicherlich bereits festgestellt haben, dass diese Prozesse, um automatisiert werden zu können, idealerweise stets gleich ablaufen. Was aber, wenn Testingzenarios anpassungsfähig sein müssen? Wenn Rare Edge Cases getestet werden sollen oder völlig neue Routinen auftreten? Dann kann xRPA eine Lösung sein.
xRPA und Testautomatisierung: Von Autobahnen und Datenhighways
Wer „xRPA“ sagt, muss vorher „RPA“ sagen und fasst salopp zusammen: Die klassische Robotic Process Automation spielt eine entscheidende Rolle in der Testautomatisierung. Es handelt sich dabei um eine Technologie, die die Automatisierung von Geschäftsprozessen ermöglicht (auch außerhalb des klassischen Automobil-Testings), indem sie menschliche Aktionen innerhalb von Softwareanwendungen nachahmt. Im Kontext des automatisierten Testings kann RPA ebenfalls zur Automatisierung von Testfällen verwendet werden, die sonst manuell ausgeführt werden müssten. Dies erhöht die Effizienz des Testprozesses und ermöglicht es, mehr Tests in kürzerer Zeit durchzuführen.
xRPA (Extended Robot Process Automation) wiederum ist ein Teilbereich der Testautomatisierung und bietet gegenüber dieser zwei elementare Vorteile. Die vordringliche Aufgabe (und Möglichkeit) von xRPA ist es einerseits, einzelne Test-Systeme, die üblicherweise nicht zwingend miteinander kommunizieren (können), zu verbinden und Vorgaben von einem System ins andere zu übertragen. So können Testaufgaben verkettet, in Reihe oder parallel geschalten werden, was außerdem mittels Einschaltung moderner K.I.-Systeme Raum schafft, um Tests zu alternieren.
Als weiterer Vorteil zählt, dass – wie durchaus bei manchen OEMs in der Entwicklungsphase präsent – Testfälle entwickelt werden können, die entsprechend parametriert werden. Dazu wird ein Testframework entwickelt, in welchem sich Tests mehrfach wiederholen lassen, mit stets leichten Änderungen. Es gibt hierfür auch andere Optionen, aber dass xRPA nicht nur Automatisierung, sondern auch Alternierung bieten kann, sollte an dieser Stelle erwähnt werden.
Wieso vor allem die Interfunktionalität und die Kommunikation zwischen verschiedenen Systemen und Geräten im Internet of Things und der Industrie 4.0 extrem wichtig ist und ein effizientes Testing komplexer Systemlandschaften nicht nur Kosteneinsparungen, sondern auch eine schnelle Markteinführung bedeuten kann sowie welche für Unternehmen existenziellen Vorteile damit verbunden sind, muss vermutlich nicht weiter ausgeführt werden.
Testautomatisierung im Grenzbereich: Weil Automotive eben auch Spaß machen darf (und muss)
Ebenfalls im Erfahrungsportfolio von Zulieferern wie Cognizant Mobility findet sich das Testing im Grenzbereich, der eher auf dem Prüfplatz oder im Fahrzeug an sich stattfindet als auf dem Prüfstand. Dazu wird das Fahrzeug im Grenzbereich bewegt, also beispielsweise unter hohen Drehzahlen oder mit hoher Geschwindigkeit: Üblicherweise ein Testingbereich, der sich nur bedingt automatisieren lässt und noch dazu nicht für jeden Testingenieur geeignet ist. Oft geht es weniger um harte Fakten als um Gefühl, wenn ein Fahrzeug im maximalen Drift auf der Prüfstrecke darauf getestet werden soll, ob es mit oder ohne DST überhaupt in den Drift geht, oder ab welcher Einstellungsstufe. Hier spielen das Gefühl der sehr geschulten Testfahrer und die Kundenerwartung eine große Rolle im Testszenario: Ein privater Nutzer legt selbst an ein sehr sportliches Fahrzeug sicherlich andere Maßstäbe an als ein professioneller Rennfahrer. Die Testfahrer legen übrigens mitunter gewaltige Strecken mit Testfahrzeugen zurück – ganze Flotten sammeln weltweit Daten, die übertragen und ausgewertet werden wollen. Auch hier also ein klarer Use Case für automatisiertes und auch virtuelles Testing, wir sprechen gleich noch darüber.
Automatisieren lassen sich aber natürlich auch verschiedenste Testszenarien in den Grenzbereichen. Ein Wagen auf dem Prüfstand bei voll durchgedrücktem Gaspedal kann beispielsweise darauf getestet werden, ob beim plötzlichen Treten der Bremse alle Steuergeräte das korrekte Signal erhalten: Werden die Signale korrekt verschickt und auch zeitkritisch ausgeführt?
Dies zu testen, auch und vor allem in Extremsituationen von Drift bis Gefahrenbremsung, damit das Fahrzeug des entspannten Urlaubers auf der Autobahn ein Warnsignal erhält und der Notbremsassistent einsetzt, ist ebenfalls explizite Aufgabe des automatisierten Testings und schafft somit Sicherheit und Vertrauen.
Vorteile Testautomatisierung: Und wir dachten, es läge auf der Hand
Einige der bestechendsten Vorteile von automatisiertem Testing und vor allem Extended Robot Process Automation sind uns nun schon bekannt: Sie sind effizient, können in großer Zahl und schnell durchgeführt werden, sind skalierbar, von hoher Qualität, können teilweise sogar alterniert werden und geben den wertvollen Fachkräften Gelegenheit, andere und komplexere Aufgaben im Unternehmen wahrzunehmen. Das führt beinahe – pun intended – automatisch zu einer schnelleren Gesamtentwicklung für Unternehmen, die eine frühere Markteinführung möglich machen kann. Kosten können eingespart werden und die Effizienz lässt sich spürbar steigern. Auch sind Testdaten, die auf automatisiertem Testing beruhen, robuster und zuverlässiger und erhöhen somit die Qualität des Endprodukts.
Idealerweise kennen Partner, die mit dem automatisierten Testing von diversen Systemen und Funktionen beauftragt werden, den gesamten Testprozess und können ihn mittragen. Teil der Philosophie der Testingabteilung von Cognizant Mobility ist beispielsweise, den Status Quo exakt zu kennen: Den Umfang des Testszenarios zu bestimmen sowie die Erstellung von Testfällen und der Verwaltung des gesamten Testmanagements sind Cognizant Mobility als jahrzehntelangem Partner (unter anderem der BMW Group) bekannt, ebenso wie der gesamte Prozess von der Softwarelieferung und deren Start bis zum Reporting für den Kunden. Die besten Tests bringen nichts, wenn die gelieferten Daten nicht gebündelt und effizient ausgewertet werden können. Vor dem Testing ist nach dem Testing! So lassen sich maßgeschneiderte Individual-Lösungen entwickeln, gerade im Bereich xRPA auch im Rahmen großer Legacy oder Enterprise Lösungen.
Wer die Projektlandschaft kennt, weiß ohnehin auch, dass es keine one-fits-all-Lösungen gibt, auch nicht für vermeintlich einheitliche Standardprozesse: Der Weg vom „machen wir halt so, funktioniert“ zu effektiver Testautomatisierung ist immer auch ein individueller Weg, bei dem Tools entwickelt werden, um die Produktivität und den Skalierungsgrad zu bestimmen, um mit Systemen zu kommunizieren, kurzum: Um Kunden wirklich exakt zu liefern, was gebraucht wird, ohne unnötigen Aufwand. Sich dabei aus einem Pool an Erfahrung, Lösungen und auch konkreten Software- und Testing-Lösungen bedienen zu können, ist für Entwickler und Zulieferer ein unschätzbarer Vorteil (der sich, die Phrasen beiseite, üblicherweise sehr wohl und sehr konkret interpretieren und schätzen lässt).
Testautomatisierung: Die Teststrecken der Zukunft
Es bleibt, sich zu fragen, wohin die Reise geht. Blumig ausgedrückt, aber nicht weniger wahr, und nicht nur für Insider klar: Der Weg des Testings geht weg von der Teststrecke. Prüfstände, aufwendig erstellte Teststrecken, die für kleinste Änderungen mühsam angepasst werden müssen, „Gefühlssache“ beim Testfahrer: Relikte, oft schon heute. Natürlich: Manche Prüfstände werden weiterhin zentrale Rollen in der Absicherung spielen, da Kundenansprüche zu divers sind, um wirklich alle von ihnen vollständig zu digitalisieren, doch: Die Virtualisierung lässt sich nicht aufhalten – wir verweisen (als Lektüre nach diesem Beitrag, versteht sich) auf unser Interview mit Stefan Wenz von Epic Games und dessen überaus interessante Ausführungen zum Thema Autonomes Testing von Fahrfunktionen via Unreal Engine.
Eine Teststrecke einmal virtuell anzulegen, mit Sensoren zu bestücken und Tests nun nicht mehr in Echtzeit, sondern simuliert, millionenfach, in jeder gewünschten Änderung (anderer Straßenbelag? Bodentemperatur? Regen? Sonne? Neigung?), parallel, von K.I. unterstützt, um vorher trotz aller Erfahrung fast undenkbare Rare Edge Cases zu testen? Das klingt nicht nur gut, es ist heute schon Wahrheit. Ganze Stadtgebiete lassen sich mit modernen Mitteln wie K.I. und Machine Learning einscannen, digitalisieren und nach Wunsch beleben und bestücken.
Der beinahe schon spielerische Ansatz, der hier möglich ist, erlaubt auch ein Endkunden-Testing in sehr frühen Phasen. Denkbar beispielsweise, einen Digital Twin, einen digitalen Klon des Fahrzeugs in einem aktuellen Spiel zur Verfügung zu stellen, den Spieler fahren – und somit testen – können. Tausendfach, bei erfolgreichen Spielen wie Fortnite sogar millionenfach (siehe, noch einmal der Hinweis, das oben verlinkte und aufschlussreiche Interview mit Epic Games).
Dazu passend erscheinen neue Grundideen auf dem digitalen Markt wie das Metaverse, in dem sich auch der Kunde virtualisieren lässt. Als Avatar in den Digital Sibling einsteigen, während der reale Anwender eine VR-Brille trägt oder sich in ein entsprechendes Teilmodell begibt und das Auto virtuell, beinahe wie in echt erkundet – ausgenommen nur noch der Tastsinn? Das ist keine Vision, es ist Realität, die schon heute in der Entwicklung und im Bereich der Privatanwendungen teils breit gestreut geläufig ist, Stichwort Augmented Reality von Pokemon Go bis zur virtuellen Couch im digital erfassten Wohnzimmer. Mit dem Aufkommen immer weiterer, hochtechnologischer Lösungen in den Bereichen Künstliche Intelligenz, Data Science und Automotive sind Szenarien, die getestet werden dürfen, sollen, müssen, beinahe bigger than life, fast unermesslich groß.
Testing muss also automatisiert werden, Imperativ, schon um den endlosen Anforderungen einer sich zunehmend virtualisierenden und digitalisierenden Welt, der rasanten Entwicklung auf dem automobilen Markt und der Industrie 4.0 nachkommen zu können. Es ist nur naheliegend, Systeme und Funktionen zu vernetzen (Stichwort „Connected Car“), die Kommunikation zu prüfen und zu sichern, und statt aufwendigen Prüfplätzen mit unterforderten Testingenieuren zu dezentralisieren: remote, aus dem Homeoffice den Testrechner starten und ein paar Millionen Testszenarien durchgehen, die Daten in Big Data Pipelines verarbeiten und professionell auswerten? Ein Kinderspiel wird es nie sein, aber es wird auch keinen monatelangen Aufwand mehr nach sich ziehen, sondern im Grunde per Knopfdruck geschehen.
Freilich, Entwarnung: Testingenieure brauchen wir auch weiterhin. Die Systeme selbst, ebenso wie deren Testumgebungen, wollen weiterhin entwickelt, gebaut und gewartet werden, physisch wie virtuell. Und kaum ist ein Testszenario erstellt, folgt das nächste, denn Aufgaben werden immer komplexer. Sie werden automatisiert, optimiert und weiterentwickelt, aber es werden nicht weniger Aufgaben, sondern die Einsatzmöglichkeiten der Aufgaben werden breiter. Eine Bewegung von einem zum anderen, vom Schraubenschlüssel an den Teststand, und nun vom Teststand zum dezentralen Testrechner. Eine Herausforderung für eine ganze Industrie, eine ganze Welt, die jede Generation neu erlebt und auch in der heutigen Zeit nicht aufhört, von ungeheurer Vielfalt und Spannung gekennzeichnet zu sein. So viele neue Möglichkeiten, so viele Szenarien, so viele Testfälle, die den weiteren Weg der Testautomatisierung begleiten – das lässt nur eine Schlussfolgerung zu: Es liegt in der ureigensten DNA der Testautomatisierung, den Wandel zu begleiten und zu ermöglichen, der die nächste Generation der Mobilität einleitet. Und das spannendste daran, zumindest aus mancher Perspektive, ist die unweigerlich folgende Evolution der Testlandschaft, die sich an aktuellsten und essentiellen Entwicklungen beteiligt.
Spannend.