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.

Testautomatisierung wird immer wichtiger: Viele Unternehmen setzen bei der Qualitätssicherung von Software auf maschinelle Hilfe, weil sich dadurch die Effizienz steigert und die Testausführung beispielsweise selbstständig über Nacht laufen kann. Im Vergleich zur manuellen Abarbeitung spart man dadurch wertvolle Zeit und die Kosten lassen sich vor allem bei wiederholten Tests senken. Die Automatisierung von Softwaretests ist aber keine triviale Aufgabe: „Man braucht dazu in der Regel viel Expertenwissen und fundierte Programmierkenntnisse“, erklärt Dr. Remo Lachmann, Teamleiter Software Test Automation & Data Quality bei IAV.

Außerdem ergibt sich im Zuge des Projektfortschrittes immer wieder Anpassungsbedarf bei den Tests. So können die maschinellen Testabläufe zum Beispiel durch Änderungen in der Software gestört werden. Gerade in Black-Box-Tests, wo der Tester den Quellcode der Software nicht kennt, erhöhen solche Probleme den Aufwand für die Automatisierung weiter.

automotion mit künstlicher intelligenz softwaretests

«Wir haben uns darum zum Ziel gesetzt, die Realisierung von Testautomatisierung mit Hilfe Künstlicher Intelligenz spürbar zu beschleunigen.»

Dr. Remo Lachmann — 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.“

fokus test script gen tool
Der intelligente Testfall-Editor beschleunigt mittels Machine Learning die Testskripterstellung

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.»

Dr. Remo Lachmann — 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.

Bleiben Sie auf dem Laufenden.

Anmeldung zum Newsletter