Parasoft-Logo

WEBINAR

Sehen Sie sich die Modernisierung des Softwaretests für eingebettete Systeme in SDVs an

Autos werden heute nicht mehr durch Motoren und Stahl definiert, sondern durch die Intelligenz ihrer Software. Da sich Fahrzeuge zu softwaredefinierten Systemen entwickeln, muss sich auch das Testen weiterentwickeln und kontinuierlich, automatisiert und intelligent werden, um den modernen Sicherheits- und Konformitätsanforderungen gerecht zu werden.

Key Take Away

  • Schichtprüfung links Fehler frühzeitig mithilfe statischer Analyse und automatisierter Komponententests erkennen.
  • Integrieren Sie Sicherheit, Schutz und Compliance in Ihr Unternehmen CI/CD-gesteuerter Entwicklungsworkflow.
  • KI nutzen und maschinelles Lernen, um Probleme zu priorisieren, intelligente Lösungen zu empfehlen und die Berichterstattung über die Einhaltung von Vorschriften zu vereinfachen.
  • Open-Source-Frameworks erweitern wie GoogleTest für sicherheitskritische Verifizierung und Validierung.

Mit der Weiterentwicklung von Autos müssen auch die Tests angepasst werden.

Die größte Veränderung im Automobilbau ist der Übergang zu softwaredefinierten Fahrzeugen. Autos sind nicht mehr nur mechanische Systeme, sondern werden von Millionen von Codezeilen gesteuert, die Fahrerassistenzsysteme (ADAS), Antriebsstrang und Infotainment zu einem dynamischen Ökosystem verbinden. Diese Komplexität stellt enorme Herausforderungen an die Tests, die mit traditionellen Methoden nicht bewältigt werden können.

Moderne Fahrzeuge erfordern automatisierte, kontinuierliche und intelligente Tests, um mit den ständigen Updates und der sich weiterentwickelnden Software Schritt halten zu können. Da KI und maschinelles Lernen heute kritische Funktionen steuern, muss die Verifizierung ein vorhersehbares und sicheres Verhalten gewährleisten. In Kombination mit strengen Standards wie ISO 26262 für Sicherheit und ISO 21434 Im Bereich der Cybersicherheit darf das Testen kein letzter Schritt sein, sondern muss ein kontinuierlicher, lebenszyklusorientierter Prozess sein, der sich sogar über den Ausstellungsraum hinaus durch drahtlose Updates erstreckt.

Moderne Testverfahren anwenden

Modernes Testen für softwaredefinierte Fahrzeuge beginnt mit einem „Shift-Left“-AnsatzProbleme frühzeitig erkennen mit statische Analyse und automatisierte Unit-TestsTools wie C/C++test CT helfen dabei, Code während des Schreibvorgangs zu überprüfen und so von Anfang an Sicherheit und Zuverlässigkeit zu gewährleisten. Tests können auch automatisch generiert werden. mit Anforderungen verknüpftund prüften, ob eine Abdeckung vorhanden war.

Dank CI/CD-Automatisierung und KI-gestützten Erkenntnissen ist das Testen jetzt kontinuierlich und intelligent. Jede Codeänderung wird sofort analysiert, die Einhaltung von Vorschriften bleibt stets gewährleistet und KI hilft bei der Priorisierung von Fehlerbehebungen – so wird Schritt gehalten mit der Geschwindigkeit und Komplexität moderner Automobilsoftware.

Silos durch Agile und DevOps aufbrechen

Modernes Testen gedeiht in Umgebungen, die Zusammenarbeit und Transparenz fördern. Frameworks wie Scrum sorgen für abgestimmte und flexible Teams, während DevOps-Pipelines Builds, Tests und Analysen in einem kontinuierlichen Kreislauf automatisieren.

DevOps-Workflows und CI/CD-Pipelines gewährleisten die kontinuierliche Qualitätssicherung vom Code-Commit bis zum Deployment und überwinden so die Silos zwischen Entwicklung, Qualitätssicherung und Compliance. Das Ergebnis ist ein einheitlicher, datengetriebener Workflow, der die Produktivität steigert, Risiken minimiert und Innovationen beschleunigt.

Kernprüfmethoden für die Qualitätssicherung

Mehrere zentrale Testmethoden sind entscheidend für die Sicherstellung der Codequalität:

  • Statische Analyse: Dies ist die erste Verteidigungslinie, die Programmierfehler, Sicherheitslücken und Compliance-Probleme aufspürt, bevor der Code ausgeführt wird. Im Automobilbereich werden sowohl MISRA C++ 2023 als auch AUTOSAR C ++ 14 Eine gemeinsame Vorgehensweise wird empfohlen. Standards wie CWE Sie helfen auch dabei, Sicherheitslücken frühzeitig zu erkennen.
  • Komponententests, Integrationstests, Systemtests und Regressionstests: Diese Methoden werden kontinuierlich angewendet, um Funktionalität und Stabilität in verschiedenen Entwicklungsstadien zu überprüfen.
  • Codeabdeckungsmessung: Tools messen Aussagen, Zweige und MCDC-Abdeckungabhängig von den Sicherheitsanforderungen des Systems.
  • Berichts- und Analyse-Dashboards: Diese Ergebnisse werden aus allen Testaktivitäten zusammengeführt und bieten einen Echtzeit-Überblick über Softwarequalität, Konformitätsstatus und Freigabebereitschaft.

