Zurück zum Magazin

Die eVolution von Tests

Die eVolution von Tests

Von Simon Roy, Mitbegründer von Coherent Laboratories

Simon Roy ist Mitbegründer von Coherent Laboratories, einem neuen Unternehmen, das sich zum Ziel gesetzt hat, die Herausforderungen im Bereich der kontinuierlichen Verifikation zu lösen, mit denen Teams bei der Entwicklung von cutting-Vorteil -Embedded-Systemen konfrontiert sind. Als ehemaliger leitender Firmware- Ingenieur:innen bei Tesla war er an der Konzeption, Implementierung und Serienreife von Motorsteuerungsalgorithmen und Wechselrichter-Firmware für die Fahrzeugpalette des Unternehmens beteiligt.

Der Übergang zur Elektrifizierung – von Elektrofahrzeugen bis hin zu Batteriespeichern im Großmaßstab – ist geprägt von rasanten Innovationen, sich ständig weiterentwickelnden software und der zunehmenden Komplexität cyber-physischer Systeme. Dies zwingt die Embedded- software Ingenieur:innen dazu, immer komplexere software schneller zu liefern und dabei gleichzeitig die für die Entwicklung sicherheitskritischer Systeme erforderliche technische Genauigkeit zu wahren. Unternehmen überdenken daher traditionelle Entwurfsmethoden und führen ein neues Entwicklungsparadigma ein.

Das traditionelle V-Modell der Softwareentwicklung, eine Weiterentwicklung des Wasserfallmodells, zeichnet sich durch seine sequenziellen Entwurfsphasen, seine mehrschichtige Struktur sowie klar voneinander abgegrenzte Entwurfs- und Verifizierungsphasen aus. Es basiert auf einer sorgfältigen Planung dessen, was entwickelt werden soll, wie es entwickelt werden soll und wie es getestet werden soll. Das V-Modell wird in einigen Branchenvorschriften als vorgeschriebene, dem aktuellen Stand der Technik entsprechende Methodik für den Entwurf sicherheitskritischer Systeme vorgeschrieben.

Bei eingebetteten Systemen ( software ) umfassen die Verifikationsphasen in der Regel:

01 –Einheit Tests

Die unterste Ebene der „ Tests “ konzentriert sich auf die kleinsten testbaren Einheiten wie einzelne Funktionen oder Logikblöcke, um eine korrekte Implementierung zu gewährleisten.

02 –Integration und System Tests

Tests die Schnittstellen und Wechselwirkungen zwischen den wichtigsten Teilsystemen oder Komponenten, um sicherzustellen, dass sie zusammenarbeiten.

03 –HIL/SIL Tests

Tests auf Komponentenebene des eingebetteten Systems unter Verwendung von „ Software-in-the-Loop“ (SIL) oder „ Hardware-in-the-Loop“ (HIL)-Testplattformen.

04 –Akzeptanz Tests

Die höchste Stufe der „ Tests “, die die vollständige Produktkonformität bestätigt.

Das V-Modell ermöglicht Designänderungen, wenn während der Verifikation Probleme entdeckt werden. Dieser Prozess beinhaltet die erneute Überprüfung früherer Designphasen, die Aktualisierung aller nachgelagerten Artefakte und die lineare Wiederholung der Testsequenzen. Die späte Erkennung von Designproblemen während der Verifikationsphase kann jedoch zu langen Verzögerungen und kostspieligen Neudesigns führen. Zudem steht die im V-Modell zugrunde gelegte Annahme einer statischen Produktdefinition im Widerspruch zur Dynamik schnelllebiger Umgebungen, und das Bestreben, das Produkt bereits beim ersten Mal korrekt zu entwerfen, kollidiert mit den praktischen Gegebenheiten der Entwicklung eingebetteter Systeme. Nur durch „ Tests “ am physischen Produkt können die Entwürfe „ hardware “ und „ software “ verfeinert werden. Um diese Mängel zu beheben, wird zunehmend ein hybrider „Agile-V“-Ansatz eingesetzt.

