Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Test Automation - Principles and Practices

74 935 vues

Publié le

Slides from my webinar for Sri Lanka Testing Community on - "Test Automation - Principles & Practices".

Details about the webinar can be found from my blog - http://essenceoftesting.blogspot.com

Publié dans : Logiciels

Test Automation - Principles and Practices

  1. 1. TEST AUTOMATION – PRINCIPLES & PRACTICES Anand Bagmar Test Practice Lead
  2. 2. @BagmarAnand about.me/anand.bagmar essenceoftesting.blogspot.com ABOUT ME
  3. 3. What is Testing?
  4. 4. 4
  5. 5. 5
  6. 6. What does this mean?
  7. 7. LEARNING ¨ Test each part thoroughly ¨ Unit ¨ Test ways of working together ¨ Component Integration ¨ Test how it all comes together ¨ Functional This is how the parts becomes a Pen! 7
  8. 8. But …. what about the things you do not see?
  9. 9. LEARNING CONTINUES … ¨ Test the Non Functionals ¨ NFRs ¨ Test the 3rd-party integration / interactions ¨ Integration 9
  10. 10. How does this apply to Software?
  11. 11. 11
  12. 12. Flight Search Search Results Flight Details Passenger Info Payment Confirmation Application Server DB
  13. 13. LEARNING CONTINUES … ¨ Test each part thoroughly ¨ Test ways of working together ¨ Test how it all comes together ¨ Test the Non Functionals ¨ Test the 3rd-party integration / interactions ¨ Understand Architecture – system & components ¨ Build Quality-in by Testing early 13
  14. 14. Practices
  15. 15. Test Automation A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
  16. 16. Test Automation A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
  17. 17. Why do we do Test Automation?
  18. 18. QUICK FEEDBACK
  19. 19. How to get quick feedback from Test Automation?
  20. 20. •  “Succeeding with Agile” – Mike Cohn •  Martin Fowler – Test Pyramid martinfowler.com/bliki/TestPyramid.html THE TEST PYRAMID
  21. 21. TEST PYRAMID Unit (xUnit / JavaScript) Manual / Exploratory Component Integration View Web Service UI Cost Impact Time Business- facing Tests Technology- facing Tests
  22. 22. TEST PYRAMID … INCLUDES NFRS Unit (xUnit / JavaScript) Component Integration View Web Service UI P e r f o r m a n c e S e c u r i t y Accessibility Manual / Exploratory
  23. 23. REALITY
  24. 24. ICE-CREAM CONE ANTI PATTERN Manual / Exploratory UI Web Service View JavaScript Integration Unit
  25. 25. Web Service View JavaScript Integration Unit Developers Test Pyramid QA Team Test Pyramid DUAL TEST PYRAMID ANTI-PATTERN Manual / Exploratory UI Web Service
  26. 26. CUP-CAKE ANTI-PATTERN
  27. 27. Is that enough?
  28. 28. Continuous Integration (CI)
  29. 29. CONTINUOUS INTEGRATION (CI) ”… is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible…." -  Martin Fowler, ThoughtWorks Chief Scientist Ø  http://www.thoughtworks.com/continuous-integration
  30. 30. CI PROCESS
  31. 31. TEST AUTOMATION FRAMEWORK DESIGN CRITERIA Maintainable Scalable Browser / Device support Support features of Product-under-test Easy to Use Different Environments Parallel Execution Tool support Reports & Metrics Support the types of testing required Operating System & Database support Run locally & remotely Language / tool restrictions
  32. 32. PRINCIPLES FOR TEST AUTOMATION FRAMEWORK Design Patterns Abstraction Layers Headless executing Evolve Code Quality Take Screenshots Refactor Tools & Utilities Extensible Run via CI Logging Video Recording Test Data
  33. 33. Understand the system(s) / product(s) you need to test!! HOW DO YOU DECIDE WHICH PRACTICE TO USE?
  34. 34. Sample Test Automation Framework Architecture
  35. 35. FRAMEWORK ABSTRACTION LAYERS
  36. 36. Summary - Test Automation Framework “Best” Practices
  37. 37. Assertions & Validations In Business Layer Model Test Data Proper abstraction layers Pages as Dummy objects Evolve Programming practices OOPs Design Patterns Identify intent in business terminology Build Tools & Utilities
  38. 38. REFERENCES Page Objects – Google https://code.google.com/p/selenium/wiki/PageObjects Page Objects – Martin Fowler http://martinfowler.com/bliki/PageObject.html Perils of Page-Object Pattern – Anand Bagmar http://essenceoftesting.blogspot.in/2014/09/perils-of-page-object-pattern.html Test Design Consideration http://docs.seleniumhq.org/docs/06_test_design_considerations.jsp
  39. 39. Evolve as you Learn
  40. 40. @BagmarAnand about.me/anand.bagmar essenceoftesting.blogspot.com THANK YOU

×