Zuletzt bearbeitet:
Stanislaw Anisimow
Vertragsprüfung
Click to expand / collapse

Beim Arbeiten mit APIs zwischen Teams oder externen Partnern ist es besonders wichtig, dass das Abfrage- und Antwortformat vorhersehbar bleibt. Mit Vertragstests können Sie überprüfen, ob beide Parteien - Client und Server - mit der Austauschstruktur einverstanden sind und diese nicht durch Updates verletzen.

Wir implementieren Vertragstests, die automatisch die Übereinstimmung der API mit der Dokumentation oder den Erwartungen des Verbrauchers überprüfen - bevor sie in die Produktion gehen.


Was ist ein Vertrag in der API

Ein Vertrag ist eine Vereinbarung, die definiert:
  • welche Felder die Abfrage und die Antwort enthalten
  • Welche Datenformate sind zulässig
  • welche Statuscodes zurückgegeben werden
  • Welche Parameter erforderlich sind

Vertragsbruch = potenzieller Ausfall auf der Kunden- oder Serviceseite.


Wie geht das

SeiteWas getestet wird
Anbieter (API)Die API muss die Erwartungen des Kunden an die Antwortstruktur erfüllen
Kunde (Consumer)Der Kunde erwartet ein bestimmtes Schema - der Test überprüft, ob es eingehalten wird
BidirectionalBeidseitiger Test: Sowohl Client als auch Server stimmen dem Vertrag zu

Verwendete Tools: Pact, Spring Cloud Contract, Dredd, Postman Contract Tests.


Vorteile von Vertragstests

Identifizierung von Inkonsistenzen vor dem Deploy

Schutz vor „stillen“ Veränderungen, die Kunden kaputt machen

Sichere Aktualisierung von API-Versionen

Mehr Vertrauen zwischen den Entwicklungsteams

Protokollierung der Historie von Vertragsänderungen


Wie wir umsetzen

Definition von Verträgen im OpenAPI/Pact-Format

CI-Integration mit automatischen Testläufen bei jedem Commit

Visualisierung und Historie von Vertragsänderungen

Trennung nach Mittwoch (Staging/Produktion)

Veröffentlichung von Verträgen für externe Integratoren


Wo es besonders wichtig ist

Microservices mit geteilter Verantwortung

Plattformen mit externen B2B-Integrationen

Arbeiten an einer API mit mehreren unabhängigen Teams

Kritische Systeme, bei denen ein Fehler nicht akzeptabel ist (Finanzen, öffentliche Dienstleistungen)


Vertragstests sind eine zuverlässige Brücke zwischen Server und Client. Wir helfen Ihnen, einen Prozess aufzubauen, bei dem kein Update die Integration stört und unerwartete Fehler verursacht.

Beliebte Themen


Hauptthemen