Contract Testing
Verifying what consumers actually rely on, without a shared environment.
5 to work through
-
intermediate
A platform has many services and many external consumers. Integration tests are slow and flaky. What testing strategy actually gives confidence about compatibility?
2 min answer -
intermediate Multiple choice
Before deploying, how do you know whether removing a response field will break any consumer?
2 min answer -
advanced Multiple choice
A platform with many services finds that integration tests are slow and flaky, yet removing them causes breakages between services. What testing approach resolves this, and what does it require organisationally?
2 min answer -
advanced
An organisation with hundreds of services finds integration bugs in production despite extensive testing. How do consumer-driven contract tests fit, and what do they not solve?
3 min answer -
advanced
Integration failures between 30 services are found in a shared staging environment, days after merge. Propose a change.
2 min answer
2 terms in this topic
Neighbouring topics
API & Integration
General material on integrating systems through contracts.
REST Design
Resources, uniform methods, status codes and statelessness.
GraphQL
Client-specified queries, N+1 resolution and query-cost control.
gRPC APIs
Contract-first RPC, generated clients and protobuf compatibility rules.
Webhooks
Push callbacks, signature verification, ordering and at-least-once delivery.
API Versioning
URL, header and account-pinned versioning, and who carries the burden.
Backward Compatibility
Which changes are safe, and how to make breakage a build failure.
API Documentation
OpenAPI as a machine-checked contract rather than as prose.
Rate Limiting
Algorithms, shared counters, and signalling rejection properly.
Idempotency Keys
Client-generated keys stored atomically with the operation they guard.
Pagination & Filtering
Offset versus cursor, stable ordering and unbounded result sets.
API Error Handling
Error shapes, retryability signals and machine-readable causes.
Event-Driven Integration
Publishing facts rather than commands, and versioning event schemas.
Message Formats
JSON, Protobuf, Avro — schema evolution and payload economics.
Schema Registry
Enforcing compatibility on events the way CI enforces it on code.
Integration Patterns
Routers, translators, splitters, aggregators and dead letter channels.
Legacy Integration
Reaching systems that cannot change, without importing their model.
Partner & B2B Integration
External contracts, onboarding, sandboxes and long deprecation windows.
APIs as Products
Ownership, lifecycle, deprecation policy and developer experience.