Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 43 Ad

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.

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.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Successful strategies for Microservices Architecture Testing by Sundaresan Krishnaswami and Felicia Kartika (20)

Advertisement

More from Agile Testing Alliance (20)

Advertisement

Recently uploaded (20)

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 :)

×