Zum Hauptinhalt springen

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