KI im Software Testing
Während die Anforderungen von SAP-Anwendern steigen, müssen Testing-Teams immer kürzere Re-leasezyklen 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.
CIOs setzen auf KI
86 Prozent der CIOs betrachten KI bereits als wichtiges Kriterium bei der Auswahl von Qualitätssicherungslö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.
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.
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.
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.
Schon eine kleine Änderung an einer Applikation kann dazu führen, dass die Objekt-identifizierung 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.
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.
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.
DevOps und Low-Code mit KI
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.
Um eine ganzheitliche Quality-Engineering-Strategie umzusetzen, brauchen Unternehmen bestmögliche technische Unterstützung. KI hilft dabei, Test-automatisierung 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, siehe auch die E3-Coverstory in über das Thema.