This document discusses strategies for testing microservices. It begins with an overview of manual vs automated testing and challenges of testing software. The goal of testing is to develop, test, and deploy without breaking the system. Unit testing is good for complex logic but not enough to ensure functionality. Integration testing tests interfaces and is fast enough on modern computers. Microservices require loose coupling and independent deployability. The document illustrates integration testing between services and discusses issues with mocks. It proposes using consumer driven contracts and API documentation to test between services. Other strategies discussed include canary deployments with service meshes and message brokers to test at scale with real data.