Browse Definitions :
Definition

acceptance test–driven development (ATDD)

Acceptance test–driven development (ATDD) is a collaborative process where developers, testers and business representatives come together to work out requirements, perceive potential pitfalls and reduce the chance of errors before coding begins. ATDD is written from the perspective of the user and answers the question "Is the code doing what it's supposed to do?"

The first step in ATDD is to assemble all parties involved and hold a specification workshop. Once requirements are defined and clarified in the workshop, the testers can create automated tests from the specified criteria. Quality assurance (QA) testers work with developers in order to implement the first test and automate it. ATDD also makes unit testing easier to implement.

ATDD test format

ATDD tests usually adhere to the following format:

Given: A setup, specified state.

And (optional): Setup continued.

When: Trigger, an action or event happens.

Then: Verification. State has changed or output is produced.

An example using the ATDD format:

Given: Movie listed on catalog of video streaming app.

And: User is a paid subscriber.

When: User selects movie to watch from app catalog.

Then: Movie is streamed for user.

Benefits of ATDD

ATDD brings everyone involved in development together to discuss the criteria around which an app is built. Clarity on requirements helps reduce wasted efforts and understanding how a business expects things to function can reduce recoding and errors. ATDD can often be beneficial for developers using Agile.

Even in cases where testing is not automated or the testers have little knowledge of coding, there is still value in clarifying business conditions and logic. All teams can benefit from collaboration with business experts and early discussion of how to test so that necessary requirements are filled. The end result of ATDD is a better, more reliable application.

ATDD vs. TDD             

While ATDD concentrates on collaboration and testing for user functionality, test-driven development (TDD) follows more of a developer-focused approach. TDD focuses on running and automating unit tests and is easier to implement. Both ATDD and TDD aim to reduce unnecessary code and developer resources, while creating comprehensive requirements and testing continuously to make sure a product meets user expectations.

This was last updated in July 2019

Continue Reading About acceptance test–driven development (ATDD)

Networking
  • subnet (subnetwork)

    A subnet, or subnetwork, is a segmented piece of a larger network. More specifically, subnets are a logical partition of an IP ...

  • secure access service edge (SASE)

    Secure access service edge (SASE), pronounced sassy, is a cloud architecture model that bundles together network and cloud-native...

  • Transmission Control Protocol (TCP)

    Transmission Control Protocol (TCP) is a standard protocol on the internet that ensures the reliable transmission of data between...

Security
  • cyber attack

    A cyber attack is any malicious attempt to gain unauthorized access to a computer, computing system or computer network with the ...

  • What is security information and event management (SIEM)?

    Security information and event management (SIEM) is an approach to security management that combines security information ...

  • digital signature

    A digital signature is a mathematical technique used to validate the authenticity and integrity of a digital document, message or...

CIO
  • product development (new product development)

    Product development -- also called new product management -- is a series of steps that includes the conceptualization, design, ...

  • innovation culture

    Innovation culture is the work environment that leaders cultivate to nurture unorthodox thinking and its application.

  • technology addiction

    Technology addiction is an impulse control disorder that involves the obsessive use of mobile devices, the internet or video ...

HRSoftware
  • organizational network analysis (ONA)

    Organizational network analysis (ONA) is a quantitative method for modeling and analyzing how communications, information, ...

  • HireVue

    HireVue is an enterprise video interviewing technology provider of a platform that lets recruiters and hiring managers screen ...

  • Human Resource Certification Institute (HRCI)

    Human Resource Certification Institute (HRCI) is a U.S.-based credentialing organization offering certifications to HR ...

Customer Experience
  • contact center agent (call center agent)

    A contact center agent is a person who handles incoming or outgoing customer communications for an organization.

  • contact center management

    Contact center management is the process of overseeing contact center operations with the goal of providing an outstanding ...

  • digital marketing

    Digital marketing is the promotion and marketing of goods and services to consumers through digital channels and electronic ...

Close