Testing Labs: Testcontainers, Contract Tests und Chaos
Realistische Test-Labs mit Datenbank, Message Broker, Consumer Contracts, WireMock und Fehler-Injektion.
Testcontainers Lab
Integrationstests gegen echte Datenbanken und Broker finden Fehler, die Mocks nicht sehen: SQL-Dialekt, Transaktionen, Serialization, Consumer Lag.
Contract Tests
Consumer Contracts verhindern, dass Provider Änderungen ausrollt, die Clients brechen. Sie sind besonders wertvoll bei Portal/BFF/API-Landschaften.
Chaos im Kleinen
Timeouts, 500er, Deadlocks, Broker-Neustarts und langsame Antworten sollten kontrolliert im Test-Lab vorkommen.
Praxisübertragung auf das V4-Beispielprojekt
Entscheidung
Dokumentiere die getroffene Architekturentscheidung als ADR, inklusive Alternativen, Folgen und Betriebsrisiken.
Code-Nachweis
Markiere verwendete Entwurfsmuster direkt im Code und ergänze sie in docs/design-patterns.md.
Betrieb
Definiere Metrik, Alert, Runbook-Schritt und Rollback-Option für diesen Bereich.
Typische Fehlerbilder
- Framework-Feature wird eingesetzt, ohne fachliche Grenze zu verstehen.
- Technische Wiederholung wird nicht idempotent gemacht.
- Observability wird erst nach Produktionsproblem ergänzt.
- Tests prüfen nur Happy Path und keine Wiederanläufe.