Parasoft-Logo
Titelbild des Whitepapers

Whitepaper

So bewältigen Sie Herausforderungen bei softwaredefinierten Fahrzeugen mit Testautomatisierung

Werfen Sie unten einen Blick auf eine Vorschau der wichtigsten Neuerungen aus unserem Whitepaper.

Zum Abschnitt springen

Übersicht

Softwaredefinierte Fahrzeuge stellen einen Paradigmenwechsel im Automobildesign dar, bei dem Funktionen und Merkmale primär durch Software und nicht durch festverdrahtete Komponenten realisiert werden. Dieses Whitepaper untersucht die Architektur softwaredefinierter Fahrzeuge, Entwicklungsherausforderungen, Standardisierungsbestrebungen und wie Testautomatisierung kritische Sicherheitsanforderungen erfüllt.

Was ist ein SDV?

Mit zunehmender Reife der Fahrzeugelektronik und der zugehörigen Steuerungssoftware steht das Konzept der softwaredefinierten Fahrzeuge (SDV) kurz davor, die Automobilindustrie grundlegend zu verändern. Im Kern ist ein SDV nicht nur der im Fahrzeug laufende Code, sondern ein neues Paradigma, bei dem die Fahrzeugfunktionen primär durch Software und nicht mehr fest in die Hardwarekomponenten integriert sind. Dieser Wandel von festverdrahteten Systemen hin zu SDV eröffnet vielfältige Möglichkeiten und birgt gleichzeitig Herausforderungen. Viele Probleme der Softwareentwicklung bleiben jedoch bestehen.

Dienstleistungsbasierte Zukunft

Ein SDV (Service-Driven Vehicle) basiert auf einer vernetzten Fahrzeugplattform mit serviceorientierter Architektur (SOA). Die Dienste werden über Mobilfunknetze bereitgestellt, und Anbieter können neue oder aktualisierte Softwarekomponenten problemlos einspielen.

Einer der Hauptvorteile dieses Ansatzes sind Software-Updates per Funk (OTA). Fahrzeuge erhalten dadurch neue Funktionen, Leistungsverbesserungen und sogar wichtige Sicherheitsupdates, ohne dass ein Besuch in der Werkstatt nötig ist. Ein SDV ist somit immer auf dem neuesten Stand und sicher. Da Software eine zentrale Rolle für die Funktionen und die Leistung moderner Fahrzeuge spielt, kann ein OTA-Update beispielsweise die Höchstgeschwindigkeit und Beschleunigung Ihres Fahrzeugs verbessern.

Grafik zur Veranschaulichung vernetzter Systeme in einem Auto
Plattform für vernetzte Fahrzeuge, basierend auf einer SOA

Durch die von OTA-Anbietern bereitgestellten Dienste wird ein Übergang zu kleineren, besser handhabbaren Einheiten, sogenannten Microservices, erfolgen. Diese Microservices können unabhängig voneinander entwickelt, getestet und bereitgestellt werden, was die Agilität des Softwareentwicklungsprozesses erhöht.

Fahrzeughersteller können Funktionen und Features als Abonnementdienste anbieten und so ein Pay-as-you-go-Modell ermöglichen. Dies bietet Verbrauchern zwar die Flexibilität, die gewünschten Funktionen zum gewünschten Zeitpunkt auszuwählen, birgt aber auch das Risiko höherer langfristiger Kosten und einer zunehmenden Abonnementmüdigkeit.

Vom vernetzten Fahrzeug zum SDV

Selbstfahrende Fahrzeuge sind untrennbar mit dem Konzept vernetzter Fahrzeuge verbunden. Daher ist geplant, die Möglichkeiten des mobilen Internets zu nutzen, um Daten mit anderen Fahrzeugen und der Infrastruktur auszutauschen und so Echtzeitkommunikation, verbesserte Navigation und fortschrittliche Sicherheitsfunktionen zu ermöglichen.

Ob es sich um Fahrzeug-zu-Fahrzeug- (V2V) oder Fahrzeug-zu-Infrastruktur-Kommunikation (V2I) handelt, das SDV wird zu einem Knotenpunkt im größeren Netzwerk, trägt zu Verkehrs- und Unfallwarnungen bei und ermöglicht letztendlich intelligente Städte.

