agile3
Engineering Practices

Acceptance Test Driven Development (ATDD)

Writing acceptance tests together with the business before coding, so everyone agrees what done means.

2 min read · Practitioner

In 30 seconds

  • Business, developers and testers agree examples before building.
  • The examples become automated acceptance tests.
  • Code is written to make those tests pass.

How it works

  1. Business, development and testing perspectives meet (often called the three amigos).
  2. They agree concrete examples of how a story should behave.
  3. The examples are written as acceptance tests, usually automated.
  4. Developers build until the tests pass.

ATDD, BDD and TDD

ATDD and BDD are close cousins: both start from shared examples. BDD adds a specific language style (Given, When, Then). TDD works one level lower, on units of code. See TDD vs BDD.

Why teams use it

  • Fewer misunderstandings about acceptance criteria
  • Tests that document real business rules
  • A clear finish line for every story

Myth vs reality

Myth · ATDD is a testing phase.
Reality · It happens before coding, as part of refinement.
Myth · Testers write the acceptance tests alone.
Reality · The three perspectives write them together.
Myth · Every example must be automated.
Reality · Automate the important ones; others can stay as examples.

The AI angle

ATDD fits AI-assisted development well: agreed acceptance tests give AI-generated code a clear, executable target and a way to check it.

Spec-Driven Development →

FAQ

Who are the three amigos?

Someone representing business, development and testing.

When do we write the tests?

During refinement or at the start of the story.

What tools are used?

Any test framework; Cucumber and FitNesse are common.