Part 1 Introduction to contract testing
In software testing, various testing types provide different values to ensure that when your application is deployed to your users, it meets their expectations, and risks are diminished as much as possible. You’re likely familiar with testing types such as unit testing, integration testing, functional testing, and end-to-end testing, so you might wonder why we’re introducing contract testing with all of these other testing types out there.
As more teams adopt a microservices architecture, where software projects are broken down into smaller modules or components and developed independently by different teams, the need to test and deploy the changes independently will increase. The microservices architecture poses new challenges to how teams traditionally approach testing activities. Multiple teams need to deploy their service to a dedicated test environment. Imagine if you have a lot of them! How will you test the services efficiently? This is where contract testing shines through.