Komponentenanalyse
Die Komponentenanalyse ist ein Teilbereich der Architektur-Ansicht. Sie bewertet die Qualität Ihrer Page Objects, Fixtures und gemeinsamen Hilfsmodule.
Page-Object-Abdeckung
xyva prüft, welche Seiten Ihrer Anwendung durch dedizierte Page Objects abgedeckt sind und wo stattdessen Inline-Selektoren verwendet werden.
Bewertung
| Abdeckung | Bewertung |
|---|---|
| > 80 % | Gut — die meisten Seiten haben eigene Page Objects |
| 50–80 % | Akzeptabel — Hauptseiten sind abgedeckt, Nebenflüsse fehlen |
| < 50 % | Kritisch — hohe Wartungskosten durch verstreute Selektoren |
TIP
Erstellen Sie Page Objects zuerst für die meistgetesteten Seiten. Der Aufwand zahlt sich besonders bei häufig geänderten UI-Bereichen aus.
Selektor-Qualität
Das Audit analysiert jeden Selektor in Ihren Tests und Page Objects:
Selektor-Typen nach Robustheit
| Typ | Robustheit | Beispiel |
|---|---|---|
data-testid | Hoch | [data-testid="submit-btn"] |
role | Hoch | getByRole('button', { name: 'Senden' }) |
text | Mittel | getByText('Anmelden') |
CSS-Klasse | Niedrig | .btn-primary |
nth-child | Sehr niedrig | div:nth-child(3) |
| Dynamische ID | Kritisch | #el-1742389 |
WARNING
Selektoren mit niedriger Robustheit sind die häufigste Ursache für Flaky Tests. Ersetzen Sie nth-child und dynamische IDs durch stabile data-testid-Attribute.
Code-Duplikation
xyva erkennt wiederkehrende Code-Muster über Testdateien hinweg:
- Login-Sequenzen — wird die gleiche Anmeldelogik in mehreren Tests wiederholt?
- Setup-Routinen — können wiederkehrende Vorbereitungsschritte in Fixtures ausgelagert werden?
- Assertions — gibt es identische Prüfmuster, die als Custom Matcher gebündelt werden sollten?
Für jeden gefundenen Duplikationsblock zeigt xyva:
- Die betroffenen Dateien und Zeilenbereiche
- Den prozentualen Überlappungsgrad
- Einen Vorschlag zur Extraktion (Fixture, Helper oder Page-Object-Methode)
Strukturmetriken
Die Komponentenanalyse liefert folgende Kennzahlen:
| Metrik | Beschreibung | Zielwert |
|---|---|---|
| Durchschnittliche Testlänge | Zeilen pro test() Block | < 25 Zeilen |
| Fixture-Nutzung | Anteil der Tests, die Fixtures verwenden | > 60 % |
| Import-Tiefe | Maximale Verschachtelung der Imports | < 4 Ebenen |
| Page-Object-Ratio | Verhältnis Page Objects zu Testdateien | > 0,5 |
INFO
Die Metriken dienen als Richtwerte. Jedes Projekt hat eigene Konventionen — xyva passt die Schwellenwerte über den Vault an, sobald genügend Audit-Daten vorliegen.
KI-Fixes für Komponenten
Bei jedem gefundenen Problem kann die KI einen konkreten Codevorschlag generieren:
- Page Object für eine bisher unabgedeckte Seite erstellen
- Fragile Selektoren durch robuste Alternativen ersetzen
- Duplizierten Code in ein gemeinsames Modul extrahieren
Weiterführende Seiten
- Architektur — Übersicht des Code-Auditors
- Abhängigkeits-Audit — Import-Graph und externe Pakete
- Flaky-Test-Erkennung — Auswirkungen schlechter Selektoren
