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.

Testing, CI and CD in the real world

503 views

Published on

  • Login to see the comments

  • Be the first to like this

Testing, CI and CD in the real world

  1. 1. Testing continous Integration continous Delivery …in the real world!
  2. 2. Roc Boronat I develop Android things – I wanna learn about testing! – Roc 2014
  3. 3. tests introducing
  4. 4. unitary tests integration tests instrumentation tests
  5. 5. we started with unitary tests to develop regular expressions ^[6789]{1}[0-9]{8}$ ^0{2}[0-9]{11,}
  6. 6. we started with unitary tests to develop regular expressions
  7. 7. we started with unitary tests to develop regular expressions
  8. 8. we started with unitary tests to develop regular expressions
  9. 9. we started with unitary tests to develop regular expressions given when then given when then
  10. 10. we started with unitary tests to parse deeplink URL’s this happens at
  11. 11. we started with unitary tests to parse deeplink URL’s this happens at
  12. 12. we started with unitary tests to parse deeplink URL’s this happens at
  13. 13. we started with unitary tests to improve an invoice generator Customer can have a insurance… or not The insurance can have a coverage limit… or not The insurance can have a franchise deductible… or not The insurance company can pay the VAT of the amount… or not
  14. 14. we started with unitary tests to improve an invoice generator
  15. 15. we started with unitary tests to improve an invoice generator
  16. 16. we started with unitary tests to refactor legacy code this happens at
  17. 17. we started with unitary tests to refactor legacy code Sandro Mancuso craftedws.blogspot.com Testing and Refactoring Legacy Code youtu.be/_NnElPO5BU0 Legacy Code Rules • You cannot change production code if not covered by tests … just automated refactorings (via IDE) are allowed, if needed to write the test this happens at
  18. 18. we started with unitary tests to refactor legacy code Sandro Mancuso craftedws.blogspot.com Testing and Refactoring Legacy Code youtu.be/_NnElPO5BU0 this happens at
  19. 19. last tips about unitary tests follow the given-when-then style test one thing at a time test the domain: is easy and valuable frustration is the first step towards improvement know the tools: JUnit + AssertJ + Mockito
  20. 20. unitary tests integration tests instrumentation tests
  21. 21. we started with integration test to develop an API module this happens at quit smoking with your phone
  22. 22. tips about integration tests develop the API module by TDD check that your customer’s API has not changed monitor your own API using a CI tool
  23. 23. unitary tests integration tests instrumentation tests
  24. 24. we started with instrumentation test to test an app end to end this happens at
  25. 25. we started with instrumentation test to test an app end to end this happens at
  26. 26. we started with instrumentation test to test an app end to end this happens at
  27. 27. tips about instrumentation tests simple way to do «defensive testing» fast way to develop «deep screens» Espresso has been a game changer They use to fail at CI tools
  28. 28. extra point: TDD test-driven development
  29. 29. extra point: TDD test-driven development
  30. 30. extra point 2: EDD? error-driven development Someone found a bug? Write a test that reproduces it before fixing it!
  31. 31. extra point 2: EDD? error-driven development this happens at
  32. 32. continous * introducing
  33. 33. continous integration continous delivery
  34. 34. we started with continous integration to fail fast this happens at quit smoking with your phone
  35. 35. we started with continous integration to fail fast this happens at quit smoking with your phone
  36. 36. we started with continous integration to maintain code quality this happens at
  37. 37. we started with continous integration to maintain code quality this happens at
  38. 38. continous integration continous delivery
  39. 39. we started with continous delivery to launch releases from SourceTree Group of Betatesters 0,5% of users this happens at quit smoking with your phone
  40. 40. we started with continous delivery to update stakeholders the product owners have the last developed feature in their phones this happens at
  41. 41. we started with continous delivery to launch releases from Terminal Group of Betatesters Alpha Release this happens at
  42. 42. Roc Boronat roc@fewlaps.com

×