Mit Künstlicher Intelligenz Softwaretests schneller automatisieren
Softwaretests sind aufwendig und werden darum immer öfter automatisiert durchgeführt. Eine KI-basierte Lösung von IAV beschleunigt diesen Prozess: Sie übernimmt die Erstellung von Testskripts aus den manuellen Testbeschreibungen und erreicht eine hohe Genauigkeit bei der Auswahl der Automatisierungs-Komponenten. Als Teil eines modularen Baukastens von Tools soll sie die Arbeit der Testexperten in Zukunft deutlich effizienter machen.

«Wir haben uns darum zum Ziel gesetzt, die Realisierung von Testautomatisierung mit Hilfe Künstlicher Intelligenz spürbar zu beschleunigen.»
— Teamleiter Software Test Automation & Data Quality bei IAV
Die IAV-Lösung lernt aus bekannten Testfallbeschreibungen und den dazu korrespondierenden Testskripts, wie sie später aus einem ihr unbekannten Text die passenden Komponenten für die automatischen Tests auswählen kann. So kann eine einfache Testausführung zum Beispiel darin bestehen, eine Web-Applikation zu starten, den Usernamen und das Passwort einzugeben und danach den Login-Knopf zu drücken. Den einzelnen Schritten „Applikation starten“, „Username eingeben“, „Passwort eingeben“ und „Login-Knopf drücken“ entsprechen dabei fest vorgegebene Komponenten eines Automatisierungsskriptes. Das IAV-Werkzeug stellt die automatisch vorhergesagten Komponenten in einem einfach zu bedienenden Editor dar.
Hohe Trefferquote durch Machine Learning
Bisher musste ein menschlicher Experte diese Komponenten manuell aus einer Bibliothek mit Dutzenden von Komponenten auswählen und korrekt zusammenstellen. Die neue IAV-Lösung hat es in ersten Tests durch überwachtes Lernen geschafft, für rund die Hälfte aller Testfälle die benötigten Skript-Bestandteile selbstständig korrekt zu bestimmen. Bei der anderen Hälfte lag die KI bereits nahe am gewünschten Ergebnis, sodass nur geringe manuelle Nacharbeiten durch die Experten nötig waren.
„Das ist ein sehr gutes Ergebnis, weil wir es bei der automatischen Generierung von Testautomatisierung mit einer besonders schwierigen Aufgabe für das Machine Learning zu tun haben“, erklärt Lachmann. „Einerseits verwenden verschiedene Tester unterschiedliche Begriffe für die gleichen Schritte, zudem machen uns Tippfehler das Leben schwer. Solche Schwierigkeiten können wir durch Natural Language Processing – also die automatische Aufbereitung der Texte – nur begrenzt beheben. Andererseits kommt hinzu, dass einem Schritt beim Testen beliebig viele Skript-Komponenten entsprechen können – wir es also nicht mit einer 1:1-Beziehung, sondern mit einem Multi-Label-Problem zu tun haben.“

Kundenprojekte für die Weiterentwicklung des Tools gesucht
Die neue Lösung verspricht, den Testprozess in Zukunft deutlich zu beschleunigen. „Insbesondere Mitarbeiter mit wenig Erfahrung sparen viel Zeit beim Suchen nach den passenden Komponenten und können darum schnell sehr effektiv arbeiten“, so Lachmann. „Im nächsten Schritt wollen wir direkt aus den schriftlichen Anforderungen der Kunden automatisch Testfälle erzeugen, was den Testerstellungsprozess noch mehr beschleunigt.“
Um die Testautomatisierung weiter voranzutreiben, suchen Lachmann und seine Kollegen derzeit nach Kunden, die an gemeinsamen Pilotprojekten interessiert sind. „Jeder hat andere Anforderungen und Randbedingungen“, so der IAV-Experte. „Je mehr Beispiele wir aus der Praxis bei der Entwicklung unseres neuen Tools berücksichtigen können, desto präziser steigern wir die die Qualität unserer Lösung.“
«Wir wollen den menschlichen Experten nicht ersetzen, aber seine Effizienz deutlich steigern, damit er sich um wichtigere Dinge kümmern kann.»
— Teamleiter Software Test Automation & Data Quality bei IAV
Ziel des IAV-Teams ist ein modularer Baukasten aus Lösungen, zu denen neben der KI-basierten Testautomatisierung auch das Tool IAV Scout für die automatische Priorisierung von Softwaretests gehört. „Wir wollen den menschlichen Experten nicht ersetzen, aber seine Effizienz deutlich steigern, damit er sich um wichtigere Dinge kümmern kann“, fasst Lachmann zusammen. „Unser Ansatz hat bereits viel Interesse geweckt. Er eignet sich nicht nur für Automotive-Anwendungen, sondern für Softwaretests in allen Bereichen.“
Der Artikel erschien in der automotion 03/2020, dem Automotive Engineering-Fachmagazin von IAV. Hier können Sie die automotion kostenfrei bestellen.