Agile-V bewahrt die Makrostruktur und die technische Stringenz des V-Modells und integriert gleichzeitig schnelle agile Iterationen. Indem das Produkt rasch in einen funktionsfähigen Zustand versetzt wird, ermöglicht Agile-V die frühzeitige Erkennung kritischer Probleme im Bereich der „ software “ und der „ hardware “. Zusätzliche „ Funktionen “ und Verbesserungen werden in nachfolgenden Iterationen, auch als „Sprints“ bezeichnet, integriert.
Agile- software -Organisationen setzen diesen Prozess um, indem sie das Konzept der kontinuierlichen Verifizierung nutzen. Innerhalb eines Sprints werden fokussierte Varianten des V-Modells auf einzelne Arbeitselemente angewendet. Sobald diese Änderungen spezifiziert, implementiert und getestet sind, werden sie anhand eines enger gefassten Verifizierungszyklus überprüft, bevor sie in den Code übernommen werden. Sobald die Frist für die Fertigstellung der Funktionen eines Sprints abgelaufen ist, wird der Code in einen Release-Zustand versetzt, in dem nur noch kritische Korrekturen zulässig sind. Die vollständige Verifizierung wird für die Gesamtheit der Änderungen durchgeführt, wodurch das übergeordnete V-Modell für den jeweiligen Sprint effektiv abgeschlossen wird.

Bei eingebetteten Systemen kann die Nichtbeachtung dieser Grundsätze zu kostspieligen Produktionsverzögerungen, Produktrückrufen und nicht funktionsfähigen hardware führen. Damit der Agile-V-Prozess erfolgreich sein kann, müssen die Entwicklungsteams die richtige Kultur, die richtigen Anreize und die richtigen Werkzeuge einführen.

DIE EINFÜHRUNG VON AGILE-V ERFORDERT DIE EINHALTUNG WICHTIGER GRUNDSÄTZE:

  • Halten Sie Anforderungen, Design und Rückverfolgbarkeit auf dem neuesten Stand: Während das Agile-V direkte Änderungen an der Implementierung zulässt, müssen die Komponentenverantwortlichen sicherstellen, dass alle relevanten Design-Artefakte auf dem neuesten Stand bleiben – trotz des Anreizes im Sprint, sich auf die Bereitstellung der unmittelbaren „ Funktionen “ zu konzentrieren. Dadurch werden Verwirrung bei den Beteiligten und Verstöße gegen die Prozessvorschriften vermieden.
  • Erweiterung und Aufrechterhaltung der Testfallabdeckung: Die kontinuierliche Weiterentwicklung und Anpassung der Produkt- software s bedeutet auch, Testfälle entsprechend den geforderten Abdeckungskennzahlen hinzuzufügen und zu aktualisieren.
  • Testautomatisierung maximieren: Eine kontinuierliche Verifizierung erfordert eine hochautomatisierte Infrastruktur für die automatisierte Endabnahme ( Tests ). Wird ein größerer Teil der gesamten Verifizierung bereits vor dem Merge durchgeführt, sinkt die Wahrscheinlichkeit, dass Produktregressionen erst spät im Sprint entdeckt werden. Manuelle Endabnahmen ( Tests ) lassen sich in diesem Paradigma nur schlecht skalieren.

Coherent Laboratories unterstützt Teams dabei, ihre Testabdeckung und Testautomatisierung zu maximieren, indem Testfälle auf HiL- und SiL-Plattformen automatisch generiert werden. Unsere KI-Agenten nutzen die Anforderungen und ein tiefgreifendes Verständnis des zu testenden Geräts, um rückverfolgbare Testfälle zu erstellen und zu pflegen. Dadurch wird Zeit beim Hinzufügen und Aktualisieren von Tests eingespart, sodass software Ingenieur:innen ihren Fokus auf Anforderungen, Design und Implementierung verlagern können.