Skip to content

Ursachenanalyse

Die Ursachenanalyse (Root Cause Analysis, RCA) ist die KI-gestützte Fehlerdiagnose im Intelligence Dashboard. Sie geht über die Flaky-Erkennung hinaus und liefert konkrete Lösungsvorschläge.

So funktioniert die Analyse

Wenn ein Test fehlschlägt, sammelt xyva den vollständigen Kontext:

  1. Fehlermeldung und Stack-Trace aus dem Runner
  2. Quellcode der betroffenen Testdatei und importierter Page Objects
  3. Historische Daten — frühere Läufe desselben Tests
  4. Vault-Kontext — Architekturwissen aus dem Architecture Vault

Die KI-Engine analysiert diese Daten und erstellt eine strukturierte Diagnose.

Kategorien der Ursachenerkennung

KategorieBeschreibungTypische Empfehlung
Breiter LocatorSelektor trifft auf mehrere Elemente zuSpezifischeres data-testid verwenden
Race ConditionTest ist schneller als die AnwendungwaitFor oder expect.toBeVisible() einfügen
Fehlender WaitAsynchrone Operation wird nicht abgewartetawait page.waitForResponse() hinzufügen
Veralteter SelektorUI hat sich geändert, Selektor existiert nicht mehrSelektor an neues DOM anpassen
DatenabhängigkeitTest setzt einen bestimmten Datenzustand vorausTestdaten im Setup isolieren

INFO

Die Ursachenerkennung nutzt den Architecture Vault für kontextbezogene Vorschläge. Je besser der Vault gepflegt ist, desto präziser sind die Empfehlungen.

Auto-Fix-Vorschläge

Nach der Diagnose kann xyva einen konkreten Code-Fix vorschlagen:

Ablauf

  1. Die KI generiert einen Codeschnipsel basierend auf der Diagnose
  2. Der Vorschlag wird als Diff angezeigt (Vorher/Nachher)
  3. Klicken Sie auf Reparatur initialisieren, um den Fix an den Architecture-Auditor zur Prüfung zu senden
  4. Nach der Prüfung können Sie den Fix direkt anwenden oder kopieren

WARNING

Auto-Fix-Vorschläge sind nicht autonom und müssen immer manuell geprüft werden. Die KI kann den fachlichen Kontext eines Tests nicht vollständig erfassen — ein Fix kann technisch korrekt sein, aber die Testintention verändern.

Beispiel: Race-Condition-Fix

Vorher:

typescript
await page.click('#submit');
const message = await page.textContent('.success');
expect(message).toBe('Gespeichert');

Nachher:

typescript
await page.click('#submit');
await page.waitForSelector('.success');
const message = await page.textContent('.success');
expect(message).toBe('Gespeichert');

Analyse-Verlauf

Jede durchgeführte Ursachenanalyse wird gespeichert. Über den Verlauf können Sie:

  • Wiederkehrende Fehlertypen erkennen
  • Die Wirksamkeit angewendeter Fixes nachverfolgen
  • Systematische Schwachstellen im Testprojekt identifizieren

TIP

Prüfen Sie regelmäßig den Analyse-Verlauf. Häufen sich bestimmte Fehlertypen, deutet das auf ein strukturelles Problem hin, das ein Architektur-Audit lösen kann.

Weiterführende Seiten

Local-first QA orchestration.