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.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

Automating microservices: what, where and when

Download to read offline

Slides from my talk at IT Weekend Dnipro, 03 June 2018

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Automating microservices: what, where and when

  1. 1. AUTOMATING MICROSERVICES: WHAT, WHERE AND WHEN Oleksandr Romanov IT Weekend Dnipro 2018
  2. 2. WHO AM I? • 6+ years in test automation • QA Automation Lead at Playtika
  3. 3. DICLAIMER • All opinions are completely my own • Microservices – backend architecture • For hardcore code, check =>
  4. 4. The story so far
  5. 5. REGRESSION. RELEASE. REPEAT.
  6. 6. First automated tests…
  7. 7. CROSS BROWSER AUTOMATION
  8. 8. TESTS ON IE
  9. 9. Good old flakiness
  10. 10. MAYBE, API LEVEL TESTING?
  11. 11. CHILL OUT, HERO
  12. 12. HERE COMES MICROSERVICES! WINTER IS COMING?
  13. 13. MICROSERVICES? WHAT THE HELL ARE
  14. 14. API LEVEL TESTING, AGAIN?
  15. 15. — YOUR ARCHITECT «We need to release each microservice separately and fast».
  16. 16. THE PYRAMID https://martinfowler.com/ar ticles/microservice-testing/
  17. 17. MICROSERVICES TEST AUTOMATION APPROACH
  18. 18. GUIDE THROUGH THE LEVELS
  19. 19. Unit tests • Implemented by developers • Concentrated on positive and corner cases • Mocking and stubbing are heavily used
  20. 20. Integration tests: what to test • Persistence: SQL and NoSQL storages • Gateway: HTTP REST, Messaging, RPC, etc.
  21. 21. Integration tests: how to test • In – memory solutions for testing • Dependencies in docker containers • Using SQLUnit / NoSQLUnit / scripts for test data
  22. 22. Component tests: what • Testing main functionality of the microservice • Testing corner cases if external services are unavailable
  23. 23. Component tests: how to test • Testing through public / internal API • Running service locally and / or dependencies in docker containers Test Containers: https://bit.ly/2KYhc4N Spring Boot Test Containers: https://bit.ly/2GTc13S • Mocking out external services: e.g. via WireMock https://bit.ly/2pSFLZb
  24. 24. Contract tests: what • Testing semantics • Do not test functionality
  25. 25. Contract tests: example
  26. 26. Contract tests: how PACT - https://bit.ly/2GUBIAX Spring Cloud Contract - https://bit.ly/2GYi0Jy
  27. 27. End – to – End tests: • Cover business flows • Cover platform dependent cases • Can be done on API or UI levels
  28. 28. So, what?
  29. 29. One bad microservice?
  30. 30. Recommendations • Sam Newman – Building Microservices https://oreil.ly/1pp6qmx • Martin Fowler – Testing Strategies in Microservices https://bit.ly/2pWi0AA
  31. 31. To sum up: • Automate each microservice separately • Run locally as much tests as you can • End - to - end tests are important too
  32. 32. Twitter: @al8xr Skype: alex_roma_nov THANK YOU!
  • powerirs

    Jul. 18, 2020

Slides from my talk at IT Weekend Dnipro, 03 June 2018

Views

Total views

214

On Slideshare

0

From embeds

0

Number of embeds

12

Actions

Downloads

5

Shares

0

Comments

0

Likes

1

×