kiteto logo
KI und Testautomatisierung: Fallstricke bei der Generierung von End-to-End-Tests

KI und Testautomatisierung: Fallstricke bei der Generierung von End-to-End-Tests

Georg Dörgeloh 20. Mai 2025

Als Business Experte wie etwa als Business Analyst oder Product Owner hast du es wahrscheinlich schon erlebt: Du beschreibst einen klaren Testfall für deine Anwendung und denkst dir: “Das kann doch nicht so schwer sein… man klickt einfach hier, gibt dort etwas ein und prüft das Ergebnis.” Im Sprint Planning später erfährst du, dass der Entwicklungsaufwand für die Testautomatisierung viel zu hoch ist und aus Zeitnot wird die Umsetzung gestrichen oder zumindest stark vereinfacht.

Und dann kam ChatGPT. Plötzlich dachten wir alle: “Die KI kann das ja für mich lösen!” Endlich würden wir uns nicht mehr mit flakigen Tests, CSS-Selektoren und den ständigen “Trial & Error”-Loops herumschlagen müssen.

Aber wie so oft steckt der Teufel im Detail. In diesem Artikel zeige ich dir, warum KI zwar ein Game-Changer für die Testautomatisierung sein kann, aber eben kein magischer Zauberstab ist – und was du tun kannst, um die tatsächlichen Vorteile zu nutzen, ohne in die typischen Fallen zu tappen.

Warum wir alle von KI-gesteuerten Tests träumen

Bevor wir in die technischen Details eintauchen, lass uns kurz darüber nachdenken, warum wir überhaupt KI für Tests einsetzen wollen. Der Grund ist einfach: End-to-End-Tests sind unglaublich wertvoll, aber gleichzeitig extrem zeitaufwändig.

Das eigentliche Dilemma liegt in dem, was ich die “Experten-Programmier-Lücke” nenne. Als Business Analyst oder Product Owner weißt du genau, wie die Anwendung funktionieren soll. Du kennst die Geschäftsprozesse, Anforderungen und Nutzungsszenarien besser als jeder Entwickler. Du könntest die besten Testfälle definieren – doch mangelnde Programmierkenntnisse machen dich abhängig von Entwicklern, die oft andere Prioritäten haben. Wie dieser Artikel über Testautomatisierung zeigt, liegt die größte Herausforderung für Business Experten nicht im “Was”, sondern im “Wie”. “Wie” kann ich als Business Experte meine Abnahmekriterien in automatisierte Testskripte umwandeln?

Um diese Lücke zu überbrücken, müssen wir zuerst verstehen, was einen qualitativ hochwertigen E2E-Test aus technischer Sicht ausmacht. Idealerweise sollte er:

Und wie kann ich das mit KI umsetzen?

Die drei Wege, wie KI deine Tests (vielleicht) retten kann

1. Der Code-Generator-Ansatz: “Schreib mir mal einen Test!”

Der wohl naheliegendste Ansatz ist, ein LLM zu bitten, einen Testcode zu generieren. Das kann über allgemeine Assistenten wie ChatGPT oder Claude geschehen, aber auch direkt in der Entwicklungsumgebung mit Tools wie Cursor, GitHub Copilot oder ähnlichen KI-gestützten Code-Editoren. Man beschreibt einfach, was getestet werden soll, und die KI spuckt den fertigen Playwright-, Cypress- oder Selenium-Code aus.

// Von KI generierter E2E-Test
test('Benutzer kann sich einloggen und Profil aktualisieren', async ({
  page,
}) => {
  await page.goto('https://example.com');
  await page.fill('input[name="username"]', 'testuser');
  await page.fill('input[name="password"]', 'password123');
  await page.click('button[type="submit"]');
  await page.waitForNavigation();
  // und so weiter...
});

Funktioniert das? Teils, teils. Moderne KI-Editoren wie Cursor können sogar den existierenden Quellcode der Anwendung einsehen und berücksichtigen. Für Entwickler, die bereits mit dem Code vertraut sind, kann dieser Ansatz durchaus brauchbare Ergebnisse liefern.

Die Probleme: Für Business Analysten und Product Owner ist dieser Ansatz kaum zugänglich. Außerdem gibt es selbst für Entwickler erhebliche Einschränkungen:

