Contract Testing
Vertragstests
Vertragstests prüfen, ob zwei Systeme, die separat bereitgestellt werden können, weiterhin Nachrichten im vereinbarten Format austauschen.
Ein weiteres Beispiel
Ein Client erwartet, dass GET /profiles/42 bestimmte Felder und einen Status zurückgibt. Continuous Integration (CI) überprüft, ob der Anbieter dieses Versprechen einhält. Der Test beweist nicht die gesamte Reise oder die Qualität der Live-Daten.
Hauptteile
- 01Verbrauchervertrag
- 02Anbieter-Verifizierung
- 03Kompatibilitätsergebnis
Verwenden Sie es, wenn
Verwenden Sie diesen Begriff, wenn Dienste eigenständig bereitgestellt werden und die Nachrichtkompatibilität ohne das gesamte System überprüft werden muss.
Nutze es nicht, wenn
Kopiere nicht den privaten Code des Anbieters in den Vertrag und benutze diesen Test nicht anstelle der API-Sicherheitstests.
In Code verwendeter Name
consumer expectation ↔ provider verification Vor dem Ausliefern
Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule.
Outcome: Complete the task with Vertragstests (Contract Testing). User context: Ein Client erwartet, dass GET /profiles/42 bestimmte Felder und einen Status zurückgibt. Continuous Integration (CI) überprüft, ob der Anbieter dieses Versprechen einhält. Der Test beweist nicht die gesamte Reise oder die Qualität der Live-Daten. Validation approach: Vertragstests (Contract Testing). Why it fits: Verwenden Sie diesen Begriff, wenn Dienste eigenständig bereitgestellt werden und die Nachrichtkompatibilität ohne das gesamte System überprüft werden muss. Do not use it when: Kopiere nicht den privaten Code des Anbieters in den Vertrag und benutze diesen Test nicht anstelle der API-Sicherheitstests. Test requirements: Name the system and test environment. Define prepared test data, other inputs, and the result you can observe. Include failure and edge cases, allowed error, isolation, and cleanup. Test operations: Make failures easy to diagnose. Control random or changing inputs. Name an owner. Keep the test fast and simple enough for its release gate. Acceptance criteria: The test fails for the known bug and passes after the fix. It repeats in the target environment, gives useful evidence, and does not expose or change unrelated data. Evidence and limits (evidence boundary): Es ist offiziell für diese Quelle. Andere Plattformen oder Teams können den Begriff auf andere Weise verwenden. Unknowns to confirm: Release gate, environment, prepared test data, allowed error, time budget, owner, and flaky-test rule.
Diese Anfrage prüfen
Review how Vertragstests (Contract Testing) is used now. Definition: Vertragstests prüfen, ob zwei Systeme, die separat bereitgestellt werden können, weiterhin Nachrichten im vereinbarten Format austauschen. Release checks: Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.