Diese Verlagerung hin zu SDV trägt auch den steigenden Anforderungen an Konnektivität, Rechenleistung und Funktionen moderner Automobile Rechnung. Fortschrittliche Fahrerassistenzsysteme (ADAS) und verbesserte Infotainmentsysteme benötigen immense Rechenleistung.

SDVs sind so konzipiert, dass sie diese Rechenanforderungen erfüllen und sich an die Weiterentwicklung dieser Technologien anpassen lassen. ADAS befindet sich noch in der Entwicklungsphase. Mit der Verbesserung seiner Fähigkeiten, beispielsweise durch eine optimierte Gefahrenerkennung, können diese Upgrades in Fahrzeuge integriert werden, ohne dass neue Hardware erforderlich ist.

Hardwarearchitektur von SDVs

Die Hardwarearchitektur von SDVs ist eine geschichtete Struktur:

  • Hardwareplattform. Die Basisschicht besteht aus den physischen Komponenten des Fahrzeugs, einschließlich der herkömmlichen elektronischen Steuergeräte (ECUs) und anderer Hardwareelemente.
  • Systemsoftware. Diese Schicht umfasst virtuelle Maschinen, Systemkerne, RTOS, AUTOSAR-Laufzeitumgebung usw. Sie stellt die notwendige Softwareinfrastruktur für den Betrieb des Fahrzeugs bereit.
  • Anwendungs-Middleware. Dazu gehören funktionale Software, serviceorientierte Architektur (SOA) usw. Sie bietet die notwendige Plattform für die Entwicklung und den Einsatz von Anwendungen im Fahrzeug.
  • Anwendungssoftware. Die oberste Ebene umfasst eine intelligente Cockpit-Mensch-Maschine-Schnittstelle (HMI), ADAS, AD-Algorithmen, Konnektivitätsalgorithmen, Cloud-Plattformen und Ähnliches. Sie stellt benutzerorientierte Anwendungen und Dienste bereit.
Grafik zur Darstellung der Verbindungen zwischen Zentralrechner und Zonen-ECU/Gateways
Beispiel einer SDV-Zonenarchitektur

In herkömmlichen Fahrzeugarchitekturen sind Steuergeräte (ECUs) über den CAN-Bus mit zentralen Systemen für Steuerung, Programmierung und Diagnose verbunden. Bei softwaredefinierten Fahrzeugen hingegen geht der Fokus von mehreren Steuergeräten hin zu virtuellen Steuergeräten (vECUs) oder sogar einem einzigen Onboard-Supercomputer.

Die einzelnen Steuergeräte werden nach ähnlicher Funktionalität gruppiert und mit einem zentralen Domänencontroller, beispielsweise einem IVI, verbunden. Jeder Domänencontroller ist dann mit einem Gateway verbunden, das bei Bedarf Informationen zwischen den Domänen weiterleiten kann.

Die SDV-Architektur entwickelt sich von einem domänenbasierten zu einem zonenbasierten Ansatz. In einer Domänenarchitektur sind Steuergeräte und Verkabelung in spezifischen Funktionsdomänen wie der Antriebsdomäne organisiert. Die Zonenarchitektur gruppiert Domänenfunktionen anhand ihrer physischen Position im Fahrzeug. Diese Transformation von einer Domänen- zu einer Zonenarchitektur ermöglicht die Unabhängigkeit von Sensoren und Aktoren vom zentralen Fahrzeugrechner.

Im Bereich der Kommunikationstechnologie entwickelt sich Ethernet, eine etablierte und standardisierte Technologie, rasant weiter, um Märkte mit spezifischen Anforderungen, wie beispielsweise der Automobilindustrie, zu unterstützen. Zu diesen Anforderungen zählen Deterministik und die hohe Bandbreite, die für autonome Fahrzeuge unerlässlich sind. Gateways ermöglichen die Kommunikation zwischen verschiedenen Domänen. Um eine deterministische Echtzeitkommunikation innerhalb des Fahrzeugs zu realisieren, gewinnt Time-Sensitive Networking (TSN) in Automobilanwendungen zunehmend an Bedeutung.

Standardisierung von SDVs

Standardisierung ist ein Schlüsselaspekt des Übergangs zu SDVs. Sie umfasst die Konsensfindung hinsichtlich Architektur und Schnittstellen sowie die Definition von Softwareparametern und Hardwarekomponenten. Dies fördert die Entwicklung eines Ökosystems von Technologieanbietern, die das Modell unterstützen können.

