What is Acceptance Test Driven Development (ATTD)?

  • Post author:
  • Reading time:2 mins read
You are currently viewing What is Acceptance Test Driven Development (ATTD)?
Acceptance Test Driven Development

Acceptance test driven development takes the TDD practice and applies it to acceptance tests. On day 1 of the Sprint, before we begin coding a particular user story, we start by reviewing the acceptance criteria and thinking about how we will verify via tests that this story is complete. Typically, a single acceptance criteria might map to multiple acceptance tests. So we start out by automating these acceptance tests (using specification by example) and running them. These tests will fail because development hasn’t started yet.

Developers go through their TDD cycles, and continue until the acceptance test passes. Then they move to the second acceptance test and so on. So 1 acceptance criteria leads to multiple acceptance tests and each acceptance test leads to many integration and unit tests. This way when the team is done with coding for a particular user story, they are also done with most of the functional testing for that story. And running the suite of other tests also ensures that nothing else broke.

In this way we can maintain a consistent pace focused on delivery of working software even as the application grows by ensuring that everyone is involved in testing, balancing out the different types of tests, and minimizing the amount of manual testing required.

Also check out the entire Agile Testing series: