This document discusses testing strategies for microservice architectures. It begins with an overview of microservice architecture and its advantages and disadvantages. It then covers the different levels of software testing in the context of microservices, including unit, integration, component, and end-to-end testing. The document also discusses various testing strategies that can be used like documentation-first, full stack in-a-box, shared testing instances, stubbed services, acceptance testing, and contract testing. It emphasizes the importance of test automation and shows the agile testing quadrant for microservices.
5. Microservice
architectural style is
an approach to developing a single
application as a suite of small services,
each running in its own process and
communicating with lightweight
mechanisms, often an HTTP resource API.
5Martin Fowler, James Lewis
10. Levels of Software Testing
Let’s take a look at levels in testing microservices context
2
11. Expectations vs. Reality
11
UI
UI cmpnnt
API
Business
logic
DS
UI cmpnnt
API
Business
logic
DS
UI cmpnnt
API
Business
logic
DS
UI
UI cmpnnt
API
Business
logic
DS
UI cmpnnt
API
Business
logic
DS
UI cmpnnt
API
Business
logic
DS
12. Test Levels
12
According to ISTQB In Microservices testing
Unit
Integration
System
Acceptance
Unit
Integration
Component
E2E
Exploratory
23. Useful links:
23
Testing Strategies in a Microservice Architecture
The Practical Test Pyramid
Verifying Microservice Integrations with Contract Testing
End-to-End Automated Testing in a Microservices Architecture
What are microservices really all about?
Microservice Architecture