Chancen und Grenzen des KI-Einsatzes KI in der Embedded-Testentwicklung

Von Enrico Schulz* 5 min Lesedauer

Egal ob Start-up oder etabliertes Industrieunternehmen: Das Erstellen von Testspezifikationen und Testfällen ist meist mit einem hohen Zeitaufwand verbunden und es stehen häufig nicht ausreichend personelle Ressourcen dafür zur Verfügung. Vor diesem Hintergrund stellt sich die Frage, in welchen Bereichen Künstliche Intelligenz (KI) die Testentwicklung sinnvoll unterstützen kann.

KI-Agenten können Entwickler beim Testen von Embedded-Systemen auf mehreren Ebenen unterstützen. Welche Bereiche profitieren hier besonders – und worauf sollte man an diesen Stellen besonders achten?(Bild:  emintes)
KI-Agenten können Entwickler beim Testen von Embedded-Systemen auf mehreren Ebenen unterstützen. Welche Bereiche profitieren hier besonders – und worauf sollte man an diesen Stellen besonders achten?
(Bild: emintes)

Das Start-up emintes hat verschiedene Ansätze evaluiert, weiterentwickelt und hinsichtlich ihrer Praxistauglichkeit bewertet. Dabei zeigte sich, in welchen Anwendungsfällen KI einen Mehrwert bietet, aber auch, wo ihre aktuellen Grenzen liegen.

Es wurden mehrere spezialisierte KI-Agenten für unterschiedliche Aufgaben innerhalb der Testentwicklung konzipiert. Anforderungsanalyse, Erstellung von Testspezifikationen und Implementierung von Tests.

Schritt 1: Klare Anforderungen

Die wichtigste Grundlage für Tests sind klare Anforderungen. Oft fehlen in den Anforderungen Details, beispielsweise zum Verhalten bei Fehlbedienung oder bei Kommunikationsfehlern an der Kommunikationsschnittstelle. Bei komplexen Geräten kommt es mitunter auch zu Widersprüchen zwischen verschiedenen Anforderungen.

Klare Anforderungen sind jedoch eine wichtige Grundvoraussetzung, um ein Projekt effizient umsetzen zu können. Sie reduzieren die Anzahl der Rückfragen während der Implementierung und sind gleichzeitig eine wichtige Grundlage für die späteren Tests.

Bild 1: Einsatz eines KI-Agenten bei der Analyse eines Lastenhefts zur Prüfung der Anforderungen.(Bild:  emintes)
Bild 1: Einsatz eines KI-Agenten bei der Analyse eines Lastenhefts zur Prüfung der Anforderungen.
(Bild: emintes)

Mithilfe von KI können Definitionslücken (unklares Verhalten – was soll passieren, wenn …?) sowie eventuelle Widersprüche zwischen einzelnen Anforderungen hervorgehoben werden.

Beispiel: In einem vorliegenden Anforderungsprofil wurde die Pinbelegung für einen Stecker auf der Platine wie folgt festgelegt:
Pin 1: +5V
Pin 2: GND
Pin 3: PWM-Ausgang

Im Software-Teil der Anforderungen stand, dass das PWM-Signal mit handelsüblichen RC-Servos kompatibel sein soll.

Der KI-Agent hat hier darauf hingewiesen, dass handelsübliche RC-Servos häufig GND auf Pin 1 und V+ auf Pin 2 haben. Der Anschluss eines solchen Servos würde demnach nicht direkt funktionieren. Das heißt nicht zwingend, dass hier ein Fehler vorliegt, aber es lohnt sich, noch einmal darüber nachzudenken, ob aus Kompatibilitätsgründen eine andere Pinbelegung eventuell sinnvoll wäre.

Das frühzeitige Erkennen solcher potenziellen Fehler in den Anforderungen hilft dabei, diese Fragen frühzeitig abzuklären. Das verhindert zum einen ständige Rückfragen während der Umsetzung und deckt zum anderen sehr frühzeitig versteckte Mehraufwände auf, die sonst oft erst während der Umsetzung erkannt werden.

LLMs sind besonders gut darin Texte zu verarbeiten – deshalb sind sie für diese Aufgabe sehr gut geeignet. Besonders beeindruckend ist dabei die Geschwindigkeit: Ein 80-seitiges Anforderungsprofil ist bereits in wenigen Minuten vollständig analysiert. Der Zeitaufwand hierfür ist minimal und man erhält sehr schnell einen Überblick. Es lohnt sich deshalb in jedem Fall, die Dokumente einmal von der KI durchscannen zu lassen.

Schritt 2: Testspezifikation erstellen

Eine vollständige Beschreibung der Anforderungen erklärt sehr gut, was das Gerät oder die Schaltung machen soll. Jede einzelne Funktion wird klar beschrieben. Deshalb lassen sich aus diesem Dokument auch sehr gut Tests ableiten. Steht in den Anforderungen zum Beispiel: „Bei Erreichen der Endlage soll die LED für zwei Sekunden aufleuchten.“, so kann daraus direkt ein Testablauf erstellt werden:

Vorbedingung: Grundstellung, LED aus
Testablauf:
1. Endlage anfahren und halten
2. LED-Verhalten überprüfen
3. Nach drei Sekunden zurück zur Grundstellung
Erwartung: LED leuchtet für zwei Sekunden +/- 5 %

