Skip to content
tezvyn:

ATDD: Aligning Code with Business Needs Before You Build

Source: Wikipedia: Acceptance test-driven developmentHardHow cards are made

Acceptance Test-Driven Development (ATDD) is a communication framework where business, developers, and testers write acceptance tests together *before* coding begins. This ensures everyone understands the requirements.

The mental model

Acceptance Test-Driven Development (ATDD) is primarily a communication process, not a testing technique. It centers on the conversation between business stakeholders, developers, and testers to create a shared understanding of requirements before any implementation begins. The acceptance tests are the tangible output of this collaborative discussion.

How it works

ATDD is based on a collaborative meeting (often called a "Three Amigos" meeting) involving a business representative, a developer, and a tester. They discuss a feature or user story and define concrete examples of its expected behavior. These examples are then formalized into acceptance tests, often written in a format understandable by non-technical stakeholders. These tests guide development and serve as the ultimate definition of "done."

When to use it

Use ATDD to bridge the gap between abstract business requirements and concrete technical implementation. It is highly effective for ensuring new features deliver the intended business value and behave exactly as the customer expects. The process helps teams avoid ambiguity, reduce rework, and build the right software by clarifying requirements upfront.

When not to use it

ATDD's value is minimal without active collaboration between business, development, and testing. If business stakeholders are unavailable for discussion, or if requirements are handed down without an opportunity for clarification, the core benefit of building a shared understanding is lost. It is a process for discovery, not for verifying static, unchangeable specifications.

One canonical example

A product owner, developer, and QA engineer meet to discuss a new "shopping cart checkout" feature. They talk through scenarios: a successful purchase with a valid credit card, a failed purchase with an expired card, and an attempt to use a discount code twice. For each scenario, they agree on the exact system behavior. These agreed-upon examples become the acceptance tests that drive development and confirm the feature is complete.

Interview question

Which aspect best highlights the fundamental nature of Acceptance Test-Driven Development (ATDD)?

  • a.Its method of automating acceptance tests to accelerate the release cycle.
  • b.Its focus on generating comprehensive test reports for management.
  • c.Its technique for developers to write unit tests before writing production code.
  • d.Its emphasis on a collaborative dialogue among business, developers, and testers to define requirements upfront.Correct
Why?

The card explicitly states ATDD is "primarily a communication process" centered on "conversation between business stakeholders, developers, and testers to create a shared understanding of requirements before any implementation begins." Option C describes Test-Driven Development (TDD), which is a developer-centric practice for unit testing, distinct from ATDD's focus on cross-functional collaboration for acceptance criteria.

Just read this? Test yourself on what you have been reading.

Read the original → en.wikipedia.org

Put your scrolling time to good use

Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.

The iPhone app is on the way

We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.

Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.

Get it on Google PlayiPhone app coming soon

We are hiring for this. Open roles that interview on agile — each one lists the topics its interview covers.

See open roles