Testing-Strategie
In verteilten Systemen ist Testing keine Pyramide aus dem Lehrbuch.
Es ist eine Risikostrategie für Schnittstellen und Kopplung.
Microservices erhöhen:
- Anzahl Deployables
- Anzahl Schnittstellen
- Anzahl möglicher Fehlerpfade
Die Teststrategie muss diese Komplexität adressieren.
Grundprinzip
Teste lokal so viel wie möglich.
Teste über Service-Grenzen so früh wie möglich.
Teste End-to-End nur so viel wie nötig.
Testportfolio
1️⃣ Unit Tests
- Absicherung fachlicher Logik
- Schnell und deterministisch
- Kein Netzwerk, keine Infrastruktur
Ziel:
Logikfehler früh und günstig erkennen.
2️⃣ Service-Integrationstests
- Persistenz
- Messaging
- Serialisierung
- Mapping
- Framework-Integration
Ziel:
Sicherstellen, dass der Service als Einheit korrekt funktioniert.
3️⃣ Contract Tests (zentral!)
Contract Tests sichern die Vereinbarungen zwischen Services:
- API-Struktur
- Event-Schema
- Versionierung
- Breaking Changes