KI-Einsatz im Software Testing

KI birgt auch für das Quality Engineering in der Software-Entwicklung großes Potenzial, sagt Viktoria Praschl von Tricentis.

Quality Engineering ist für Unternehmen unverzichtbar, um wettbewerbsfähig zu bleiben. Doch während die Anforderungen von Kunden steigen, müssen Testing-Teams immer kürzere Release-Zyklen meistern – bei Cloud-Applikationen oft sogar mehrere Builds am Tag. Um mit diesem Tempo Schritt zu halten, darf die Qualitätssicherung nicht länger erst zum Schluss stattfinden, sondern muss in alle Phasen des DevOps-Prozesses integriert werden. Gefragt ist ein Shift-Left im V-Modell: Indem Unternehmen Qualität bereits bei der Applikationsplanung berücksichtigen, können sie Probleme frühzeitig erkennen und adressieren.

Aber wie lässt sich das angesichts sinkender Budgets und Fachkräftemangel bewältigen? Ohne Testautomatisierung geht es heute nicht mehr. Zunehmend kommt dabei auch künstliche Intelligenz zum Einsatz. 86 Prozent der CIOs betrachten KI bereits als wichtiges Kriterium bei der Auswahl von Qualitätssicherungs-Lösungen, so der Capgemini World Quality Report. Laut einer Studie von TechStrong und Tricentis unter DevOps-Professionals sehen 90 Prozent der Befragten erhebliches Potenzial im Einsatz von KI. Die größten Vorteile erwarten sie im Testing-Bereich. Sechs Beispiele, wie KI Qualitätssicherer schon heute in der Praxis unterstützt.

1. Automatisiertes UI-Testing 

UI-Tests dienen dazu sicherzustellen, dass eine Benutzeroberfläche wie gewünscht funktioniert und eine gute User Experience bietet. Sie sind in der Regel aufwändig und kosten viel Zeit, da sie sich schlecht automatisieren lassen. KI überwindet diese Hürde. Indem sie menschliches Nutzerverhalten simuliert, kann sie UI-Tests selbstständig aus der Anwenderperspektive durchführen.

2. Test Cases aus Mock-up-Designs 

Ein Shift-Left-Ansatz ist insbesondere beim UI-Testing schwierig. Denn in der Regel können Tester erst mit der Testautomatisierung beginnen, wenn die Benutzeroberfläche vollständig entwickelt ist. Dadurch verlangsamt sich die Freigabe. KI kann Test Cases dagegen bereits aus dem Mock-up-Design einer Applikation erstellen. Das ermöglicht es, schon UI-Test Cases zu entwerfen, bevor die Benutzeroberfläche überhaupt existiert. Dieselben Tests lassen sich später auf die vollständig entwickelte Anwendung übertragen. 

3. Automatisiertes Visual Testing 

Visual Testing dient dazu, sicherzustellen, dass eine Benutzeroberfläche auf verschiedenen Endgeräten funktioniert. Indem man einen Basis Screenshot mit einem zukünftigen Screenshot vergleicht, lassen sich Probleme aufdecken, die bei funktionellen Tests auf DOM-Ebene (Document Object Model) nicht erkannt werden. Eine KI kann Visual Testing automatisieren. Voraussetzung ist, dass man ihr beibringt, auf welche visuellen Hinweise sie achten soll. 

4. Stabilere, plattformunabhängige Tests

Schon eine kleine Änderung an einer Applikation kann dazu führen, dass die Objektidentifizierung nicht mehr funktioniert und Tests abbrechen. Qualitätssicherer müssen ihre Automatisierungsskripte daher kontinuierlich überprüfen und anpassen. Das ist aufwändig und treibt die Wartungskosten in die Höhe. Eine KI kann UI-Tests dagegen ohne technische Identifikatoren automatisieren. Sie erkennt Objekte mithilfe von neuronalen Netzen auf der visuellen Ebene der Benutzeroberfläche. So können keine Probleme mehr durch abgebrochene Bezüge zwischen Objekten und Identifikatoren entstehen. Die visuelle KI macht die Test Cases zudem unabhängig von der darunter liegenden Technologie. Dadurch lassen sich Tests plattformübergreifend verwenden, egal, ob eine Applikation auf einem Windows-, Android-, Apple- oder Cloud-System läuft.

5. Intelligente Fehlersuche und Selbstheilung

Einen Großteil ihrer Zeit verbringen Tester mit Fehlersuche. Wenn ein Test abbricht, müssen sie in mühevoller Kleinarbeit ermitteln, warum er nicht funktioniert. KI kann die Daten von fehlgeschlagenen Tests dagegen automatisiert analysieren und häufige Fehlermuster erkennen. Im Anschluss kann sie gängige Probleme – etwa fehlerhafte Bezüge ­– sogar automatisiert reparieren.

6. Risiken priorisieren und Test Cases generieren

Um das Testing möglichst effizient zu gestalten, ist es wichtig, zielgerichtet die Bereiche zu testen, die das größte Risiko darstellen. In der Praxis fehlt diese Transparenz häufig. Viele Unternehmen testen daher nach dem Gießkannenprinzip und sammeln eine aufgeblähte Testsuite an, die immer langsamer wird. Dabei decken sie aber nur 20 bis 40 Prozent ihrer Geschäftsrisiken ab. Eine KI kann eine automatisierte Impact-Analyse durchführen, um die größten Risiken zu identifizieren. So unterstützt sie Qualitätssicherer dabei, die wichtigsten Tests zu priorisieren und das Richtige zu testen. Außerdem kann die KI auch automatisiert Test Cases entwerfen und eine optimale Testabdeckung erzielen. 

Fazit: KI verschafft Wettbewerbsvorteile

Um eine ganzheitliche Quality-Engineering Strategie umzusetzen, brauchen Unternehmen bestmögliche technische Unterstützung. KI hilft dabei, Testautomatisierung bereits in einer frühen Phase in die DevOps-Prozesse zu integrieren. Am besten lässt sich die neue Technologie mit einer Low-Code/No-Code-Plattform einführen. Viktoria Praschl, VP Sales Central Europe bei Tricentis, fasst zusammen: „Der Einsatz von KI wird für Qualitätssicherer zum Wettbewerbsvorteil. Sie können damit mehr Fehler und Probleme erheblich früher aufdecken und so den gesamten Prozess von der Entwicklung bis zur Bereitstellung beschleunigen. Indem intelligente Algorithmen menschliche Mitarbeiter entlasten und Komplexität reduzieren, gewinnen Testing-Teams mehr Zeit für strategische Aufgaben.

 

Viktoria Praschl

ist VP Sales Central Europe bei Tricentis.