Auf diese Weise lassen sich viele Anforderungen direkt in eine Testspezifikation überführen. Dieser Prozess lässt sich mithilfe von LLMs sehr gut automatisieren.

Bild 2: Abgleich der Lastenheft- und Pflichtenheftinhalte zur Erstellung von Testspezifikationen.(Bild:  emintes)
Bild 2: Abgleich der Lastenheft- und Pflichtenheftinhalte zur Erstellung von Testspezifikationen.
(Bild: emintes)

Im Lastenheft sind teilweise nicht alle technischen Details beschrieben. Die genaue Umsetzung wird typischerweise erst im Pflichtenheft beschrieben. Deshalb lassen sich auch aus dem Pflichtenheft wichtige Details für die Tests ableiten. Die KI-Lösung von emintes erlaubt es, neben den Anforderungen (Lastenheft) auch das Pflichtenheft als Input zu verwenden. Aus diesen Dokumenten entwirft der KI-Agent dann eine Testspezifikation mit mehreren klar definierten Testfällen. Zusätzlich wird vorgeschlagen, welche Signale für die Tests relevant sind und an welchen I/Os der Testbox diese angeschlossen werden sollten.

In der Praxis hat sich gezeigt, dass etwa 80 Prozent der erzeugten Testfälle sinnvoll und korrekt sind. Bei den übrigen Testfällen wurde beispielsweise das erwartete Ergebnis nicht korrekt beschrieben oder der Ablauf enthielt kleine Fehler, sodass das erwartete Ergebnis nicht erreicht werden kann. Diese Fehler fallen spätestens bei der Testdurchführung auf. Es ist jedoch besser, sich die automatisch generierte Testspezifikation selbst einmal gewissenhaft durchzulesen und fehlerhafte Punkte direkt zu korrigieren.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Das automatische Erstellen der Testspezifikation dauert nur wenige Minuten. Das Ergebnis stellt eine solide Grundlage für eine Testspezifikation dar. Auch wenn man dieses Dokument noch einmal selbst gewissenhaft durchschauen muss, ist man mit der KI-Lösung am Ende schneller bei einer fertigen Testspezifikation angekommen als wenn man diese von einem leeren Template aus selbst schreibt.

Schritt 3: Testcode erstellen

Bild 3: Unterstützung bei der Generierung von Testcode und Dokumentation.(Bild:  emintes)
Bild 3: Unterstützung bei der Generierung von Testcode und Dokumentation.
(Bild: emintes)

Die Testdefinition beschreibt die Testabläufe bereits sehr gut. Um daraus Testcode erzeugen zu können, bedarf es eines speziellen KI-Agenten der sämtliche Befehle des verwendeten Testframeworks als Wissensbasis zur Verfügung hat und auf das Schreiben von Code spezialisiert ist. Damit ist es relativ einfach, die beschriebenen Abläufe in Testcode zu überführen. Neben dem Testcode kann auch ein Vorschlag für die Anschlussbelegung am Testsystem erstellt werden. Zusätzlich wird eine separate Datei erzeugt, die alle Prüfgrenzen enthält, sodass diese vom Nutzer sehr einfach angepasst werden können.

Praxiserfahrung: In der Regel erstellen LLMs, die auf das Coding spezialisiert sind, auf Anhieb lauffähigen Testcode. Nur in seltenen Fällen schleichen sich Fehler ein, beispielsweise wenn eine falsche Variable benutzt oder ein Übergabeparameter einer Funktion falsch verwendet wird. Die Umsetzung der Testfunktionen in Code ist in etwa 80 bis 90 Prozent der bisher getesteten Fälle korrekt. Die meisten fehlerhaften Fälle konnten sehr schnell entdeckt werden, da die Fehler zu einem „Failed“-Ergebnis führten. Dadurch erkennt man sehr schnell, an welcher Stelle noch einmal genauer hingeschaut werden muss. In der Regel sind ein bis zwei Minuten Nacharbeit pro Testfall notwendig, bis alle Tests zufriedenstellend laufen.

Fazit

KI kann im Testentstehungsprozess an vielen Stellen hilfreich sein. Allerdings ist einiges an Know-how erforderlich, um einen KI-Agenten so zu gestalten, dass er seine Aufgabe auch zufriedenstellend umsetzt. Deshalb hat emintes eine Lösung geschaffen, bei der der Nutzer keine Prompts schreiben muss, wodurch der Prozess so weit wie möglich vereinfacht wird.

Dennoch muss man sagen, dass die KI nicht perfekt ist. Immer wieder schleichen sich kleinere Fehler ein. Deshalb ist am Ende immer ein Experte notwendig, der die Dinge versteht und bewerten kann. Den Experten ersetzt die KI also keineswegs, hilft aber dabei Zeit zu sparen.

Interessierte Anwender können aktuell die Lösung im Rahmen eines Pilotprojekts erproben. Mehr Informationen auf der Webseite des Anbieters.

Dieser Artikel stammt von unserem Partnerportal Embedded Software Engineering.

* Enrico Schulz ist Geschäftsführer der emintes GmbH

(ID:50679290)