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)

SearchNetworking
  • microsegmentation

    Microsegmentation is a security technique that splits a network into definable zones and uses policies to dictate how data and ...

  • Wi-Fi 6E

    Wi-Fi 6E is one variant of the 802.11ax standard.

  • network packet

    A network packet is a basic unit of data that's grouped together and transferred over a computer network, typically a ...

SearchSecurity
  • MICR (magnetic ink character recognition)

    MICR (magnetic ink character recognition) is a technology invented in the 1950s that's used to verify the legitimacy or ...

  • What is cybersecurity?

    Cybersecurity is the protection of internet-connected systems such as hardware, software and data from cyberthreats.

  • Android System WebView

    Android System WebView is a system component for the Android operating system (OS) that allows Android apps to display web ...

SearchCIO
  • privacy compliance

    Privacy compliance is a company's accordance with established personal information protection guidelines, specifications or ...

  • contingent workforce

    A contingent workforce is a labor pool whose members are hired by an organization on an on-demand basis.

  • product development (new product development -- NPD)

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

SearchHRSoftware
  • talent acquisition

    Talent acquisition is the strategic process employers use to analyze their long-term talent needs in the context of business ...

  • employee retention

    Employee retention is the organizational goal of keeping productive and talented workers and reducing turnover by fostering a ...

  • hybrid work model

    A hybrid work model is a workforce structure that includes employees who work remotely and those who work on site, in a company's...

SearchCustomerExperience
  • Salesforce Trailhead

    Salesforce Trailhead is a series of online tutorials that coach beginner and intermediate developers who need to learn how to ...

  • Salesforce

    Salesforce, Inc. is a cloud computing and social enterprise software-as-a-service (SaaS) provider based in San Francisco.

  • data clean room

    A data clean room is a technology service that helps content platforms keep first person user data private when interacting with ...

Close