Mr. Sundaresan Krishnaswami and Ms.Felicia Kartika has given a session on Successful strategies for Microservices Architecture Testing in ATA Bangalore 13th Meetup. All copyright belongs to the authors.
6. THE MONOLITHS
(DRAWBACKS)
Huge codebase
Debugging is tricky for new comers
Overloaded container
Entire container brought down for
deployments
Moving to latest technologies is almost
impossible
Limited innovation
9. THE MICRO
SERVICES
(CONTD…)
- Each function in its own container
- Many technology stacks
- Talks a common protocol – often
REST APIs
- Services deployed independently
- Issues in one service need not
affect the other
- Limited performance impact
- Scope for innovation
- Autonomy for the team
11. THE MICRO
SERVICES
(DRAWBACKS)
- Tackling distributed systems
- Deployment complexity
- Maintaining data consistency between
services
- Tackling communication between teams
- Strategize decoupling or decompose
services
- Culture driven
24. RED [Fail]
• Write a test
that fails
GREEN
[Pass]
• Make the
code work
REFACTOR
• Improve
code quality
TDD Approach
25. UNIT TEST BEST PRACTICES
Write unit tests for all sociable
business logic
Cover all states - the application
transitions
Cover all interactions and
collaborations with other services
36. THE BDD APPROACH
A common language across
stakeholders – Gherkin
Enables all stake holders to read
and be on the same page
Uses the fail, pass, refactor
approach
Helps implement automation
early in the release
A story narrative
Customer orders a handphone
As a customer
I want to buy a handphone so that I
don't have to buy from offline store
Given, When, Then Scenarios
Given that I can add a handphone to
cart
When the item is available in stock
Then I should be able to pay and
complete the order
41. MANUAL
TESTING
STRATEG
Y
Understand all the requirement
Join the sprint planning, meeting, standup meeting
Have a blitz meeting with PM, Dev, QA (cross
services)
Conduct blitz testing among QA teams
Discuss when you found a hole in the system
42. IN CONCLUSION
Microservices is the future
Embrace the challenges
Keep essential documentation
Embrace automation early
Identify the right tools
Don't spend too much time on
identifying tools :)