-
Isolated testing: Each service is tested on its own, with unit tests using doubles or component tests using doubles or in-memory storage
-
Integrated testing: Services are tested considering the communication paths and interaction between components, including their contracts
-
Consumer-driven Contract testing: Services are continuously tested against the contract provided by their consumers, ensuring they work as expected by external clients
-
Cross functional testing: Traits like response time, availability, load, security are tested across all services ensuring the cross functional requirements are met
-
Production monitoring through tests: Tests are continuously made in production to find bottlenecks and fix issues before customer even sees them, making the system antifragile.
Description: This presentation describes a very thorough testing strategy for microservices, explaining the techniques, how to use them and their benefits.
Description: This is a very detailed article talking about the problem Consumer-Driver Contracts try to solve and how to us it.
Description: This is a tool for Consumer-driven Contracts with implementation in many languages (Ruby, Java, Go and many others).