Die Eclipse Foundation hat die Arbeitsgruppe „Software Defined Vehicle (SDV)“ gegründet. Diese Gruppe dient als Forum für die Entwicklung und Förderung von Open-Source-Software, Spezifikationen und offener Zusammenarbeit. Ziel ist eine skalierbare, modulare und erweiterbare Softwareplattform, die die Entwicklung und den Einsatz von SDV-Anwendungen unterstützt. Die Arbeitsgruppe strebt Erfolg an, indem sie verschiedene relevante Teilprojekte auswählt und einen Konsens darüber erzielt. Das Projekt „Eclipse openDuT“ beispielsweise befasst sich mit dem automatisierten Testen und Validieren von Automobilsoftware.

Die Standardisierung von SDVs wird die Nachfrage nach wiederverwendbaren und schnell integrierbaren Softwarekomponenten steigern. Es besteht ein großer Bedarf, modernste Technologien wie Virtualisierung, Container, Linux und Open Source im Allgemeinen – die alle aus externen Bereichen stammen – in das Fahrzeug zu integrieren.

In den nächsten Jahren wird es zu einer Standardisierung der Hardware-Abstraktionsschichten (HALs) kommen, was die Virtualisierung vorantreiben wird. Dadurch wird die Portabilität der Softwareschichten verbessert und der Einsatz gemeinsamer Komponenten verschiedener Hersteller gefördert. Dies ist Teil des umfassenderen Trends, die Software-Defined-Everything-Bewegung auf Automobile auszuweiten.

SDV-Alternativen

Die SDV-Initiative ist nicht die einzige softwarezentrierte Vision für Automobile, die derzeit verfolgt wird. China beispielsweise hat eine eigene Vision, die auf Initiativen einheimischer Anbieter basiert und sich aktuell auf eine eigene Version von AUTOSAR namens NeuSAR konzentriert. NeuSAR ist eine AUTOSAR-basierte Systemplattform für Automobile der nächsten Generation. Diese Spezifikation umfasst Sicherheitsfunktionen, SOA-Protokollstacks, dynamische Anwendungsbereitstellung und Lösungen für die Fahrzeug-Cloud-Kollaboration.

Die Intention und der Zweck von NeuSAR und Chinas Vision decken sich weitgehend, wenn nicht sogar vollständig, mit den Zielen der nachhaltigen Entwicklung. Es bleibt jedoch abzuwarten, ob zwischen diesen beiden Initiativen eine Kompatibilität besteht.

Sicherheit in SDVs

Die für aktuelle Automobilsoftware erforderlichen Sicherheitsstandards werden voraussichtlich auch für SDVs gelten und sich weiterentwickeln. Darüber hinaus wird die Software Anforderungen erfüllen müssen, die den Zielen von SDVs, wie beispielsweise der Portabilität, gerecht werden.

Automobilqualität. Die Software muss gemäß den Sicherheitsstandards der Automobilindustrie entwickelt werden. Das bedeutet, sie muss unter verschiedensten Bedingungen funktionsfähig sein und robust, zuverlässig und sicher genug, um den Anforderungen moderner vernetzter Fahrzeuge gerecht zu werden. Dies umfasst den gesamten Fahrzeuglebenszyklus – von der Konzeption über Entwicklung, Produktion und Wartung bis hin zur Entsorgung.

Sicherheitsstandards. Die Software muss höchsten Sicherheitsstandards entsprechen, einschließlich ISO 26262 für funktionale Sicherheit und ISO 21434 für Cybersicherheit.

Offene Standards. Die Lösungen sollten nach Möglichkeit offene Standards nutzen, um Interoperabilität und Portabilität zu fördern.

Entkopplung von Software und Hardware. Der Code sollte agnostisch sein, auf Open Source basieren und somit den besten Branchenstandards und Softwareentwicklungsstandards entsprechen.

Cyber ​​Security. Angesichts der stetig zunehmenden Vernetzung von Fahrzeugen ist Cybersicherheit ein ständiges Thema. Die Software muss mit robusten Sicherheitsmaßnahmen ausgestattet sein, um vor potenziellen Cyberbedrohungen zu schützen.

