51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
---
|
|
name: asv-test-failure-clustering
|
|
description: Verwende diesen Skill, wenn im ASV-Format-Validator Tests fehlschlagen. Der Skill erzwingt Root-Cause-Analyse über alle fehlschlagenden Tests, gruppierte Behebung in einem Durchgang und schützt vor Fehler-für-Fehler-Mini-Iterationen.
|
|
license: Proprietary
|
|
metadata:
|
|
project: asv-format-validator
|
|
language: de
|
|
---
|
|
|
|
# ASV Test Failure Clustering
|
|
|
|
## Zweck
|
|
Dieser Skill dient der strukturierten Behebung fehlgeschlagener Tests im Projekt ASV-Format-Validator.
|
|
|
|
## Verbindliche Vorgehensweise
|
|
1. Lies alle fehlgeschlagenen Tests und Fehlermeldungen vollständig.
|
|
2. Behebe nicht nur den ersten Fehler.
|
|
3. Bestimme gemeinsame Ursachen.
|
|
4. Gruppiere die Fehler nach Ursache.
|
|
5. Behebe jede Ursache in einem einzigen sauberen Durchgang.
|
|
6. Teste danach erneut vollständig.
|
|
|
|
## Prioritäten bei der Analyse
|
|
- Zuerst prüfen, ob Testdaten oder Assertions inkonsistent sind.
|
|
- Danach prüfen, ob neue Regeln unbeabsichtigte Folgefehler erzeugen.
|
|
- Produktivcode nur ändern, wenn ein echter Logikfehler belegt ist.
|
|
- Keine Umbauten auf Verdacht.
|
|
|
|
## Schutzregeln
|
|
- Kein Parser-Umbau.
|
|
- Keine neue fachliche Regel.
|
|
- Keine Refactorings auf Verdacht.
|
|
- Bestehende grüne Funktionalität darf nicht verschlechtert werden.
|
|
- Testressourcen müssen fachlich isoliert sein.
|
|
|
|
## Typische Fragen vor der Änderung
|
|
- Lösen mehrere Tests dieselbe gemeinsame Ursache aus?
|
|
- Ist die Testressource sauber isoliert?
|
|
- Passt die erwartete Assertion zur tatsächlichen Segmentanzahl bzw. zum tatsächlichen Parserverhalten?
|
|
- Entsteht ein Folgefehler nur wegen einer inkonsistenten Testdatei?
|
|
|
|
## Abschluss
|
|
- Nach den Korrekturen vollständig testen mit:
|
|
- `mvn clean test`
|
|
|
|
## Ausgabeformat
|
|
1. Ausgeführter Maven-Befehl
|
|
2. Kurzes Testergebnis
|
|
3. Sehr kurze Liste der geänderten Dateien
|
|
4. Vollständiger Code aller tatsächlich geänderten Dateien
|
|
5. Keine langen Erklärungen |