In der sich rasant entwickelnden Welt der Softwareentwicklung gewinnen automatisierte Tests immer größere Bedeutung, insbesondere End-to-End-Tests (E2E), die sicherstellen, dass Benutzeroberflächen (UI) wie gewünscht funktionieren. Mit dem Aufkommen großer Sprachmodelle (Large Language Models, LLMs) wie ChatGPT stellt sich die Frage, ob diese KI-gestützten Werkzeuge den Testprozess revolutionieren können. Besonders spannend ist die Anwendung von LLMs bei UI-End-to-End-Tests und welche Erfahrungen Entwickler und Testteams damit gemacht haben. Traditionell setzen Entwickler bei UI-E2E-Tests auf Tools und Frameworks, die auf deklarativen Szenarien basieren, etwa Cucumber mit seiner Gherkin-Syntax, die das Verhalten sauberespezifiziert. Solche Tests sind gut dokumentiert, aber auch zeitaufwendig in der Erstellung und Wartung.
Die Pflege dieser Tests kann dabei oft anstrengend werden, besonders wenn UI-Elemente häufig geändert werden oder unvorhergesehene Interaktionen auftreten. Die Integration von LLMs in diesen Bereich eröffnet neue Möglichkeiten. Große Sprachmodelle verfügen über beeindruckende Fähigkeiten im Verständnis natürlicher Sprache und können automatisiert Testskripte erzeugen oder sogar direkte Interaktionen mit der UI simulieren. Entwickler berichten, dass LLMs den Testprozess in einigen Phasen beschleunigen können. Das Modell kann beispielsweise Vorschläge für Testfälle liefern, Szenarien paraphrasieren oder Fehlerberichte verständlicher machen.
Ein Nutzer namens pledess berichtete auf Hacker News, dass sie kurz nach Veröffentlichung von ChatGPT begannen, das Modell als zusätzlichen Schritt in ihrem UI-Testprozess zu verwenden. Diese ergänzende Nutzung von LLMs habe vor allem die Feedbackschleife beschleunigt. Anstatt reine manuelle oder traditionelle automatisierte Testskripte auszuführen und auf die Resultate zu warten, erhalte man schneller Hinweise und mögliche Problemstellen. Dies kann den Entwicklern frühzeitig helfen, Fehler zu erkennen und zu beheben. Allerdings sind LLMs bei dieser Anwendung nicht ohne Herausforderungen.
Ein zentrales Problem ist die sogenannte Fehlerkaskade. Wenn das Sprachmodell bei komplexen UI-Features eine falsche Annahme trifft oder „falsch abbiegt“, fällt es ihm schwer, von selbst zurückzugehen und den Fehler selbstständig zu korrigieren. Im Gegensatz zum deterministischen Verhalten klassischer Testframeworks sind LLMs probabilistisch und können fehlerhafte oder ungenaue Ergebnisse liefern. Das bedeutet, dass sie traditionelle Tests nicht vollständig ersetzen, sondern eher ergänzen. Darüber hinaus können LLMs manchmal zu „überambitioniert“ agieren.
Sie versuchen, fortgeschrittene und verschachtelte UI-Zustände zu interpretieren, die möglicherweise gar nicht notwendig sind, was zu unnötigen oder falschen Testschritten führt. In der Praxis sollten Tester daher sorgfältig prüfen, welche Testabschnitte sinnvoll durch KI unterstützt und wo man besser auf bewährte Methoden setzt. Die Frage, ob LLM-basierte Tests besser sind als herkömmliche Cucumber- oder Feature-Tests, lässt sich nicht pauschal beantworten. Vielmehr zeigt sich, dass es auf das Einsatzszenario und die Zielsetzung ankommt. In agilen Teams mit hohen Release-Frequenzen können LLMs helfen, schnell grobe Testideen zu generieren und die Testabdeckung zu erweitern.
In stark regulierten Branchen oder bei sicherheitskritischen Anwendungen sind jedoch klassische, bewährte Testskripte weiterhin essenziell. Die Kombination aus menschlicher Expertise und KI-Unterstützung scheint der Schlüssel zu einer erfolgreichen Teststrategie zu sein. Entwickler sollten LLMs als Werkzeug betrachten, das repetitive Aufgaben abnimmt, erste Analysen beschleunigt und Inspiration für neue Testfälle liefert, ohne die finale Qualitätssicherung allein darauf zu stützen. Neben direkten Feedbackvorteilen profitieren Teams auch von der vielseitigen Textverarbeitung der LLMs. Vorhandene Testdokumentationen, Stakeholder-Anforderungen oder Fehlerbeschreibungen können effizient aufbereitet und mit Testskripten verknüpft werden, was die gesamte Kommunikation im Testzyklus verbessert.