Herausforderungen der SDV-Softwareentwicklung

Sicherheit und Schutz stellen weiterhin erhebliche Herausforderungen für die Entwicklung von Automobilsoftware dar. Weitere Software-Herausforderungen für SDVs sind:

Software-Fokus

Der Übergang von hardwarebasierter Automobilentwicklung zu einer softwarebasierten, softwaredefinierten Fahrzeugarchitektur ist ein komplexer Prozess. Der Codeumfang für jedes Fahrzeug wächst exponentiell, ebenso wie der Entwicklungsaufwand.

Künstliche Intelligenz

Der Einsatz von KI in SDVs birgt eigene Herausforderungen, darunter die Gewährleistung der Zuverlässigkeit und Sicherheit dieser Systeme.

Systemintegration

Die Integration verschiedener Softwaresysteme in ein Fahrzeug ist eine komplexe Aufgabe.

Budgetbeschränkungen

Das Fahrzeugbudget ist ein entscheidender Faktor beim Übergang zu SDVs. Wenn SDVs nicht wettbewerbsfähig bepreist sind und den Herstellern keine ausreichenden Gewinnmargen einbringen, gilt der Übergang als gescheitert.

Fähigkeitslücke

Automobilhersteller müssen lernen, Software in den Entwicklungsprozess von Automobilen zu integrieren.

Supply Chain

Anfangs werden die meisten OEMs auf Tier-1- und Tier-2-Zulieferer angewiesen sein, um die benötigten Fahrzeugteile zu beziehen. Damit der Übergang gelingt, müssen diese OEMs den Wandel von einer hardwarezentrierten zu einer softwarezentrierten Arbeitsweise beherrschen.

Testautomatisierung von SDVs

Um SDVs (Software Development Vehicles) zu realisieren, ist Automatisierung ein zentraler Bestandteil ihrer Entwicklung. Dies umfasst Entwicklungsumgebungen, modellbasierte Entwicklung, CI/CD-Pipelines und Tests. Die folgenden Abschnitte behandeln einige der wichtigsten Aspekte der Testautomatisierung und wie diese die Sicherheit von SDVs verbessern kann.

Sicherheitsstandards gelten weiterhin

Sicherheit bleibt auch bei SDVs oberste Priorität. Daher unterliegt die Fahrzeugsoftwareentwicklung Normen und deren Einhaltung. Zwei wichtige Normen:

1. ISO 26262: Straßenfahrzeuge – Funktionale Sicherheit

2. ISO/SAE 21434: Straßenfahrzeuge – Cybersicherheitstechnik

ISO 26262 befasst sich mit potenziellen Gefahren durch Fehlfunktionen elektronischer und elektrischer Systeme in Fahrzeugen. Die Norm enthält detaillierte Richtlinien und Anforderungen für deren funktionale Sicherheit, darunter einen Lebenszyklus für Fahrzeugsicherheit, Aspekte der funktionalen Sicherheit im gesamten Entwicklungsprozess, Sicherheitsintegritätsstufen (ASILs) für Fahrzeuge sowie Anforderungen an Validierungs- und Bestätigungsmaßnahmen. Diese ASILs gelten für Softwaresysteme in Fahrzeugen mit Sicherheitsausstattung (SDVs) ebenso wie für aktuelle Fahrzeuge.

ISO/SAE 21434 baut auf ISO 26262 auf und bietet einen Rahmen für den gesamten Sicherheitslebenszyklus von Fahrzeugen. Ziel von ISO 21434 ist es, Leitlinien für bewährte Entwicklungspraktiken aus Cybersicherheitsperspektive bereitzustellen.

Da die Automobilindustrie zunehmend softwarebasiert wird und SDVs per Definition softwarezentriert sind, gewinnen diese Standards noch mehr an Bedeutung. Sie gewährleisten, dass bei der steigenden Abhängigkeit von Fahrzeugen von Software sowohl die funktionale Sicherheit als auch die Cybersicherheit umfassend berücksichtigt werden.

Verbesserung der SDV-Sicherheit durch Softwaretestautomatisierung

Statische Analyse

