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’s delivered to their expectations, and risks are diminished as much as possible. Different testing types you are familiar with include unit testing, integration testing, functional testing, and end-to-end testing, just to name a few. You might have a question: why should we introduce contract testing if there are already a few 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. 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.