Contract Testing, or how to obtain reliable, integrated, isolated microservices.

Change of plan!!! So, unfortunately, Andy can no longer make Thursday so we’re going to deep dive into contract testing…

Part of the attraction of microservices is the ability to distribute the development effort of a large system into isolated services that can be owned by autonomous teams. This isolation allows teams to use appropriate technologies, and development approaches that work best for the team and problem domain.

Each time might have differing release schedules, and development dependencies between teams can cause delivery bottlenecks, and undue stress. 

Rather than attempting to further align the teams schedules, an alternative apporach is to focus on the contract between the services  – the interface. If this can be agreed, and specified using contract tests, then the consumer and provider teams can iterate independently. The contract tests will pick up integration issues, and can be used to provide test doubles for the consumer. 

In this session, Paul Williams will describe the approach, pros and cons and a attempt a group experiment to demonstrate how this approach can support agility in large integration projects. For those technically minded, please bring in laptops with a development environment suitable to develop / consume basic http services in any language. This is not a requirement however, and non technical attendees should hopefully leave with an appreciation of the benefits of this approach.

{ Comments are closed! }