Viele der in ISO 26262 spezifizierten Qualitätsaufgaben, darunter Daten- und Kontrollflussanalyse sowie semantische Analyse, werden von modernen, fortschrittlichen Werkzeugen wie Parasoft C/C++test unterstützt. Darüber hinaus Statische Analysewerkzeuge Beinhaltet Metriken und unterstützt Peer-Code-Reviews mit Funktionen, die Unit-Tests und die Erkennung von Laufzeitfehlern unterstützen.

Verifizierungsmethoden wie die statische Analyse bieten Teams eine praktische Möglichkeit, Fehler aufzudecken, zu verhindern und zu korrigieren. Automobil-SoftwaresystemeDie eigentliche Stärke fortschrittlicher statischer Analysetools liegt in der Fähigkeit, den Code auf der Grundlage von … zu analysieren. Branchenübliche Codierungsstandards wie MISRA, CERT und AUTOSAR C++ 14.

Der Analysebericht enthält nicht nur Code-Regeln und Richtlinienverstöße, sondern auch Code-Komplexität und Qualitätskennzahlen. Diese Daten können für historische und Prüfungszwecke unter Quellcodeverwaltung gespeichert werden. Ebenso wichtig ist der Einsatz eines Fehlerverfolgungs- und -verwaltungssystems, um aussagekräftige Analysen und Priorisierungen zu ermöglichen und so die Behebung der risikoreichsten Probleme bis hin zu den weniger dringlichen zu gewährleisten.

Codierung der Standardkonformität

Kodierungsstandards Sie verkörpern die besten Praktiken aus jahrelanger Erfahrung und zielen darauf ab, den Code zu stärken, indem sie schlechte Praktiken vermeiden, die zu unzureichender Qualität und Sicherheit führen, und gleichzeitig gute Praktiken fördern, die robusteren Code erzeugen. Im Falle von Automobilstandards basieren sie auf bewährten Praktiken sowie auf Leitlinien zur Vermeidung der im Laufe der Jahre beobachteten Softwarefehler.

Kodierungsstandards definieren normalerweise eine Teilmenge einer Programmiersprache, die als sicherer und zuverlässiger in der Anwendung gilt. Ziel ist es, unvorhersehbares Verhalten von vornherein zu verhindern und die riskanten Sprachfunktionen, die es ermöglichen, einzuschränken.

Hier sind einige Beispiele für Codierungsstandards, die für die SDV-Entwicklung wahrscheinlich von Bedeutung sind. Diese Standards sind durchsetzbar mit Statische Analysetools wie Parasoft C++test.

MISRA C 2023/MISRA C 2025. Ein Satz von Codierungsrichtlinien für die Programmiersprache C. Der Standard zielt darauf ab, die Sicherheit von Software zu erhöhen, indem er Programmierer präventiv vor Codierungsfehlern bewahrt, die zu Laufzeitfehlern und potenziellen Sicherheitsrisiken führen können. Dies geschieht durch die Vermeidung bekannter problematischer Konstrukte in der C-Sprache.

MISRA C++ 2023. Bietet explizite Richtlinien zur Vermeidung aller Fälle von undefiniertem und nicht spezifiziertem Verhalten zur Unterstützung der Programmiersprache C++17 und soll AUTOSAR C++14 ersetzen.

AUTOSAR C++14. AUTOmotive Open System ARchitecture (AUTOSAR) ist eine weltweite Entwicklungspartnerschaft von OEM-Herstellern, Tier-1-Automobilzulieferern, Halbleiterherstellern, Softwareanbietern, Werkzeugherstellern und weiteren Partnern, die sich auf die Etablierung und Standardisierung von Automobil-Softwarearchitekturen konzentrieren. Eine Schlüsselkomponente der AUTOSAR Adaptive Platform ist… AUTOSAR C++14-Codierungsstandard Diese Norm definiert Richtlinien für die Verwendung der modernen Programmiersprache C++ in kritischen und sicherheitsrelevanten Systemen. Sie ist die einzige Norm auf dem Markt, die modernes C++ unterstützt.

SEI-Zertifizierung C und C++. Das Computer Emergency Response Team (CERT) des Software Engineering Institute (SEI) verfügt über eine Reihe von Richtlinien, die Entwicklern dabei helfen sollen, sicherere und zuverlässigere Software zu erstellen. Gestartet wurde das Team 2006 bei einem Treffen des C Standard Committee, dem ersten CERT C-Standard wurde 2008 veröffentlicht und wird ständig weiterentwickelt.

