Abhängigkeits-Audit
Das Abhängigkeits-Audit ist ein Teilbereich der Architektur-Ansicht. Es analysiert die Importstrukturen und externen Abhängigkeiten Ihres Testprojekts.
Import-Graph
xyva erstellt einen vollständigen Import-Graph Ihres Projekts. Dieser zeigt:
- Welche Testdatei welche Module importiert
- Welche Page Objects von mehreren Tests gemeinsam genutzt werden
- Welche Hilfsfunktionen zentral und welche isoliert verwendet werden
INFO
Der Import-Graph ist auch die Grundlage für den Smart Run des Runners. Geänderte Module werden über den Graph auf betroffene Tests zurückverfolgt.
Zirkuläre Abhängigkeiten
Das Audit erkennt zirkuläre Imports, die zu schwer nachvollziehbarem Verhalten führen können:
login.page.ts → utils/auth.ts → login.page.ts (Zirkel!)Jeder gefundene Zirkel wird als Finding mit Schweregrad "Hoch" angezeigt, zusammen mit einem Vorschlag zur Auflösung.
Verwaiste Module
Module, die zwar im Projekt existieren, aber von keinem Test importiert werden, gelten als verwaist:
- Ungenutzte Page Objects — möglicherweise nach einem UI-Refactoring übrig geblieben
- Tote Fixtures — Testdaten, die nicht mehr referenziert werden
- Auskommentierte Imports — deaktivierter Code, der aufgeräumt werden sollte
WARNING
Verwaiste Module erhöhen die kognitive Last und können bei Refactorings zu Verwirrung führen. Entfernen oder archivieren Sie ungenutzten Code regelmäßig.
Externe Abhängigkeiten
Das Audit prüft auch die package.json auf potentielle Probleme:
| Prüfung | Beschreibung |
|---|---|
| Veraltete Pakete | Abhängigkeiten, für die neuere Versionen verfügbar sind |
| Sicherheitslücken | Bekannte Schwachstellen in verwendeten Paketen |
| Doppelte Pakete | Gleiche Funktionalität über verschiedene Bibliotheken |
| Dev vs. Prod | Testabhängigkeiten, die fälschlicherweise als Produktionsabhängigkeiten deklariert sind |
TIP
Führen Sie das Abhängigkeits-Audit vor jedem Release durch. Veraltete Playwright-Versionen können zu subtilen Testfehlern führen, die schwer zu diagnostizieren sind.
Metriken
Das Audit liefert folgende Kennzahlen:
- Gesamtzahl der Imports — Indikator für die Komplexität des Projekts
- Maximale Tiefe — wie tief der Import-Baum verschachtelt ist
- Fan-Out — welche Module die meisten Abhängigkeiten haben
- Fan-In — welche Module am häufigsten importiert werden (zentrale Bausteine)
Weiterführende Seiten
- Architektur — Übersicht des Code-Auditors
- Komponentenanalyse — Page Objects und Fixtures im Detail
