Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SUCCESSFUL
STRATEGIES FOR
MICRO SERVICES
TESTING - AN ECOMMERCE
Sundaresan Krishnaswami
Felicia Kartika
Agile Testing Alli...
KEY
TAKEAWA
YS
- Brief intro Monolithic and Micro-service
architecture
- Analyze challenges in micro-services testing
- Ag...
MONOLITHIC VS
MICRO SERVICES
THE
MONOLITHS
- Architecture – all in one
 UI
 Business Logic
 Database
- Single war file
 Easy to deploy
 Easy to sc...
THE
MONOLITHS
(CONTD…)
Culture
 One Team Manages it all
 Easy to communicate
within team
 Single codebase
 Developers ...
THE MONOLITHS
(DRAWBACKS)
Huge codebase
Debugging is tricky for new comers
Overloaded container
Entire container broug...
MONOLITHS VS MICRO
SERVICES
THE MICRO SERVICES
THE MICRO
SERVICES
(CONTD…)
- Each function in its own container
- Many technology stacks
- Talks a common protocol – ofte...
COMPANIES EMBRACING
MICRO SERVICES
THE MICRO
SERVICES
(DRAWBACKS)
- Tackling distributed systems
- Deployment complexity
- Maintaining data consistency betwe...
TESTING
CHALLENGES
MICRO SERVICES GROWTH
A
B
C
D
E
F G
H
I
J K
L
M
N
O
TESTING CHALLENGES
NO TIME
NO RESOURCE
DEADLINE
TESTING
CHALLENGES
- Strategy to cover all layers
TESTING
CHALLENGE
S
Complete coverage
Coverage across services
Coverage around
interaction points
Non-functional coverage
...
STRATEGIES
TEAM MGMT
Product
Manager
UX Developer
Quality
Assurance
DB Admin
Team 1
Team 2
KNOWLEDGE SHARING
PERFORMANCE TESTING
Non
functional
Testing
Integration
Test
Component Test
Unit Test
Click to add text
THE TESTING PYRAMID
UNIT TEST
Non
functional
Testing
Integration
Test
Component Test
Unit Test
RED [Fail]
• Write a test
that fails
GREEN
[Pass]
• Make the
code work
REFACTOR
• Improve
code quality
TDD Approach
UNIT TEST BEST PRACTICES
Write unit tests for all sociable
business logic
Cover all states - the application
transitions
C...
RECOMMENDED TOOLS
COMPONENT TEST
Non
functional
Testing
Integration
Test
Component Test
Unit Test
AUTOMATE THE COMPONENT
TEST
Product
Service
Cart
Service
Payment
Service
Order
Service
e-commerce
RECOMMENDED TOOLS
CONTRACT TESTING
Non
functional
Testing
Integration
Test
Component Test
Unit Test
UI contract
Mockup
Giving Unique ID for automation
API Contract
Request Body
Response Body
CONTRACT TESTING
INTEGRATION TEST
Non
functional
Testing
Integration
Test
Component Test
Unit Test
VERIFY ALL THE
COMPONENT COMMUNICATE
WELL
VERIFY ALL THE
COMPONENT COMMUNICATE
WELL
Product
Service
Cart Service
Payment
Service
Order Service
E-commerce
TOOLS WE USE
THE BDD APPROACH
A common language across
stakeholders – Gherkin
Enables all stake holders to read
and be on the same page...
NON FUNCTIONAL
TESTING
Non
functional
Testing
Integration
Test
Component Test
Unit Test
NON FUNCTIONAL TESTING
UI Testing
Performance Testing
Load Testing
Compatibility Testing
others
TOOLS WE USE
MANUAL TESTING
STRATEGY
MANUAL
TESTING
STRATEG
Y
Understand all the requirement
Join the sprint planning, meeting, standup meeting
Have a blitz me...
IN CONCLUSION
Microservices is the future
Embrace the challenges
Keep essential documentation
Embrace automation early
Ide...
Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika
Upcoming SlideShare
Loading in …5
×