Erweiterung von GoogleTest für sicherheitskritische Entwicklungen

GoogleTest ist aufgrund seiner Einfachheit bei C++-Entwicklern sehr beliebt, erfüllt aber allein nicht alle sicherheitskritischen Anforderungen. Parasoft C/C++test CT schließt diese Lücke durch Integration mit GoogleTest, um den strengen Anforderungen gerecht zu werden, gemäß ISO 26262.

Und so funktionierts:

  1. Automatisierte Abdeckungsmetriken: C/C++test CT sammelt detaillierte Abdeckungsmetriken (Zeilen-, Zweig-, MC/DC- und mehr) aus GoogleTest-Ausführungen.
  2. Anforderungsrückverfolgbarkeit: Es verknüpft Testfälle automatisch mit Anforderungen in ALM-Tools (wie Doors Next, Jira, Polarion) und macht so die manuelle Nachverfolgung überflüssig.
  3. CI/CD-Integration: Tests und Codeabdeckung sind in CI/CD-Pipelines integriert, wodurch Regressionen frühzeitig erkannt werden.
  4. Automatisierte Compliance-Berichte: C/C++test CT generiert Dokumentationen für Testausführungen, Testabdeckung und Rückverfolgbarkeit und spart so stundenlange manuelle Arbeit bei Audits.

Dies wandelt Unit-Tests von einer einfachen Aufgabe in eine strategische Aktivität, die Sicherheits- und Compliance-Ziele unterstützt. Die Verwendung von GoogleTest als Open-Source-Framework bedeutet, dass Sie nicht an proprietäre Tools gebunden sind und somit Flexibilität genießen, während Sie gleichzeitig sicherheitskritische Anforderungen mit integrierten Lösungen erfüllen. Parasoft arbeitet außerdem daran, in Kürze vollständig zertifizierte Tools für die sicherheitskritische Entwicklung anzubieten.

Die Rolle der KI beim Testen

Künstliche Intelligenz macht Tests intelligenter, schneller und effizienter. Hier sind einige wichtige Anwendungsbereiche:

  • Priorisierung: ML-Modelle analysieren historische Projektdaten (wie frühere Fehler, Codekomplexität und Arten von Verstößen), um vorherzusagen, welche Verstöße am ehesten zu kritischen Fehlern oder Sicherheitsrisiken führen.
  • Automatische Reparaturvorschläge: KI kann Codeverstöße analysieren., erläutern Sie Ihre Argumentation und schlagen Sie Korrekturen direkt im Editor vor.
  • KI-gestützter Benutzersupport: Ein KI-Assistent, ähnlich wie ChatGPT, liefert kontextbezogene Antworten auf Benutzerfragen direkt innerhalb der IDE.
  • KI-Agenten und MCP-Server: KI-Agenten sollen in die Lage versetzt werden, Codequalitätsprobleme autonom oder assistiv zu analysieren und darauf zu reagieren.

KI in Automobilsystemen

Künstliche Intelligenz (KI) macht Fahrzeuge intelligenter, beispielsweise durch Funktionen wie Spurhalteassistent, adaptive Geschwindigkeitsregelung und sogar autonomes Fahren. Der Einsatz von KI in Autos birgt jedoch Herausforderungen, wie das „Blackbox-Dilemma“, das die Einhaltung der ISO 26262 erschwert, und die Notwendigkeit, KI auf eingebetteter Hardware mit begrenzten Ressourcen auszuführen.

Um dem entgegenzuwirken, werden KI-Modelle komprimiert (z. B. von 32-Bit- auf 4-Bit-Präzision) und für spezielle Hardware optimiert. Standards wie ISO/PAS 8800 regeln die Entwicklung sicherer und zertifizierbarer KI für Fahrzeuge. Die Verifizierung ist entscheidend und umfasst Modelloptimierung, strenge Tests und ein robustes Systemdesign. Optimierte KI-Modelle werden häufig „eingefroren“, um konsistentes Verhalten zu gewährleisten. Sie werden mit regelbasierten Schutzmechanismen kombiniert, um unsichere Aktionen zu verhindern, und nutzen Redundanzsysteme für Ausfallsicherheit. Plattformen wie Nvidias Drive ermöglichen deterministisches KI-Verhalten in Serienfahrzeugen und werden von großen Automobilherstellern eingesetzt.

Best Practices für Sicherheit und Schutz

Die Entwicklung sicherer und geschützter SDVs erfordert die Kombination bewährter Methoden mit moderner Automatisierung. ISO 26262 dient als Leitfaden für Gefahren- und Risikoanalysen, während UN R155 und R156 Rahmenwerke zur Gewährleistung der Cybersicherheit festlegen. Die TARA-Techniken der ISO 21434, unterstützt durch Tools wie MITREs TARA, erfassen Schwachstellen, identifizieren Bedrohungen und definieren Gegenmaßnahmen über den gesamten Fahrzeuglebenszyklus hinweg.

Durch die Integration von Sicherheit und Schutz in jede Phase des V-Modells gewährleisten die Teams, dass SDVs vom Entwurf bis zur Bereitstellung sowohl funktional sicher als auch cyberresistent bleiben.