Es ist, als müsstest du jemandem am Telefon erklären, wie er ein kompliziertes IKEA-Möbelstück zusammenbauen soll – selbst mit der Bauanleitung fehlt dir der räumliche Eindruck, den du vor Ort hättest.

2. Der Vollzeit-KI-Tester: “Lass die KI den Browser steuern!”

Der nächste logische Schritt: Lass die KI selbst testen! In diesem Ansatz erhält ein LLM die Kontrolle über einen Browser, bekommt einen Testfall in natürlicher Sprache und führt diesen selbständig aus.

Die KI sieht den Bildschirm (per Screenshot), analysiert das DOM und entscheidet bei jedem Schritt, was als Nächstes zu tun ist. Bei jedem Testlauf wird dieser Prozess wiederholt.

Funktioniert das? Überraschenderweise: ja, erstaunlich gut! Moderne LLMs wie GPT-4 mit Vision oder Claude können tatsächlich durch komplexe Webseiten navigieren. Für Business Analysten und Product Owner ist dies besonders attraktiv, da man Tests in natürlicher Sprache beschreiben kann, ohne Code zu schreiben.

Die Probleme: So beeindruckend dieser Ansatz auch ist, er hat gravierende praktische Nachteile:

Es ist, als hättest du einen brillanten, aber sehr langsamen und teuren QA-Mitarbeiter eingestellt, der bei jedem Testlauf wieder bei null anfangen muss und nie aus früheren Tests lernt.

3. Der Hybrid-Ansatz: “Lass die KI Tests aufzeichnen, dann führen wir sie aus!”

Der dritte Ansatz kombiniert die Stärken der KI mit der Effizienz konventioneller Testautomatisierung:

  1. Die KI führt den Test einmalig aus und zeichnet alle Aktionen auf
  2. Diese Aktionen werden in klassischen Testcode übersetzt
  3. Bei zukünftigen Ausführungen wird dieser Code ohne KI verwendet
  4. Bei UI-Änderungen kann die KI den Test bei Bedarf neu generieren

Funktioniert das? Dieser Ansatz bietet einen guten Kompromiss und bietet besonders für Business Analysten und Software-Tester spannende Möglichkeiten: Du beschreibst Tests in natürlicher Sprache, die KI übernimmt die technische Umsetzung, und das Ergebnis kann ohne weitere KI-Kosten immer wieder ausgeführt werden. Bei Änderungen an der Anwendung kannst du die Tests durch die KI aktualisieren lassen, ohne selbst programmieren zu müssen.

Die Herausforderungen: Die Übersetzung von KI-Aktionen in robusten, wartbaren Testcode ist nicht trivial und erfordert technisches Know-how. Ein gutes Tool für diesen Ansatz sollte dir als Product Owner oder Business Analyst eine einfache Möglichkeit bieten, Tests zu überprüfen, zu bearbeiten und zu verwalten, ohne mit dem eigentlichen Code in Berührung zu kommen.

Die “Haben wir uns überschätzt?”-Phase: Drei überraschende Probleme der KI-Testautomatisierung

Als Product Owner oder Business Analyst hast du jetzt vielleicht schon euphorisch verkündet: “Mit KI können wir unsere Testabdeckung verdreifachen und brauchen weniger Entwicklerressourcen!” Doch wer bereits mit KI-gesteuerten Tests experimentiert hat, kennt das ernüchternde Gefühl, wenn die anfängliche Begeisterung verfliegt. Hier sind die drei häufigsten Problemfelder, die auch ohne technisches Detailwissen verständlich sind:

1. Die Kontextfalle: Wenn der KI der Kopf platzt

LLMs haben ein begrenztes Kontextfenster. Bei einer komplexen Webseite kann allein das DOM mehrere MB groß sein. Füge Screenshots, ausgeführte Aktionen hinzu, und wiederhole diesen Vorgang mehrmals, dann übersteigst du schnell jedes Kontextlimit.

KI: "Sorry, ich kann mich nicht mehr erinnern, was wir eigentlich testen wollten..."

Es ist, als würdest du versuchen, ein komplexes Schachspiel zu spielen, aber du darfst dir nur die letzten drei Züge merken.

2. Die Wahrnehmungslücke: “Ich sehe was, was du nicht siehst”

