Acceptance testing, Acceptance Test Driven Development (ATDD)
Acceptance test–driven development (ATDD) is a development methodology based on communication between the business customers, the developers, and the testers.
ATDD is closely related to test-driven development (TDD). It differs by the emphasis on developer-tester-business customer collaboration. ATDD encompasses acceptance testing, but highlights writing acceptance tests before developers begin coding.
Test format
Acceptance tests usually follow this form:
Given (setup) - A specified state of a system
When (trigger) - An action or event occurs
Then (verification) - The state of the system has changed or an output has been produced
Also, it is possible to add Statements that start with AND in any of the sections below (Given, When, Then).
For the example requirement, the steps could be listed as:
ATDD vs TDD vs BDD
Approaches / Comparison Parameters | ATDD | TDD | BDD |
Users Involved | Communication mechanism between Business user, Developer, Tester. | Developer only. | Combination of ATDD and TDD. |
Focus | Focus on capturing requirements in acceptance test. Technique to bring the customer in design phase. | TDD is model and paradigm. | Focus on behavioral aspect of system for customer and developer. Bring the customer in testing phase. |
Automation Required | No, but helps with regression. | Yes. Must have. | Yes. Must have. |
Target level | Avoid implementation details. | Targeted at Implementation specific. | Both of ATDD and TDD. |
End Users | Should be readable and focused for customers. | Should be understood by developers. | Should be understandable for both customers and IT team. |
Last updated