{"id":15142,"date":"2025-10-08T10:54:54","date_gmt":"2025-10-08T10:54:54","guid":{"rendered":"https:\/\/www.aegissofttech.com\/insights\/?p=15142"},"modified":"2026-03-25T05:04:41","modified_gmt":"2026-03-25T05:04:41","slug":"what-is-acceptance-test-driven-development","status":"publish","type":"post","link":"https:\/\/www.aegissofttech.com\/insights\/what-is-acceptance-test-driven-development\/","title":{"rendered":"What Is Acceptance Test-Driven Development &amp; When to Use It"},"content":{"rendered":"\n<p>What if you could prevent 80% of software defects before a single line of code is written?<\/p>\n\n\n\n<p>Agile teams often fail not because of poor code, but because of misaligned expectations. Requirements are misunderstood. Acceptance criteria are ambiguous. And validation happens too late. This leads to rework, delays, and features that miss the mark.<\/p>\n\n\n\n<p>So what\u2019s the solution QA teams are looking for? <strong>Acceptance Test-Driven Development (ATDD).&nbsp;<\/strong><\/p>\n\n\n\n<p>In this blog, we will explore what acceptance test-driven development is in Agile, how it works, and best practices. You\u2019ll also discover the tools that support ATDD, real-world strategies for adoption, and when this methodology delivers maximum impact.&nbsp;<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Key Takeaways<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u2022 ATDD is a collaborative Agile practice where <strong><em>product owners, developers, and QA define acceptance tests before coding begins.<\/em><\/strong><br><br>\u2022 The goal is to <strong><em>create a shared understanding of requirements and catch defects early<\/em><\/strong>, before they reach production.<br><br>\u2022 Teams write clear, testable <strong><em>Given\u2013When\u2013Then<\/em><\/strong><em> <\/em>scenarios that guide development and serve as automated acceptance tests.<br><br>\u2022 Common tool choices include<em> <\/em><strong><em>Cucumber<\/em><\/strong><em>, <\/em><strong><em>SpecFlow<\/em><\/strong><em>, <\/em><strong><em>Robot Framework<\/em><\/strong><em>, and <\/em><strong><em>FitNesse<\/em><\/strong> for easy automation and CI\/CD integration.<br><br>\u2022 ATDD <strong><em>reduces rework, accelerates feedback<\/em><\/strong>, and ensures every feature meets real user expectations.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What is Acceptance Test-Driven Development (ATDD)?<\/h2>\n\n\n\n<p>Acceptance Test-Driven Development (ATDD) is a collaborative Agile practice in which stakeholders jointly define and automate acceptance criteria <em>before<\/em> any code is written. These stakeholders typically include product owners, developers, and QA engineers.<\/p>\n\n\n\n<p>Unlike traditional testing, which validates functionality after development, ATDD shifts the focus to a shared understanding of what the software should do. From the user\u2019s perspective.<\/p>\n\n\n\n<p>These acceptance tests are often written in natural or domain-specific language. They serve as living documentation and executable specifications that articulate intended system behaviour.<\/p>\n\n\n\n<p>This approach evolved naturally from the limitations of siloed testing and the need for faster, more aligned delivery in Agile and DevOps workflows.&nbsp;<\/p>\n\n\n\n<p>The core principle of ATDD is simple. Bring together product owners, developers, and QA engineers to co-author acceptance tests that describe the expected behaviour of a feature.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ATDD Testing in Practice: How It Works<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"597\" src=\"https:\/\/www.aegissofttech.com\/insights\/wp-content\/uploads\/2025\/10\/ATDD-Testing-in-Practice-1024x597.webp\" alt=\"An image showing the ATDD cycle\n\" class=\"wp-image-15143\" title=\"An image showing the ATDD cycle\" srcset=\"https:\/\/www.aegissofttech.com\/insights\/wp-content\/uploads\/2025\/10\/ATDD-Testing-in-Practice-1024x597.webp 1024w, https:\/\/www.aegissofttech.com\/insights\/wp-content\/uploads\/2025\/10\/ATDD-Testing-in-Practice-300x175.webp 300w, https:\/\/www.aegissofttech.com\/insights\/wp-content\/uploads\/2025\/10\/ATDD-Testing-in-Practice-768x448.webp 768w, https:\/\/www.aegissofttech.com\/insights\/wp-content\/uploads\/2025\/10\/ATDD-Testing-in-Practice.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>ATDD process starts with a collaboration session, often called the \u201cThree Amigos\u201d meeting. The product owner, developer, and QA engineer come together to define clear, testable acceptance criteria for a user story.&nbsp;<\/p>\n\n\n\n<p>This triad ensures that business intent, technical feasibility, and quality concerns are aligned from the start.<\/p>\n\n\n\n<p>Next, the team writes acceptance tests before development begins. These tests are typically framed in a structured, readable format like <em>Given-When-Then<\/em>, outlining expected behavior in response to specific inputs or conditions.&nbsp;<\/p>\n\n\n\n<p>For example:<\/p>\n\n\n<div style=\"border:1px solid #000; padding:15px; font-family:Arial, sans-serif; line-height:1.6; background-color:#fff;\">\n  <strong>Online Payment Authorization<\/strong><\/p>\n<p>  <strong>User Story:<\/strong> <em>As a customer, I want to pay for my order using a credit card so that I can complete the checkout process securely.<\/em><\/p>\n<p>  <strong>Acceptance Criteria (ATDD Style):<\/strong><\/p>\n<p><strong>Scenario:<\/strong> Successful payment with valid credit card<\/p>\n<p style=\"color:#006400; margin-left:15px;\">\n    Given the user is on the checkout page<br \/>\n    And has added items to the cart<br \/>\n    And enters a valid credit card number, expiration date, and CVV<br \/>\n    When the user clicks the &#8220;Pay Now&#8221; button<br \/>\n    Then the payment should be authorized<br \/>\n    And the order confirmation page should be displayed<br \/>\n    And an order confirmation email should be sent to the user\n  <\/p>\n<hr style=\"border:0; border-top:1px solid #aaa;\">\n<p><strong>Scenario:<\/strong> Payment fails due to expired credit card<\/p>\n<p style=\"color:#006400; margin-left:15px;\">\n    Given the user is on the checkout page<br \/>\n    And enters a credit card with a past expiration date<br \/>\n    When the user clicks &#8220;Pay Now&#8221;<br \/>\n    Then the payment should be declined<br \/>\n    And an error message should be displayed: <em>&#8220;Your card has expired. Please try another card.&#8221;<\/em>\n  <\/p>\n<hr style=\"border:0; border-top:1px solid #aaa;\">\n<p><strong>Scenario:<\/strong> Payment fails due to missing CVV<\/p>\n<p style=\"color:#006400; margin-left:15px;\">\n    Given the user is on the checkout page<br \/>\n    And leaves the CVV field blank<br \/>\n    When the user clicks &#8220;Pay Now&#8221;<br \/>\n    Then the form should not be submitted<br \/>\n    And an inline validation message should appear: <em>&#8220;CVV is required.&#8221;<\/em>\n  <\/p>\n<\/div>\n\n\n\n<p>Once written, these tests are automated and integrated into the CI\/CD pipeline, ensuring they run consistently and provide continuous feedback as code evolves.<\/p>\n\n\n\n<p>This process enables early validation, reduces costly surprises late in the sprint, and fosters a shared language for quality. This makes ATDD a powerful catalyst for reliable, user-centric development.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why ATDD Works Well in Agile Environments<\/h3>\n\n\n\n<p>ATDD resonates strongly with the foundational principles of Agile collaboration, early feedback, and iterative progress. It eliminates traditional handoffs encouraging all key stakeholders to contribute to requirement clarity from the beginning of the sprint cycle.<\/p>\n\n\n\n<p>You could say that the main aim in ATDD is that everyone understands not just <em>what<\/em> to build, but <em>why<\/em> it matters.<\/p>\n\n\n\n<p>During sprint planning and backlog refinement, ATDD helps teams translate user stories into precise acceptance criteria.&nbsp;<\/p>\n\n\n\n<p>Developers write code that passes clearly defined tests. Testers validate functionality against real-world scenarios, and product owners gain confidence that user needs are being met.&nbsp;<\/p>\n\n\n\n<p>It also accelerates <a href=\"https:\/\/www.aegissofttech.com\/insights\/what-is-automation-testing\/\">test automation<\/a> maturity, as acceptance tests become part of the regression suite that evolves with the product. This creates a closed feedback loop where working software is continuously validated against shared expectations.<\/p>\n\n\n\n<p>Turn Misaligned Expectations into Reliable Features. ATDD ensures your team shares a clear understanding of requirements before development begins. Our&nbsp;<a href=\"https:\/\/www.aegissofttech.com\/software-testing-services\" target=\"_blank\" rel=\"noreferrer noopener\">Software Testing Services<\/a>&nbsp;help you implement acceptance tests effectively, reducing rework and accelerating delivery.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ATDD vs TDD vs BDD: Understanding the Differences<\/h2>\n\n\n\n<p>While Acceptance Test-Driven Development (ATDD), Test-Driven Development (TDD), and <a href=\"https:\/\/www.aegissofttech.com\/insights\/what-is-behavior-driven-development\/\">Behavior-Driven Development (BDD)<\/a> share a common goal, they differ in scope, focus, and team involvement.<\/p>\n\n\n\n<p>All three frameworks work towards improving software quality through testing but with various differences.&nbsp;<\/p>\n\n\n\n<p>Let\u2019s clearly understand how <a href=\"https:\/\/www.aegissofttech.com\/insights\/atdd-vs-tdd-vs-bdd\/\">ATDD vs TDD vs BDD<\/a> compare in terms of various critical aspects.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Aspect<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>ATDD<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>TDD<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>BDD<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Focus<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">Acceptance criteria<\/td><td class=\"has-text-align-center\" data-align=\"center\">Unit-level functionality<\/td><td class=\"has-text-align-center\" data-align=\"center\">System behavior from the user&#8217;s perspective<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Who Writes Tests<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">Product owner, developer, QA (collaboratively)<\/td><td class=\"has-text-align-center\" data-align=\"center\">Developers<\/td><td class=\"has-text-align-center\" data-align=\"center\">Product owner, developer, QA (collaboratively)<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Test Language<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">Business-readable<\/td><td class=\"has-text-align-center\" data-align=\"center\">Programming language<\/td><td class=\"has-text-align-center\" data-align=\"center\">Gherkin (Given-When-Then format)<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Collaboration<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">High<\/td><td class=\"has-text-align-center\" data-align=\"center\">Low<\/td><td class=\"has-text-align-center\" data-align=\"center\">High<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>When Written<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">Before development starts<\/td><td class=\"has-text-align-center\" data-align=\"center\">Before writing code<\/td><td class=\"has-text-align-center\" data-align=\"center\">Before writing code<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Best For<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">Aligning features with business expectations<\/td><td class=\"has-text-align-center\" data-align=\"center\">Ensuring unit-level code correctness<\/td><td class=\"has-text-align-center\" data-align=\"center\">Describing user scenarios with shared understanding<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>ATDD is ideal when the goal is to eliminate ambiguity early.&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.aegissofttech.com\/insights\/what-is-test-driven-development\/\">TDD<\/a> is best when low-level correctness and refactor-friendly code are priorities.&nbsp;<\/p>\n\n\n\n<p>BDD is mostly used for user-centric behavior, and team-wide collaboration needs to be emphasized.<\/p>\n\n\n\n<p>Many modern teams blend these approaches. They use ATDD for acceptance-level confidence, TDD for code quality, and BDD for shared understanding of features.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Popular ATDD Tools and Frameworks<\/h2>\n\n\n\n<p>Adopting Acceptance Test-Driven Development (ATDD) is much easier when you choose the right tools to support your team\u2019s workflow and technology stack.&nbsp;<\/p>\n\n\n\n<p>Several well-established ATDD tools also support Behavior-Driven Development (BDD), given their shared emphasis on collaboration and clarity.<\/p>\n\n\n\n<p>Here are some of the most widely used ATDD tools:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2022 Cucumber<\/h3>\n\n\n\n<p>One of the most popular tools for ATDD and BDD, Cucumber uses Gherkin syntax to write human-readable tests. It supports multiple languages, including Java, JavaScript, Ruby, and Kotlin. Its strong CI\/CD integrations make it a top choice for Agile teams.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2022 FitNesse<\/h3>\n\n\n\n<p>An open-source wiki-based framework that allows cross-functional teams to collaboratively define and run acceptance tests. It\u2019s particularly useful when business stakeholders are heavily involved in test definition.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2022 Robot Framework<\/h3>\n\n\n\n<p>A generic automation framework with a keyword-driven approach. It\u2019s ideal for teams using Python and looking for flexibility in writing both acceptance and functional tests.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2022 SpecFlow<\/h3>\n\n\n\n<p>Built for the .NET ecosystem, SpecFlow brings BDD\/ATDD principles into C# projects with strong Visual Studio integration and support for Gherkin syntax.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Choose the Right ATDD Tool<\/h2>\n\n\n\n<p>Before choosing the ATDD tool, you need to look at 4 key areas:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Language Compatibility<\/strong>: Choose a tool that aligns with your existing tech stack (e.g., Java \u2192 Cucumber, .NET \u2192 SpecFlow).<\/li>\n\n\n\n<li><strong>Team Familiarity<\/strong>: Tools with a lower learning curve ensure smoother adoption and fewer bottlenecks.<\/li>\n\n\n\n<li><strong>CI\/CD Integration<\/strong>: Ensure the tool integrates well with your build pipelines (Jenkins, GitHub Actions, Azure DevOps, etc.).<\/li>\n\n\n\n<li><strong>Test Management Support<\/strong>: Look for plugins or features that make it easier to manage, version, and trace test scenarios.<\/li>\n<\/ol>\n\n\n    \t<section class=\"call-to-action-section\">\n    \t\t<div class=\"call-to-action-container\">\n    \t\t\t<div class=\"call-to-action-body\">\n    \t\t\t\t<div class=\"cta-title\"><\/div>\n    \t\t\t\t<p><\/p>\n<div style='text-align:center; font-weight:bold; font-size:16px; color:#ffffff;'>\nPro tip for Seamless Integration:\n<\/div>\n<p>\nStart with one feature or epic and define ATDD tests collaboratively. Gradually integrate the tool into your CI\/CD pipeline so tests are run automatically with every commit or deployment. Over time, expand coverage and involve QA, developers, and product managers in regular scenario refinement sessions.<br \/>\n<\/p>\n    \t\t\t<\/div>\n    \t\t\t    \t\t<\/div>\n    \t<\/section>\n    \n\n\n\n<h2 class=\"wp-block-heading\">Best Practices for Successful ATDD Implementation<\/h2>\n\n\n\n<p>Strategy is key with any <a href=\"https:\/\/www.aegissofttech.com\/insights\/what-is-software-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">software testing methodology<\/a>. Additionally, ATDD success also relies on culture, clarity, and collaboration. Here are some of the best practices to guide your implementation:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Start Small with a Pilot Project&nbsp;<\/h3>\n\n\n\n<p>Before rolling out ATDD across your entire codebase, begin with a small, low-risk project or feature. This allows teams to experiment, iterate, and build confidence without disrupting core development efforts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Write Clear, Business-Focused Acceptance Criteria<\/h3>\n\n\n\n<p>Avoid vague or overly technical acceptance tests. Collaboratively define criteria that reflect real user needs using business language. This makes tests understandable and valuable to all stakeholders, not just developers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Engage Product Owners and QA Early<\/h3>\n\n\n\n<p>The most successful ATDD initiatives begin in sprint planning or backlog grooming. Ensure that product owners help define expected outcomes, and QA engineers contribute edge cases and test design insights, long before development starts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Continuously Refine Tests<\/h3>\n\n\n\n<p>Acceptance tests aren\u2019t \u201cwrite once and forget.\u201d Revisit and improve them during development to reflect changes in understanding or scope. Treat them as living documentation that evolves with the product.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Automate for Fast Feedback<\/h3>\n\n\n\n<p>Manually verifying acceptance tests slows progress and invites regression. Integrate ATDD tests into your CI\/CD pipeline to get real-time feedback with every code change. This reinforces test-driven habits and maintains confidence in releases.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Support Learning and Tool Adoption<\/h3>\n\n\n\n<p>Provide your team with training on ATDD tools like Cucumber, Robot Framework, or FitNesse. Encourage pair programming, knowledge sharing, and internal demos to foster adoption across roles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Putting ATDD into Action for Agile Success<\/h2>\n\n\n\n<p>Acceptance Test-Driven Development (ATDD) offers a powerful solution to one of Agile\u2019s most common challenges. Aligning business expectations with what\u2019s actually built and tested. ATDD helps foster serious collaboration between product owners, developers, and QA.&nbsp;<\/p>\n\n\n\n<p>With this, they make sure that acceptance criteria are clear, testable, and aligned with real user value before a single line of code is written.&nbsp;<\/p>\n\n\n\n<p>ATDD works best for teams dealing with rapidly evolving requirements, customer-centric features, and frequent releases. Especially when automated testing is already part of the workflow.&nbsp;<\/p>\n\n\n\n<p>That said, other approaches like TDD (which focuses on unit-level reliability) or BDD (which emphasizes user behavior) may be more suitable in situations where technical correctness or external-facing behavior is the main concern.<\/p>\n\n\n\n<p>At Aegis softtech, we help engineering teams implement test strategies that bridge the gap between development speed and product accuracy.&nbsp;<\/p>\n\n\n\n<p>Our <strong>QA <a href=\"https:\/\/www.aegissofttech.com\/automation-testing-services\">automation testing services<\/a><\/strong> are designed to support Agile and ATDD workflows, helping you ship high-quality software faster, with clarity and confidence.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is acceptance criteria vs definition of done in Agile?<\/h3>\n\n\n\n<p>Acceptance criteria are specific, detailed conditions a user story must meet to be accepted by the product owner. They define the scope and behavior of a single feature. Definition of Done (DoD) is a broader checklist that applies to all user stories, ensuring work meets the team\u2019s quality standards, like passing tests, code reviews, and documentation.<br>In short, Acceptance criteria = feature-level completeness, Definition of Done = team-level completeness.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is an example of ATDD?<\/h3>\n\n\n\n<p>Here\u2019s an example of ATDD<\/p>\n\n\n\n<p>User story: <em>\u201cAs a user, I want to reset my password so I can access my account if I forget it.\u201d<\/em><em><br><\/em> Acceptance criteria:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Given the user is on the login page<\/li>\n\n\n\n<li>When they click \u201cForgot Password\u201d and enter a valid email<\/li>\n\n\n\n<li>Then they should receive a password reset link<\/li>\n<\/ul>\n\n\n\n<p>This test is written <em>before<\/em> any code, and used to guide development and validation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is Cucumber in testing?<\/h3>\n\n\n\n<p>Cucumber is a popular open-source tool that supports Behavior-Driven Development (BDD) and ATDD. It allows teams to write test scenarios in Gherkin language (Given\u2013When\u2013Then format) using plain English. These scenarios are then linked to code and run as automated tests. Cucumber helps bridge the gap between business requirements and technical implementation in Agile testing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is a shift left approach?<\/h3>\n\n\n\n<p>The Shift Left approach in software testing means moving testing activities earlier in the development lifecycle. Instead of testing after development, teams test requirements, design, and code from the start, using practices like ATDD, TDD, and continuous integration. Shift Left helps catch bugs early, reduce costs, and accelerate feedback loops in Agile and DevOps environments.<\/p>\n","protected":false},"excerpt":{"rendered":" ","protected":false},"author":10,"featured_media":15179,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[93],"tags":[1524],"class_list":["post-15142","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-testing","tag-what-is-acceptance-test-driven-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/posts\/15142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/comments?post=15142"}],"version-history":[{"count":35,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/posts\/15142\/revisions"}],"predecessor-version":[{"id":18784,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/posts\/15142\/revisions\/18784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/media\/15179"}],"wp:attachment":[{"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/media?parent=15142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/categories?post=15142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aegissofttech.com\/insights\/wp-json\/wp\/v2\/tags?post=15142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}