Regeln sind Richtlinien, die mithilfe statischer Analysetools erkannt werden können und deren strikte Einhaltung erforderlich ist. Empfehlungen hingegen sind Richtlinien mit geringerer Auswirkung und lassen sich mitunter nur schwer automatisch analysieren. CERT beinhaltet ein Risikobewertungssystem, das Eintrittswahrscheinlichkeit, Schweregrad und relative Schwierigkeit der Behebung kombiniert. Dies hilft Entwicklern, die wichtigsten zu untersuchenden Richtlinienverstöße zu priorisieren. Die Berücksichtigung des Aufwands für die Behebung von Verstößen bei der Priorisierung der Richtlinien ist eine wichtige Ergänzung der CERT-Standards für sichere Programmierung, die vielen anderen Standards fehlt.

Software-Unit-Testautomatisierung

ISO 26262 enthält spezifische Richtlinien für Prüfungen gemäß den Sicherheitsintegritätsstufen (ASIL). Anforderungsbasierte Prüfungen und Schnittstellentests werden für alle Stufen dringend empfohlen. Fehlereinspeisungs- und Ressourcennutzungstests werden für niedrigere Integritätsstufen empfohlen und sind für ASIL D (Automotive Safety Integrity Level) besonders empfehlenswert. Auch die Durchführung von Testfällen wird mit empfohlenen Vorgehensweisen spezifiziert.

Die Testautomatisierung bietet erhebliche Vorteile für eingebettete Automobilsoftware. Der Verzicht auf Testsuiten mit hohem manuellem Aufwand ermöglicht schnellere, einfachere und häufigere Tests. Die Auslagerung dieser manuellen Testarbeit schafft Zeit für eine bessere Testabdeckung und die Erreichung weiterer Sicherheits- und Qualitätsziele. Eine wichtige Voraussetzung für die automatisierte Ausführung von Testsuiten ist die Möglichkeit, diese Tests sowohl auf dem Host- als auch auf dem Zielsystem auszuführen.

Zielorientiertes Testen für Automobilsysteme. Die Automatisierung von Tests für Automobilsoftware ist aufgrund der Komplexität der Testinitiierung und -überwachung auf eingebetteten Systemen besonders anspruchsvoll. Hinzu kommt der oft eingeschränkte Zugriff der Softwareteams auf die Zielhardware. Die Rückverfolgbarkeit zwischen Testfällen, Testergebnissen, Quellcode und Anforderungen muss lückenlos dokumentiert und aufrechterhalten werden. Daher ist die Datenerfassung für die Testdurchführung unerlässlich.

Der Parasoft C/C++test wird mit einem optimierten Test-Harness angeboten, das den zusätzlichen Aufwand für den binären Footprint auf ein Minimum reduziert und in Form von Quellcode bereitgestellt wird, wo er angepasst werden kann, wenn plattformspezifische Änderungen erforderlich sind.

IDE-Integration. Parasoft C/C++test bietet dedizierte Integrationen mit eingebetteten IDEs und Debuggern, die die Ausführung von Testfällen reibungslos und automatisiert gestalten. Zu den unterstützten IDE-Umgebungen gehören unter anderem Eclipse, VS Code, Green Hills Multi, Wind River Workbench, IAR EW, ARM MDK, ARM DS-5, TI CCS und Visual Studio.

Automatisierte Testfallgenerierung. Die Generierung und Verwaltung von Testdaten stellen mit Abstand die größten Herausforderungen beim Unit-Testing dar. Testfälle sind dabei besonders wichtig. Entwicklung sicherheitskritischer Software Denn sie müssen die funktionalen Anforderungen sicherstellen und auf unvorhersehbares Verhalten sowie Sicherheits- und Schutzanforderungen testen. Und all dies unter Einhaltung der Testabdeckungskriterien. Parasoft C/C++test generiert automatisch Testfälle im gängigen CppUnit-Format.

Automatisierte Regressionstests. Parasoft DTP Unterstützt die Erstellung von Regressionstest-Baselines als organisierte Testsammlung und überprüft automatisch alle Ergebnisse. Diese Tests werden regelmäßig automatisch ausgeführt, um zu überprüfen, ob Codeänderungen die in den Regressionstests erfasste Funktionalität verändern oder beeinträchtigen. Sollten Änderungen vorgenommen werden, schlagen diese Testfälle fehl und das Team wird über das Problem informiert. Bei nachfolgenden Tests meldet DTP Aufgaben, wenn es Änderungen am im ersten Test erfassten Verhalten feststellt.

