What is it?
Distributed systems, microservices and polyglot architectures have many benefits, however the added complexity increases the number of integration points, making integration testing a challenge.
Contract testing is an approach that captures the interactions between two services and serialises them into a contract, which can then be used to verify that both parties adhere to it.
Implementing this pattern allows for services to evolve independently, enabling teams to scale, continuous delivery via independent releases and simplified testing.