of

Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 1 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 2 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 3 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 4 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 5 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 6 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 7 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 8 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 9 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 10 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 11 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 12 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 13 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 14 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 15 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 16 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 17 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 18 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 19 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 20 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 21 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 22 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 23 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 24 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 25 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 26 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 27 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 28 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 29 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 30 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 31 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 32 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 33 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 34 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 35 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 36 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 37 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 38 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 39 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 40 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 41 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 42 Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika Slide 43
Upcoming SlideShare
What to Upload to SlideShare
Next

0 Likes

Share

Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika

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.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika

  1. 1. SUCCESSFUL STRATEGIES FOR MICRO SERVICES TESTING - AN ECOMMERCE Sundaresan Krishnaswami Felicia Kartika Agile Testing Alliance Bangalore 13th Meetup
  2. 2. KEY TAKEAWA YS - Brief intro Monolithic and Micro-service architecture - Analyze challenges in micro-services testing - Agile solutions to tackle challenges
  3. 3. MONOLITHIC VS MICRO SERVICES
  4. 4. THE MONOLITHS - Architecture – all in one  UI  Business Logic  Database - Single war file  Easy to deploy  Easy to scale
  5. 5. THE MONOLITHS (CONTD…) Culture  One Team Manages it all  Easy to communicate within team  Single codebase  Developers know most of their codebase
  6. 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
  7. 7. MONOLITHS VS MICRO SERVICES
  8. 8. THE MICRO SERVICES
  9. 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
  10. 10. COMPANIES EMBRACING MICRO SERVICES
  11. 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
  12. 12. TESTING CHALLENGES
  13. 13. MICRO SERVICES GROWTH A B C D E F G H I J K L M N O
  14. 14. TESTING CHALLENGES
  15. 15. NO TIME NO RESOURCE DEADLINE
  16. 16. TESTING CHALLENGES - Strategy to cover all layers
  17. 17. TESTING CHALLENGE S Complete coverage Coverage across services Coverage around interaction points Non-functional coverage Dependent on other teams
  18. 18. STRATEGIES
  19. 19. TEAM MGMT Product Manager UX Developer Quality Assurance DB Admin Team 1 Team 2
  20. 20. KNOWLEDGE SHARING
  21. 21. PERFORMANCE TESTING
  22. 22. Non functional Testing Integration Test Component Test Unit Test Click to add text THE TESTING PYRAMID
  23. 23. UNIT TEST Non functional Testing Integration Test Component Test Unit Test
  24. 24. RED [Fail] • Write a test that fails GREEN [Pass] • Make the code work REFACTOR • Improve code quality TDD Approach
  25. 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
  26. 26. RECOMMENDED TOOLS
  27. 27. COMPONENT TEST Non functional Testing Integration Test Component Test Unit Test
  28. 28. AUTOMATE THE COMPONENT TEST Product Service Cart Service Payment Service Order Service e-commerce
  29. 29. RECOMMENDED TOOLS
  30. 30. CONTRACT TESTING Non functional Testing Integration Test Component Test Unit Test
  31. 31. UI contract Mockup Giving Unique ID for automation API Contract Request Body Response Body CONTRACT TESTING
  32. 32. INTEGRATION TEST Non functional Testing Integration Test Component Test Unit Test
  33. 33. VERIFY ALL THE COMPONENT COMMUNICATE WELL
  34. 34. VERIFY ALL THE COMPONENT COMMUNICATE WELL Product Service Cart Service Payment Service Order Service E-commerce
  35. 35. TOOLS WE USE
  36. 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
  37. 37. NON FUNCTIONAL TESTING Non functional Testing Integration Test Component Test Unit Test
  38. 38. NON FUNCTIONAL TESTING UI Testing Performance Testing Load Testing Compatibility Testing others
  39. 39. TOOLS WE USE
  40. 40. MANUAL TESTING STRATEGY
  41. 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. 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 :)

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.

Views

Total views

902

On Slideshare

0

From embeds

0

Number of embeds

607

Actions

Downloads

0

Shares

0

Comments

0

Likes

0

×