F14 Rechnungssystem mit Unit-, Contract- und End-to-End-Tests absichern
Frühere Version vom 2026-07-16T20:24:26.040032+02:00 · zur aktuellen Fassung
Rechnungssystem mit Unit-, Contract- und End-to-End-Tests absichern
Finding: F14 Priorität: P1 Status: IN UMSETZUNG Stand: 2026-07-16
Problembeschreibung
- 22 Tests/54 Assertions sind grün, aber 0 Rechnungstests.
- Login, Download, Hash, Extraktion, Kontakt, Posting, Retry, Recovery sind ungesichert.
- POSTED-Happy-Path enthält falsches Datum; technischer Erfolg ist keine Fachabnahme.
Ziel
Jede fachliche Regel und jeder externe Fehlerzustand ist deterministisch getestet; Standardtests mutieren nie Produktion.
Aufgabe
- Unit-Tests Value Objects/Parser/Transitions/Identität.
- Port-Fakes/Contract-Fixtures.
- Golden-Master-PDF/Testtenant.
- Crash-/Parallel-/Timeout-/Korruptionsmatrix.
Scope
- In Scope: alle unter Code Blast genannten Komponenten, Daten, Verträge und Tests.
- Out of Scope: neue Features und produktive externe Mutation ohne separate Freigabe.
Harte Spezifikation
- MUST: offline/deterministisch; Zeit/Random injiziert.
- MUST: jede Fehlerklasse getestet.
- MUST: Fixtures ohne Secrets/PII.
- MUST: Mutation nur Flag/Testtenant.
Harte Quality Gateways
- Rechnungs-Domain/Application >=90% Branch, kritische State-Logik 100%.
- Mutation-Score Kernregeln >=90%.
- Offline 0 Netz.
- HTTP-/Timeout-/HTML-/Disk-/Corruption-/Crashmatrix grün.
- Global: PHPStan Level 8 und PHPUnit liefern 0 Fehler; kein Ignore oder Baseline.
Code Blast
- Neu: tests/Rechnung, Node-Tests, Fixtures/Fakes.
- Kleine Produktänderungen für injizierbare Zeit/Randomness.
Code-Impact-Analyse
- Mehr Testcode, massiv weniger Risiko.
- E2E braucht getrennte Secrets/Testtenant.
Risikoanalyse
| Risiko | Eintritt | Schaden | |---|---|---| | Regression erst bei Buchung | hoch | kritisch | | Test/Fixture trifft oder leakt Produktion | niedrig | kritisch |
Strategie zur Risikonullierung
- Prevent: Offline/Testtenant.
- Detect: Coverage/Mutation/Contract/E2E.
- Contain: Flag.
- Recover: Run-ID-Cleanup.
Abschlussnachweis
Erledigt erst, wenn alle MUST-Spezifikationen implementiert, alle Gateways mit unveränderlicher Evidenz grün und Restrisiken technisch ausgeschlossen oder ausdrücklich fachlich akzeptiert sind.
Supervisionsfortschritt 2026-07-16
- PHPUnit 54 Tests/124 Assertions gruen; Lock, URL-Duplikat, State-Fehlerinjektion, Parser, Storage, Lexware und Logger abgedeckt. Externer E2E fehlt.
Supervisionsfortschritt 2026-07-16 (Offline-Gateway)
- Reproduzierbares `bin/quality-gates` eingefuehrt: Secret-/Grossdatei-, YAML-, Syntax-, PHPUnit-, PHPStan-, Node- und LOC-Gate.
- Aktueller Lauf: 221 Versionskandidaten ohne Fund, 67 PHPUnit-Tests/240 Assertions, PHPStan Level 8 ohne Fehler, 9 Node-Tests und LOC gruen.