The benefits of BDD (Behaviour-Driven Development)-style automated acceptance tests are huge. Far beyond simply testing your application, BDD uses automated acceptance tests to improve team collaboration and communication, focus development efforts on truly valuable features, and provide meaningful progress reports and reliable feature documentation.
However one of the biggest challenges to implementing Automated Acceptance Testing is writing them in a way that will be easy to maintain as the project progresses. Indeed, the cost of maintaining the acceptance test suite should not be more than the value that it provides.
This talk explores strategies for writing maintainable and meaningful automated acceptance tests, including aspects such as:
Challenges to maintaining automated acceptance tests
How to organise and structure your tests more effectively
Writing truly meaningful acceptance tests
When to test the UI, and when to test the backend
How to deal with database setup and teardown
How to avoid test fragility
How to get the most out of ATDD reporting