Geschrieben von Jonny Steiner
Die Automobilindustrie ist eine Technologiebranche. Wenn Sie mir nicht glauben, sind Sie bei Tesla genau richtig. Dort wird Ihnen ein Supercomputer im Wert von 50 US-Dollar verkauft, der zusammen mit einem Auto geliefert wird. Auf höchstem Niveau steuert Software alles von der Motorleistung bis hin zu safeVerbindung zu Unterhaltung und Navigation. Software und Anwendungen im Auto liefern Echtzeit-Diagnosedaten und lassen sich (wie der Fahrer hofft) nahtlos in Smartphones und andere Geräte integrieren.
Auch Over-the-Air-Software-Updates, die Autos mit den neuesten Anwendungen und Leistungssteigerungen auf dem neuesten Stand halten, werden immer häufiger. Wir haben gesehen, wie diese Technik von VinFast, einem vietnamesischen Hersteller von Elektrofahrzeugen, eingesetzt wurde, der angesichts der öffentlichen Kritik an der Leistung und den Fähigkeiten seiner Fahrzeuge versprach, in zukünftigen Software-Updates Änderungen vorzunehmen.
Die Branche verändert sich mit der Technologie
Bei der Diskussion von Softwaretests für die Automobilindustrie spielen zwei Hauptfaktoren eine Rolle:
- Bei durchschnittlich mehreren zehn Millionen Codezeilen in jedem Auto müssen Originalgerätehersteller (OEMs) schreiben, integrieren, testen und vieles mehr deploy Code schnell und effizient erstellen. Sie nutzen fortschrittliche Techniken, um den Prozess zu beschleunigen (mehr dazu gleich).
- Gleichzeitig hat sich die in der Entwicklung befindliche Software von der Unterstützung von Motor- und Infotainmentfunktionen hin zu Fahrerassistenzsystemen und autonomem Fahren weiterentwickelt, was die Testkomplexität erhöht.
Gleichzeitig verkürzen sich die Entwickler-Sprints und die Nachfrage nach einwandfrei funktionierenden Anwendungen zwingt OEMs dazu, ihre neuen Funktionen näher an den Produktionsstart heranzuführen. Entwickler und Tester benötigen kürzere Feedbackschleifen (ermöglicht durch continuous testing), um den Code kontinuierlich zu aktualisieren.
Diese Veränderungen erfolgen auf vertraute Weise
Wie viele andere Branchen ist auch die Automobilindustrie in den 2020er Jahren auf dem Vormarsch Agile Entwicklung, was die Tür für die Beschleunigung anderer Prozesse öffnet, wie z DevOps Lieferung mit Schwerpunkt auf continuous testing.
Dieser Wandel hin zur iterativen Entwicklung, bei der Teams ihren Code kontinuierlich schreiben, integrieren und testen, kommt OEMs gut entgegen. APIs integrieren Anwendungen und Funktionen in einem kontinuierliche integration/kontinuierliche lieferung (CICD)-Umgebung, die Entwicklerteams die Möglichkeit gibt, Code während der gesamten Lebensdauer eines Fahrzeugs zu aktualisieren und dabei den erfolgreichsten Code an anderer Stelle wiederzuverwenden, um Fehler zu minimieren und Kosten zu senken.
Verstrebungen für den Aufprall
Dank der zunehmenden digitalen Transformation in allen Branchen entwickeln sich Autos zu vernetzten Maschinen, die auf Softwaresysteme angewiesen sind, um ihr volles Potenzial auszuschöpfen.
Der erste Anwendungsfall, der mir in den Sinn kommt, sind Motoren und Antriebsstränge. Motorsteuergeräte (ECUs) tragen zur Optimierung von Leistung und Kraftstoffeffizienz bei. Diese Steuergeräte verwenden Algorithmen zur Steuerung der Kraftstoffeinspritzung, des Zündzeitpunkts und anderer Parameter, was zu einer besseren Kraftstoffeffizienz und geringeren Emissionen führt. Bei einigen High-End-Supersportwagen sind diese Parameter anpassbar und bieten dem Fahrer ein einzigartiges Fahrerlebnis, das auf seine Vorlieben zugeschnitten ist.
Es gibt mehr als nur Leistung. In einer Welt, die besessen ist von safety, die Automobilindustrie führt im Rahmen ihrer wichtigsten Innovationen Software ein. Fortschrittliche Fahrerassistenzsysteme (ADAS) wie Spurhalteassistent, adaptive Geschwindigkeitsregelung und automatische Notbremsung basieren stark auf Softwarealgorithmen. Mit Funktionen, die im Falle eines Aufpralls bremsen oder wenden können, trägt diese Software dazu bei, Unfälle zu reduzieren und Leben zu retten.
Der für unsere Diskussion relevanteste Anwendungsfall ist die nahtlose Konnektivität, die Infotainmentsysteme bieten. Diese Systeme bieten viele Funktionen, von Smartphone-Integrationen bis hin zu Navigation, Spracherkennung und vielen anderen Apps im Auto. Das Infotainmentsystem von Tesla verfügt sogar über eine Whoopie-Kissen-Option, um das Fahren komfortabler und, ich wage es zu sagen, unterhaltsamer zu machen. Diese zunehmende Komplexität macht die Notwendigkeit einer Automatisierung erforderlich continuous testing Zuverlässigkeit zu gewährleisten.
Die Herausforderungen beim Entwickeln und Testen von Automobilsoftware
Während wir uns mit den Herausforderungen befassen, müssen wir die Listen trennen, da es sich dabei um zwei Ebenen handelt. Es gibt Herausforderungen beim Testen von Automobilsoftware insgesamt und beim Testen von Infotainmentsystemen. Schauen wir uns beide genauer an.
Automatisierung continuous testing in der gesamten Branche stellt die folgenden Herausforderungen dar:
- SafeTypkritische Systeme: Es ist von entscheidender Bedeutung, dass fortschrittliche Fahrerassistenzsysteme (ADAS) einwandfrei funktionieren. Die größte Herausforderung besteht darin, automatisierte Tests zu erstellen, die reale Szenarien rigoros simulieren können, um diese Fähigkeiten zu testen.
- Komplexe Integrationen: Diese Systeme sind alle miteinander verbunden, angefangen bei den ADAS-Systemen bis hin zur Motorsteuerung und dem Infotainment. Die Herausforderung liegt hier in der Komplexität dieser Systeme und der Fähigkeit, die Kompatibilität zwischen Fahrzeugmodellen aufrechtzuerhalten.
- Kundenbindung: Da es sich um eine stark regulierte Branche handelt, müssen die Testbemühungen an den aktuellen Vorschriften ausgerichtet sein, um die Einhaltung sicherzustellen und nachzuweisen.
- Datenvolumen und Analyse: Wir alle kennen die riesigen Datenmengen, die von generiert werden continuous testing Prozesse. Wenn Sie nun noch die Komplexität der Automobilsysteme berücksichtigen, erhalten Sie eine Vorstellung davon, wie wichtig und schwierig es ist, die Daten zu analysieren, um Probleme zu identifizieren und Verbesserungen vorzunehmen.
- Legacy-Systeme: Ältere Autos verwenden immer noch veraltete Software- und Hardwaresysteme. Diese Systeme müssen jedoch weiterhin unterstützt und gewartet werden, da der Rest der Produktlinie auf neuere Systeme und Testprozesse umgestellt wird, um die Kompatibilität sicherzustellen.
Lassen Sie uns tiefer in die Natur des Infotainments eintauchen und einige der Herausforderungen beim Testen dieser Systeme erläutern:
- Benutzerzentriertes Testen: Automatisierte Tests müssen echte Benutzerinteraktionen nachahmen, da Infotainmentsysteme dem Endbenutzer dienen. Beim Testen muss der Schwerpunkt auf der UX-Benutzerfreundlichkeit und dem UI-Design liegen.
- Integrationen: Diese Systeme lassen sich in andere Fahrzeugsysteme integrieren, z safeTy und Navigation. Diese müssen durch Tests sichergestellt werden Integrationen sind nahtlos und beeinträchtigen die Fahrzeugleistung nicht.
- Multimodale Schnittstellen: Da Sprachbefehle, Touchscreens, physische Tasten und Gesten unterstützt werden, muss jede Schnittstelle getestet werden, um ein einheitliches Verhalten auf allen Ebenen sicherzustellen.
- Inhalt und Konnektivität: Infotainmentsysteme nutzen verschiedene Inhaltsquellen wie Streaming-Dienste, Smartphone-Konnektivität und Over-the-Air-Updates. Beim Testen müssen alle diese Inhaltsformate, Netzwerkbedingungen und Kompatibilität berücksichtigt werden.
- Leistung und Ressourcennutzung: Diese Systeme müssen effizient funktionieren, um die Gesamtleistung des Fahrzeugs nicht zu beeinträchtigen. Leistungstest muss den CPU- und Speicherverbrauch analysieren, um die Reaktionsfähigkeit des Systems sicherzustellen.
KI und ML werden Teil des Fließbandes
Wenn wir von automatisierte Tests In der Automobilindustrie, die sich ständig auf die innovativsten Entwicklungen freut, müssen wir darlegen, wie wir KI und ML zum Testen dieser Systeme einsetzen können.
- KI-gestützte Testerstellung: Mithilfe von KI-Algorithmen wie Software zur Verarbeitung natürlicher Sprache können Anforderungen analysiert werden, um Testfälle zu generieren. Es reduziert den Zeit- und Arbeitsaufwand für die manuelle Erstellung von Tests.
- Intelligente Analytik: Automatisierte Tests generieren mithilfe von maschinellem Lernen viele Daten, um Testergebnisse zu analysieren und Fehlermuster zu identifizieren, was Testern dabei hilft, Prioritäten zu setzen und sich auf kritische Probleme zu konzentrieren.
- Prädiktive Intelligenz: Die Verwendung von ML-Modellen zum Trainieren anhand historischer Daten hilft dabei, Muster zu identifizieren, die mit Softwarefehlern korrelieren. Die Modelle können dieses Training dann nutzen, um die Wahrscheinlichkeit von Fehlern in neuem Code vorherzusagen und Probleme proaktiv zu beseitigen, bevor sie zu einem Problem werden.
- Selbstheilung: Defekte Testfälle können während der Testausführung automatisch repariert werden, was dazu beiträgt, den Aufwand für die Testwartung zu reduzieren. Dadurch wird sichergestellt, dass Testsuiten weiterhin ausgeführt werden, wenn die Software wächst und sich weiterentwickelt.
KI und ML tragen dazu bei, automatisierte Tests für Automobilhersteller zu revolutionieren, indem sie sich wiederholende, zeitaufwändige Aufgaben automatisieren. KI und ML tragen dazu bei, die Zuverlässigkeit, Effektivität und Effizienz des Testprozesses zu verbessern. Das Ergebnis ist eine qualitativ hochwertigere Software, die in großem Maßstab und schnell bereitgestellt wird.
Einige große Hersteller setzen diese Techniken bereits ein:
- Tesla nutzt KI, um Flottendaten zu analysieren und potenzielle Mängel zu identifizieren. Diese Daten werden zur Verbesserung der Software im Auto verwendet.
- GM nutzt maschinelles Lernen für prädiktive Intelligenz, um Fehler in neuem Code zu beheben. Sie verwenden diese Daten, um Testbemühungen zu priorisieren.
- Ford generiert mithilfe von KI Testfälle für sein Infotainmentsystem. Es hilft ihnen, den Zeit- und Arbeitsaufwand für die manuelle Erstellung von Testfällen zu reduzieren.
Die Automobilindustrie ist daher zunehmend auf Software angewiesen continuous testing entwickelt sich, um Qualitäts- und Zuverlässigkeitsprobleme anzugehen. Es ist nicht ohne Herausforderungen, da ADAS-Systeme, miteinander verbundene Komponenten und Datenanalysen einen umfassenden Testprozess erfordern.
KI- und ML-Techniken entstehen immer weiter und revolutionieren die Automatisierung continuous testing durch die Automatisierung sich wiederholender Aufgaben und die Verbesserung der Wirksamkeit von Tests, was bei der Vorhersage und Identifizierung von Fehlern hilft.
Automatisiert umarmen continuous testing Die Nutzung von KI und ML wird Automobilherstellern dabei helfen, schnell und zuverlässig hochwertige, zuverlässige Software für ihre Autos bereitzustellen. Es wird dafür sorgen, dass die Zukunft der Automobilindustrie innovativ ist, safe, und miteinander verbunden.
Revolutionieren Sie Ihre Automotive-Softwaretests mit Digital.ai Continuous Testing Lösungen – wo Innovation auf Zuverlässigkeit auf der Überholspur trifft!
Sind Sie bereit, Ihr Unternehmen zu skalieren?
Entdecken
Was gibt es Neues in der Welt von Digital.ai
Wie Continuous Testing Fördert die Zusammenarbeit zwischen Entwicklern und Sicherheitsexperten: Der moderne Ansatz für sichere Entwicklung
Entdecken Sie continuous testing und App Sec fördern einen kollaborativen SDLC, wodurch ein komplexes Labyrinth für Angreifer entsteht, während gleichzeitig die Teams gestärkt und die Kosten gesenkt werden.
Die BPCE Banking Group optimiert den Qualitätssicherungs- und Lieferprozess mit Digital.ai Continuous Testing
Entdecken Sie, wie die BPCE Banking Group das Testen revolutioniert hat Digital.ai Continuous Testing, wodurch Effizienz und Qualität bei Bankinnovationen vorangetrieben werden.
Die Verzerrung in der Maschine: Verzerrungen von Trainingsdaten und ihre Auswirkungen auf den generierten Code von KI-Code-Assistenten
Entdecken Sie Vorurteile in KI-Trainingsdaten, die sich auf die Codegenerierung auswirken, und erlernen Sie Strategien, um diese zu mildern, um eine gerechtere KI-Entwicklung und Softwareinnovation zu ermöglichen.