Chapter 7. Acceptance Test–Driven Development (ATDD)

Acceptance tests ensure that a software system meets the requirements of a customer. Developing acceptance tests before starting to implement minimizes delays in development and the chances for miscommunication and misunderstanding. ATDD is as much the conversations about the tests as it is the tests themselves. These conversations are used to create common understanding of the requirements.1

Two Flows for Development

Building software requires people with three different focuses to collaborate: customers, developers, and testers. The customer facet (often represented by the “product owner” or “business analyst”) determines the requirements, develops acceptance tests, and sets priorities. The ...

Get Essential Skills for the Agile Developer: A Guide to Better Programming and Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.