Ein faszinierendes Problem: Die KI sieht einen Suchbutton mit Lupen-Icon, aber im DOM steht nichts von “Suche” oder “Lupe” – nur ein SVG ohne semantische Bedeutung. Woher soll ich wissen, welches DOM-Element welches Screenshot-Element repräsentiert?

3. Die Identifikationshürde: “Wie nennt man das jetzt eigentlich?”

Wenn die KI ein Element korrekt zugeordnet hat, muss sie es als Nächstes korrekt identifizieren. Sie muss der Browser-API irgendwie sagen, klicke auf genau dieses Element. Dieser Selektor sollte außerdem nicht nur dieses Mal, sondern jedes Mal eindeutig und stabil sein. Nur so kann mit diesem Selektor ein Skript aufgezeichnet werden, das zuverlässig läuft und nicht bei der kleinsten UI-Änderung wieder zerbricht.

Fortschrittliche Lösungsstrategien

Wie überwinden wir diese Hürden? Hier kommen die wirklich interessanten Ansätze ins Spiel:

1. Multi-Agent-Architektur gegen die Wahrnehmungslücke

Anstatt einen einzelnen KI-Agenten mit allem zu belasten, können wir spezialisierte Agenten einsetzen:

Die Herausforderung ist, die Kommunikation zwischen diesen Agenten effizient zu gestalten. Es ist wie in einem Team: Mehr Spezialisierung bedeutet mehr Kommunikationsaufwand. Eine gute KI-Testautomatisierung ist genau darauf ausgelegt, die verschiedensten Agenten optimal zu orchestrieren.

2. Intelligente Kontextoptimierung

Um das Kontext Problem in den Griff zu bekommen, muss der Kontext effektiv komprimiert werden, ohne dabei wichtige Informationen zu verlieren. Statt den gesamten DOM zu verarbeiten, können wir unwichtige Attribute oder Elemente entfernen und nur relevante Teile des DOMs übergeben. Statt des vollständigen DOMs könnte die KI nur mit einem “semantischen DOM” arbeiten, der die wichtigsten Elemente enthält.

Außerdem braucht das LLM nicht wie im typischen KI-Chat bei jedem Request den gesamten Chatverlauf. Schritte, Überlegungen und Ergebnisse können zusammengefasst und kompakt formuliert werden.

3. Robuste Selektorstrategien

Um vernünftige Selektoren zu generieren, muss eine Strategie oder ein Algorithmus her, welcher basierend auf einer definierten Priorität zuverlässig den besten Selektor ermittelt. In etwa so:

  1. Suche zuerst nach data-testid Attributen (ideal, wenn vorhanden)
  2. Verwende semantische Attribute wie Labels, Aria-Rollen, etc.
  3. Nutze relative Positionen zu bekannten Elementen
  4. Nur als letzten Ausweg: absolute Positionen oder komplexe XPath-Selektoren

Die Zukunft: Wohin geht die Reise?

Wer diese und weitere Herausforderungen meistert, kann die Zukunft in Angriff nehmen, welche wirklich spannende Entwicklungen mit sich bringt, die besonders für Business Analysten und Product Owner interessant sind:

Stell dir vor, du könntest als Product Owner nach jeder User Story-Erstellung mit einem Klick automatisch E2E-Tests generieren und laufen lassen, ohne auf Entwickler oder QA-Ressourcen zu warten!

Fazit: KI als Werkzeug zur Überbrückung der Experten-Programmier-Lücke

Die Testautomatisierung mit KI ist keine Zauberlösung, die auf Knopfdruck perfekte Tests generiert. Vielmehr ist sie ein mächtiges Werkzeug, das die “Experten-Programmier-Lücke” überbrücken kann - wenn wir ihre Grenzen verstehen und richtig damit umgehen:

Als Business Analyst oder Product Owner bist du der Experte für die fachlichen Anforderungen. Mit den richtigen KI-Tools kannst du diese Expertise nun direkt in automatisierte Tests umsetzen - ohne selbst programmieren zu müssen. kiteto ist genau auf diese Herausforderungen ausgelegt und bietet eine Lösung, die qualitativ hochwertige Tests generiert und dabei gleichzeitig kosteneffizient ist. Die Zukunft der Testautomatisierung liegt nicht in der Ersetzung menschlicher Expertise, sondern in ihrer Verstärkung durch intelligente KI-Systeme.