Acceptance Test-Driven Development (ATDD)
A collaborative approach where the team agrees on acceptance criteria and turns them into tests before any implementation starts, using those tests to guide and verify delivery.
Key Points
- Involves product owner, developers, and testers jointly defining acceptance criteria.
- Acceptance criteria are converted into executable tests prior to coding.
- Clarifies scope and Definition of Done, reducing ambiguity and rework.
- Often uses Given-When-Then scenarios that serve as living documentation.
Example
Before starting a new refund feature, the product owner, QA, and developers collaborate to write Given-When-Then acceptance scenarios (e.g., valid card, expired card, partial refund). They automate these tests and then implement the code until all acceptance tests pass.
PMP Example Question
Which practice ensures a shared understanding of requirements by collaboratively defining acceptance criteria and creating tests before development begins?
- Test-Driven Development (TDD)
- Acceptance Test-Driven Development (ATDD)
- User Acceptance Testing (UAT)
- Exploratory testing
Correct Answer: B — Acceptance Test-Driven Development
Explanation: ATDD focuses on collaboratively defining acceptance criteria and building acceptance tests before work starts. TDD targets unit-level tests, UAT occurs near the end, and exploratory testing is unscripted test design during execution.