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:
- Fehlermeldung und Stack-Trace aus dem Runner
- Quellcode der betroffenen Testdatei und importierter Page Objects
- Historische Daten — frühere Läufe desselben Tests
- Vault-Kontext — Architekturwissen aus dem Architecture Vault
Die KI-Engine analysiert diese Daten und erstellt eine strukturierte Diagnose.
Kategorien der Ursachenerkennung
| Kategorie | Beschreibung | Typische Empfehlung |
|---|---|---|
| Breiter Locator | Selektor trifft auf mehrere Elemente zu | Spezifischeres data-testid verwenden |
| Race Condition | Test ist schneller als die Anwendung | waitFor oder expect.toBeVisible() einfügen |
| Fehlender Wait | Asynchrone Operation wird nicht abgewartet | await page.waitForResponse() hinzufügen |
| Veralteter Selektor | UI hat sich geändert, Selektor existiert nicht mehr | Selektor an neues DOM anpassen |
| Datenabhängigkeit | Test setzt einen bestimmten Datenzustand voraus | Testdaten 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
- Die KI generiert einen Codeschnipsel basierend auf der Diagnose
- Der Vorschlag wird als Diff angezeigt (Vorher/Nachher)
- Klicken Sie auf Reparatur initialisieren, um den Fix an den Architecture-Auditor zur Prüfung zu senden
- 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:
await page.click('#submit');
const message = await page.textContent('.success');
expect(message).toBe('Gespeichert');Nachher:
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
- Flaky-Test-Erkennung — Instabilitätsmuster erkennen
- Architektur — Vault und KI-gestützte Korrekturen
- Qualitätsmetriken — Trend und Heatmap