Funktionstests von SDVs mit servicebasiertem Testen

Eine serviceorientierte Architektur ist für SDVs (Service Vehicles) von grundlegender Bedeutung. Das Testen der Service-Schnittstellen von Fahrzeugen wird zu einer neuen und entscheidenden Entwicklungsaktivität. Die Funktionalität der neuen Automobile wird maßgeblich durch die von ihnen angebotenen und genutzten Dienste definiert. Testautomatisierung auf Serviceebene ist für den Erfolg von SDVs unerlässlich, da dieser Ansatz CI/CD, die Einhaltung gesetzlicher Vorschriften, Updates im laufenden Betrieb und die funktionale Validierung unterstützt.

Anstatt die Systemqualität anhand der Erfüllung einzelner Geräteanforderungen zu betrachten, wird der Fokus erweitert und die Qualität der bereitgestellten Dienste einbezogen. Tests auf Dienstebene tragen dazu bei, die Erfüllung nichtfunktionaler Anforderungen sicherzustellen. Beispielsweise lassen sich Leistung und Zuverlässigkeit auf Geräteebene oder im Rahmen von Software-Komponententests nur schwer beurteilen. Dienstbasierte Tests können die Betriebsumgebung eines Geräts simulieren und so realistische Lasten erzeugen. In einer HLK-Anlage (Heizung, Lüftung, Klimaanlage) kann beispielsweise der Temperatursensor mit unterschiedlichen Anforderungsraten getestet werden, um zu prüfen, ob er die Leistungsanforderungen erfüllt.

Auch in Automobilsystemen ist Sicherheit ein wichtiges Thema. Cyberangriffe gehen meist vom Netzwerk selbst aus, indem sie die offengelegten APIs attackieren. Servicebasiertes Testen ermöglicht die Erstellung simulierter Umgebungen für robuste Sicherheitstests, entweder durch Fuzzing (zufällige und fehlerhafte Dateneingaben) oder Denial-of-Service-Angriffe. Am Beispiel der Klimaanlage: Der Sensor funktioniert bei erwarteten Anfragen korrekt, wird aber bei Überlastung angreifbar. Ein Angreifer könnte diese Schwachstelle ausnutzen, um Zugriff auf Daten oder die Kontrolle über Teile des Systems zu erlangen.

Virtualisierte Testumgebungen für SDVs

Ein echtes Testlabor erfordert eine möglichst genaue physische Darstellung der Umgebung, in der ein Auto eingesetzt werden soll. Selbst im modernsten Labor ist es schwierig, eine realistische Umgebung zu skalieren. Ein virtuelles Labor löst dieses Problem.

Virtuelle Labore entwickeln sich weiter und benötigen keine schwer zu findende oder nicht vorhandene Hardware mehr. Sie nutzen ausgefeilte Servicevirtualisierung in Verbindung mit anderen wichtigen Testautomatisierungswerkzeugen.

Service-Virtualisierung. Simuliert alle Abhängigkeiten, die das zu testende Gerät für einen vollständigen Systemtest benötigt. Dies umfasst alle vom Gerät verwendeten Verbindungen und Protokolle mit realistischen Kommunikationsreaktionen. Beispielsweise kann die Dienstvirtualisierung ein Server-Backend simulieren, mit dem ein Auto kommuniziert. Ebenso kann die Virtualisierung abhängige Systeme wie Verkehrs- oder Wetterdaten realistisch simulieren.

Service- und API-Tests. Bieten Sie eine Möglichkeit, das zu testende System so zu steuern, dass die bereitgestellten Dienste und APIs einwandfrei funktionieren. Diese Tests können über die Automatisierungsplattform so angepasst werden, dass bei Bedarf Leistungs- und Sicherheitstests durchgeführt werden.

Laufzeitüberwachung. Erkennt Fehler in Echtzeit auf dem getesteten System und erfasst wichtige Ablaufverfolgungsinformationen.

