Loosely coupled systems (a.k.a. distributed systems / microservices) are gaining more and more traction. This implies that there is a growing demand to automatically and reliably ensure that these modular systems play nicely together. The current industry-strength approach for testing the APIs between components is Consumer-Driven Contract Testing (CDCT). Despite its unquestionable improvements over naive integration tests, it still has a number of weaknesses.
This talk points out these weaknesses and shows how we can go beyond CDCT by leveraging modelling in combination with an approach borrowed from formal methods.
Decoding Paradoxes: Why are many good ideas in Software Delivery counter-intuitive
How does deploying more frequently improve quality? How does slack time in a team improve reliability? Why should we do it more often if it hurts? These are counter-intuitive concepts that don't make sense at first, and you'll be met with a bewildered stare...