Veröffentlicht: Dezember 4, 2023
Das Streben nach Qualität: Kontinuierliche automatisierte Softwaretests für die Automobilindustrie
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:
- Da jedes Auto durchschnittlich mehrere zehn Millionen Zeilen Code enthält, müssen Originalhersteller (OEMs) Code schnell und effizient schreiben, integrieren, testen und bereitstellen. Um diesen Prozess zu beschleunigen, verwenden sie fortschrittliche Techniken (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 kontinuierliche Prüfung), 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 kontinuierlichen Tests.
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 der Smartphone-Integration bis hin zu Navigation, Spracherkennung und vielen anderen Apps im Auto. Das Infotainmentsystem von Tesla verfügt sogar über eine Furzkissen-Option, die das Fahren bequemer und, wenn ich das sagen darf, unterhaltsamer macht. Diese zunehmende Komplexität macht automatisierte kontinuierliche Tests erforderlich, um die Zuverlässigkeit sicherzustellen.
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.
Die Automatisierung kontinuierlicher Tests stellt die Branche insgesamt vor die folgenden Herausforderungen:
- 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 wissen, dass durch kontinuierliche Testprozesse enorme Datenmengen erzeugt werden. Wenn man nun noch die Komplexität von Automobilsystemen hinzufügt, bekommt man 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 zunehmend von Software abhängig, sodass kontinuierliche Tests zur Lösung von Qualitäts- und Zuverlässigkeitsproblemen immer wichtiger werden. Dies ist jedoch nicht ohne Herausforderungen, da ADAS-Systeme, miteinander verbundene Komponenten und Datenanalysen einen strengen Testprozess erfordern.
Es entstehen ständig neue KI- und ML-Techniken, die das automatisierte kontinuierliche Testen revolutionieren, indem sie sich wiederholende Aufgaben automatisieren und die Effektivität von Tests verbessern, was bei der Vorhersage und Identifizierung von Fehlern hilft.
Durch die Einführung automatisierter kontinuierlicher Tests und die Nutzung von KI und ML können Automobilhersteller schnell und zuverlässig hochwertige und zuverlässige Software für ihre Autos liefern. Dies wird sicherstellen, 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!
Auch interessant
Wie Finanzteams sichere Benutzerabläufe testen, ohne Kompromisse bei der Sicherheit einzugehen
Bei Finanzanwendungen sind die wichtigsten Aspekte – Authentifizierung, Zugriffskontrolle,…
Warum die meisten Fehler bei Finanzanträgen nicht frühzeitig erkannt werden Release
Ein Kunde öffnet seine Banking-App, um Geld zu überweisen.
Appium und moderne mobile Frameworks: Automatisierungsherausforderungen verstehen
Die mobile Automatisierung hat sich im letzten Jahrzehnt deutlich weiterentwickelt, vor allem…