Testlabormanagement und -analyse. Übernehmen Sie die übergreifende Kontrolle über die virtuellen Labore. Nach der Virtualisierung kann das gesamte Labor-Setup nach Bedarf repliziert und Testläufe automatisiert und wiederholt werden. Analysen bieten die notwendige Übersicht über Aktivitäten und Ergebnisse.

SOAtest & Virtualize für Service Level Testing von SDVs

Mit Parasoft Virtualize können Entwickler Integrationen früher erstellen, Abhängigkeiten stabilisieren und die volle Kontrolle über ihre Testdaten erlangen. Teams können schnell vorankommen, ohne auf den Zugriff auf abhängige Dienste warten zu müssen, die entweder unvollständig oder nicht verfügbar sind. Unternehmen können Partnern ermöglichen, ihre Anwendungen in einer dedizierten Sandbox-Umgebung zu testen.

Parasoft SOAtest liefert vollständig integrierte API- und Webdienst-Testtools die automatisieren End-to-End-Funktions-API-TestsTeams optimieren automatisierte Tests mit fortschrittlichen Funktionen zur Erstellung funktionaler Tests für Anwendungen mit mehreren Schnittstellen und Protokollen.

Mit zunehmender Größe der API-Teststrategie eines Teams wachsen auch die Testfallbibliotheken. Ändern sich die zu testenden APIs, müssen die Tests aktualisiert werden. Normalerweise stellt dies ein erhebliches Hindernis für die Skalierung einer Testautomatisierungsstrategie dar. Mit SOAtest können Teams Änderungen jedoch automatisiert verwalten. Der Change Advisor von SOAtest lässt sich einfach konfigurieren, um API-Schnittstellen automatisch zu scannen, Änderungen an den Diensten zu erkennen und anschließend eine Vorlage zu erstellen, die die Auswirkungen dieser Änderungen auf die Testressourcen aufzeigt und die Tests automatisch entsprechend aktualisiert.

Zusammenfassung

Softwarebasierte Fahrzeuge (SDVs) stellen einen bedeutenden Wandel in der Automobilindustrie dar, bei dem die Fahrzeugfunktionen primär durch Software und nicht mehr durch fest in die Hardwarekomponenten integrierte Funktionen realisiert werden. Diese stärkere Abhängigkeit von Software bedeutet jedoch für Automobilhersteller einen noch intensiveren Fokus auf die Softwareentwicklung, insbesondere auf die Automatisierung von Softwaretests.

Die Testautomatisierung ist ein Schlüsselelement bei der Entwicklung von Software-Devices (SDVs), insbesondere zur Steigerung der Testproduktivität um ein Vielfaches bei gleichzeitiger Gewährleistung von Sicherheit. Eine Möglichkeit hierfür ist der Einsatz der erweiterten statischen Analysesoftware Parasoft C/C++test, um Fehler in Automobil-Softwaresystemen aufzudecken, zu verhindern und zu beheben. Testlösung für die C/C++-Softwareentwicklung Analysiert den Code anhand von Branchenstandards für die Einhaltung von Codierungsstandards wie MISRA und CERT und meldet Code-Regeln, Richtlinienverstöße, Code-Komplexität und Qualitätsmetriken.

Servicebasiertes Testen stellt sicher, dass nichtfunktionale Anforderungen erfüllt werden und kann die Betriebsumgebung eines Geräts simulieren, um realistische Lasten zu erzeugen. Es ermöglicht außerdem robuste Sicherheitstests durch Methoden wie Fuzzing oder Denial-of-Service-Angriffe.

Virtuelle Labore, die hochentwickelte Servicevirtualisierung und andere wichtige Testautomatisierungswerkzeuge nutzen, bieten eine Lösung für die Herausforderungen beim Testen in einer realistischen Umgebung. Die Servicevirtualisierung simuliert alle Abhängigkeiten, die das zu testende Gerät für einen vollständigen Systemtest benötigt.

Parasofts SOAtest und Virtualisieren Wir bieten Lösungen für Service-Level-Tests von SDVs. Virtualize ermöglicht Entwicklern, Integrationen früher zu erstellen, Abhängigkeiten zu stabilisieren und die volle Kontrolle über ihre Testdaten zu erlangen. SOAtest bietet vollständig integrierte API- und Web-Service-Testtools, die End-to-End-Funktionstests von APIs automatisieren.

Bereit, tiefer einzutauchen?

Vollständiges Whitepaper anfordern