ThucydidesAutomated Acceptance Testing with Style
Thucydides is an open source library that letsyou use WebDriver/Selenium 2 to write betteracceptance tests.
Thucydides helps you: Write tests that are more flexible and easier to maintain Produce illustrated, narrative reports about your tests Map your automated tests back to your requirements more easily See how much of your application is actually being tested And measure project progress
Why Thucydides? Thucydides starts with the Requirements you need to implement. Each requirement has Acceptance Criteria, which help clarify the requirement. It is these Acceptance Criteria that we automate with Thucydides.
Why Thucydides? In Thucydides, you build a simple model of your requirements in Java. This lets developers specify exactly what requirement they are testing for each test, and helps Thucydides keep track of what application features and requirements have been tested.
Why Thucydides? You describe your acceptance criteria in high-level business terms. Developers then record these acceptance criteria using either a BDD tool such as easyb, or just in Java using JUnit, so that Thucydides can run them. These tests get executed, but they are reported as "pending".
Why Thucydides? Developers implement the acceptance criteria, so that they can run against the actual application. Under the hood, tests are broken down into nested steps for better readability and easier maintenance. Web tests are written using the popular open source Selenium 2/WebDriver library.
Why Thucydides? Thucydides provides detailed reports on the test results and execution, including: ◦ A narrative for each test ◦ Screen shots for each step in the test ◦ Test results including execution times and error messages if a test failed
Why Thucydides? But Thucydides goes beyond just reporting on test execution. It also tells you: ◦ How much of your requirements have been tested ◦ How much is working, and ◦ How much remains to be done
Why Thucydides? Thucydides also reports on project history and progress: ◦ Features specified over time ◦ Features implemented and tested over time, and ◦ Failing tests over time
Useful links Getting Started with Thucydides The Thucydides User Manual