The biggest pain as a developer in a big development team – building a system consisting of tens of services over Microservices architecture – is pushing code to the code base without breaking anything. Testing is the key to solving this pain. Or, in other words, establishing a healthy CI/CD process that surfaces defects before they get to the client. In this talk, we’ll explore different approaches to testing that will help us deliver code that works and doesn’t break older functionality. We will talk about different approaches to testing at the service level – Unit testing vs API testing. We will discuss the importance of integration testing and what we can do in order to minimise the risk of deploying a new piece of code through blue-green deployment and canary release.