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.

Test Automation - Principles and Practices

71,817 views

Published on

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

Published in: Software
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Thanks for sharing this. It was very informative. I would like to let everyone know that at Cycloides, one of the top global Information Technology Company in Canada, we provide high-tech software services to our clients. To know more about our software products and services, please visit http://www.cycloides.com/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

×