Thucydides – next generation acceptance testing with WebDriver


Published on

Presentation from YaC 2012 (October 2012) in Moscow, Selenium Camp 2012 in Kiev (February 2012) about new tool for acceptance testing that has great integration with WebDriver and allows creating clear tests with great reporting.

Published in: Technology, Education

Thucydides – next generation acceptance testing with WebDriver

  1. 1. Thucydides – next generation acceptance testing with WebDriver Mikalai Alimenkou @xpinjection 01.10.2012
  2. 2. Automated acceptance testing is important part of Agile approachesACCEPTANCE TESTS
  3. 3. Main questions for any team How to build How to build right product right? product? Technology Business facing facing
  4. 4. Old good Scrum
  5. 5. Story planning in Agile Customer Whole team Acceptance + CriteriaCustomer QA engineer Acceptance Behavior + Tests Samples Whole team Functional Unit Integration Tests Tests Tests
  6. 6. Acceptance Criteria format ObservablePreconditions Actor Action result Given [Precondition] When [Actor + Action] Then [Observable Result]
  7. 7. Specification by example
  8. 8. Automated acceptance testsVisibility Reduced costsCollaboration Reduced risks
  9. 9. There are many ways to automate acceptance testsIMPLEMENTATION OPTIONS
  10. 10. Large set of available tools
  11. 11. But we have WebDriver?!? Get Driver Use Driver Provide Data Use Locators
  12. 12. WebDriver with Page Object search order Index Page Search Page login search filter Main Page open see more Details close Page show me like this
  13. 13. Main idea of Thucydides Acceptance Tests Page Objects
  14. 14. Every test consists of steps WebDriver Test = Test Case
  15. 15. Test steps is great idea! Measure Thinking progress tool Clearer Reusable tests Steps
  16. 16. Thucydides is a great framework for acceptance or functional testingTHUCYDIDES IN PRACTICE
  17. 17. Specify requirements Module Feature Story
  18. 18. Create acceptance test Steps Story Acceptance criteria High-level steps
  19. 19. Or more technical test Story Managed driver Pages Steps Test logic
  20. 20. Implement steps Base class Page Objects Low-level steps Step marker
  21. 21. Locationvalidation Add Page Objects Base class Fields Driver Syntax sugar
  22. 22. Reporting is always important
  23. 23. General overview Statistics, status and features matrix
  24. 24. Report by featuresCoverage, progress and traceability
  25. 25. Report by storiesStatus and bug/task tracking integration
  26. 26. Detailed test report Time, steps, data and screenshots
  27. 27. Historical trends Trends by test status with zoom option
  28. 28. Integration with task trackers • Bidirectional • Performs updates • Apply workflow
  29. 29. Run tests in different browsers
  30. 30. Flexible Page Objects
  31. 31. Even more…• Syntax sugar• Lots of utility methods on webelements• Integration with Spring• Easy work with tables• State between steps• Data-driven tests
  32. 32. Framework has almost everything for all team membersTHUCYDIDES BENEFITS
  33. 33. Easy ATDD/BDD approach Automated AcceptanceAcceptance Tests criteria Analysis Test Implementation Design Automated Acceptance Acceptance Tests criteria
  34. 34. Clear iteration progress@Pending tests VS iteration test suite
  35. 35. Less technical tests Easy to Clear Readable maintain
  36. 36. Happy managers
  37. 37. Useful links• - official Thucydideswebsite• - project onGitHub
  38. 38. @xpinjection