{"id":10828,"date":"2022-09-21T18:02:16","date_gmt":"2022-09-21T18:02:16","guid":{"rendered":"https:\/\/cheesecakelabs.com\/blog\/"},"modified":"2022-09-21T18:22:38","modified_gmt":"2022-09-21T18:22:38","slug":"behavior-driven-development-bdd","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/","title":{"rendered":"What is Behavior-Driven Development (BDD) Framework?"},"content":{"rendered":"\n<p>In this complete guide to Behavior-Driven Development, we\u2019ll answer all your questions about this framework so you can understand all the benefits of BDD to start using it.<\/p>\n\n\n\n<p>Throughout this article, you\u2019ll find:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"#The-Definition-of-Behavior-Driven-Development\">Definition of Behavior-Driven Development<\/a><\/li><li><a href=\"#Test-Driven-Development-vs-Behavior-Driven-Development\">Difference between TDD and BDD<\/a><\/li><li><a href=\"#Using-BDD-to-solve-communication-issues\">How BDD can solve communication issues<\/a><\/li><li><a href=\"#The-Structure:-BDD-phases\">Three Phases of BDD<\/a><\/li><li><a href=\"#Understanding-BDD-through-an-example\">BDD Examples<\/a><\/li><li><a href=\"#What-are-the-benefits-of-BDD?\">Benefits of BDD<\/a><\/li><li><a href=\"#How-the-BDD-framework-helped-us-in-Cheesecake-Labs\">How BDD has helped Cheesecake Labs<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"The-Definition-of-Behavior-Driven-Development\"><strong>The Definition of Behavior-Driven Development<\/strong><\/h2>\n\n\n\n<p>BDD stands for Behavior-Driven Development.<\/p>\n\n\n\n<p>Originally created in 2003 by <a href=\"https:\/\/dannorth.net\/about\/\" target=\"_blank\" rel=\"noreferrer noopener\">Dan North<\/a>, it is known to be an <a href=\"http:\/\/www.agilenutshell.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Agile<\/a> approach to software development and it is emergent in this industry.<\/p>\n\n\n\n<p>It aims to do exactly what the title suggests: lead your development driven by behavior.<\/p>\n\n\n\n<p>BDD can be defined as a technique that encourages collaboration among developers, <a href=\"https:\/\/cheesecakelabs.com\/blog\/quality-assurance\/\" target=\"_blank\" rel=\"noreferrer noopener\">quality assurance<\/a>, and business analysts in a software project.<\/p>\n\n\n\n<p>Dan North himself developed the first automated BDD testing framework in Java: <a href=\"http:\/\/jbehave.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">JBehave<\/a>. And after that, came <a href=\"http:\/\/rspec.info\/\" target=\"_blank\" rel=\"noreferrer noopener\">RSpec<\/a> and <a href=\"https:\/\/cucumber.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cucumber<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Test-Driven-Development-vs-Behavior-Driven-Development\">Test Driven Development vs Behavior-Driven Development<\/h2>\n\n\n\n<p>Behavior-Driven Development actually began as an evolution or complement for <a href=\"https:\/\/cheesecakelabs.com\/blog\/tdd-mobile-dev-matter-timing\/\" target=\"_blank\" rel=\"noreferrer noopener\">TDD (Test Driven Development)<\/a>.<\/p>\n\n\n\n<p>Basically, TDD proposes the elaboration of simple tests before the code definition.&nbsp;<\/p>\n\n\n\n<p>But what to test and what to evaluate?<\/p>\n\n\n\n<p>Here comes the BDD. The main goal of BDD is to bring non-technical people to approach how to understand and define the tests.<\/p>\n\n\n\n<p>In fact, tests are not the main purpose of BDD. Practicing BDD means we\u2019ll specify and execute tests, but the main purpose is to achieve business goals and customer outcomes according to the application level.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Using-BDD-to-solve-communication-issues\"><strong>Using BDD to solve communication issues<\/strong><\/h2>\n\n\n\n<p>One of the biggest problems that a development team faces nowadays is communication.<\/p>\n\n\n\n<p>It is uncommon that a business analyst would ask a task for devs using technical language, because the analyst will be mainly worried about what the customer expects, and not about what technology the developers need to use.&nbsp;<\/p>\n\n\n\n<p>BDD helps simplify communication using scenarios described by the customer or analyst, and those become easily understood by the whole team.<\/p>\n\n\n\n<p>The core idea of BDD is that no one person or field has the full answer to anything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">&#8220;<strong>The Three Amigos<\/strong>&#8220;<\/h2>\n\n\n\n<p>Sometimes, there is a \u201cSpecification Workshop\u201d, where the Product Owner, Quality Assurance and Developers meet and discuss the requirement in the form of specification.<\/p>\n\n\n\n<p><strong>They are also called \u201cThe Three Amigos\u201d, and are made up of at least one person from the following 3 areas: Business, Development, and Testing.<\/strong><\/p>\n\n\n\n<p>Business professionals bring customer requirements and business needs.&nbsp;<\/p>\n\n\n\n<p>Developers know all the technical requirements and software needs, so they know how easily or hard the stories can be implemented. Testers identify <a href=\"https:\/\/cheesecakelabs.com\/blog\/edge-cases\" target=\"_blank\" rel=\"noreferrer noopener\">edge cases<\/a>, obstacles, and gaps in the stories.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"The-Structure:-BDD-phases\"><strong>The Structure: BDD phases<\/strong><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/bdd-phases.png\" alt=\"phases of behavior driven development framework\" class=\"wp-image-10829\" width=\"500\" height=\"409\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/bdd-phases.png 1000w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/bdd-phases-600x491.png 600w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/bdd-phases-768x628.png 768w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/bdd-phases-760x622.png 760w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Usually, BDD is divided into three phases, which are:&nbsp;<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Discovery<\/strong>: A story is explored in a conversation. First, we need to ensure the story will contribute to business outcomes, and so the development team needs to have a clear understanding of what is required. <br><br>It\u2019s when we discover what business outcome is served, what we need to do, what are the blockings, what can happen or not happen, etc.<br><\/li><li><strong>Formulation<\/strong>: The stories are formulated in a structured language, like the given-when-then pattern (see the structure below).<br><br>We need to be careful to certify we know what to do by the discovery phase.<br><\/li><li><strong>Automation<\/strong>: When necessary, the structured language can be used as executable specifications for automated tests.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Given-When-Then language structure<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/hJOoegLEi4n2PB5HwjmYpZRAdo7P8eNS3vSuiNAhQfhuccITrmlB6TacWUOERL3x2rDQdfinj-dv0McovAQnpMhTPPf7di7MudT5dfdG4yj_xd2J-7KLiqzhNdRNAYRsj7YqmmiKYo3a0Pka3Tri5uszQ8nE9b0W9iWfVRjHo-jLpaQZLD58zkcVLw\" alt=\"3 practices of BDD\"\/><\/figure>\n<\/div>\n\n\n<p>The main BDD structure is defined by at least 3 words: Given, When, and Then.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Given:<\/strong> An initial state or condition. Usually describes the context before your feature is triggered.<\/li><li><strong>When:<\/strong> An action is taken. The behavior being described.<\/li><li><strong>Then:<\/strong> The output of this behavior. The expected outcome has given the initial state and after the triggered behavior.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Understanding-BDD-through-an-example\"><strong>Understanding BDD through an example<\/strong><\/h2>\n\n\n\n<p>Planning and developing through examples is one of the key concepts of BDD. Giving real case scenarios of what you should expect from the product can make everything easier for everyone.<\/p>\n\n\n\n<p><strong>So let\u2019s see an example:<\/strong><\/p>\n\n\n\n<p>Feature: Money transfer<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Scenario A:<\/strong> Transfer an amount of money lower than my balance<ul><li><strong>Given: <\/strong>I have $500 in my account;<br>And John has $700 in his account<\/li><li><strong>When:<\/strong> I transfer $200 from my account to John&#8217;s account;<\/li><li><strong>Then:<\/strong> I should have $300 in my account;<br>And John should have $900 in his account.<\/li><\/ul><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Scenario B:<\/strong> Transfer an amount of money bigger than my balance<ul><li><strong>Given:<\/strong> I have $100 in my account;<br>And John has $700 in his account<\/li><li><strong>When:<\/strong> I transfer $200 from my account to John&#8217;s account<\/li><li><strong>Then: <\/strong>I should have $100 in my account;<br>And John should have $700 in his account.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>Here we are describing money transfers. We have detailed the scenarios and if you have noticed we have predicted a case where the behavior was not concretized.<\/p>\n\n\n\n<p>We have also taken care of making everyone in the project understand what exactly the term account means. Considering that you will find more complex terms eventually, this needs practicing.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Check more BDD Examples: <a href=\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-tests-pokedex-bdd\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Develop Tests for a Pok\u00e9dex Using BDD<\/a><\/strong><\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"What-are-the-benefits-of-BDD?\"><strong>What are the benefits of BDD?<\/strong><\/h2>\n\n\n\n<p>Behavior-Driven Development is very useful for agile projects.<\/p>\n\n\n\n<p>Mainly because we already know that agile projects are going to need several updates, and BDD helps the project stay in line.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Using BDD helps communication among the team, so developers, testers, and other professionals can easily work together;<\/li><li>Sometimes the documentations are expensive, but with BDD we can make it dynamically without extra effort;<\/li><li>Business goals and customer requirements are put in front and center;<\/li><li>It is also helpful for <a href=\"https:\/\/cheesecakelabs.com\/blog\/approach-project-management\/\" target=\"_blank\" rel=\"noreferrer noopener\">project managers<\/a>, product owners, and other management roles because we have better visibility of the whole project;<\/li><li>Working on a project guided by tests is extremely helpful. We can develop a quality code, reducing the number of <a href=\"https:\/\/cheesecakelabs.com\/blog\/fuzz-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">bugs<\/a> and having less costly maintenance in the future;<\/li><li>It is easy to learn because the given-when-then canvas is closer to everyday language;<\/li><li>The acceptance criteria is defined before development begins;<\/li><li>If necessary, we can easily develop automated tests with BDD.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"How-the-BDD-framework-helped-us-in-Cheesecake-Labs\"><strong>How the BDD framework helped us in Cheesecake Labs<\/strong><\/h2>\n\n\n\n<p>Behavior-Driven Development documentation has helped the whole team stay aligned with the business updates, which brought faster development with a minor amount of bugs.<\/p>\n\n\n\n<p>It also helped to bring the development team to the customer\/business specification closer.&nbsp;<\/p>\n\n\n\n<p>This way, we could work directly toward the defined business acceptance criteria by the BDD structure.<\/p>\n\n\n\n<p>Mapping BBD scenarios before developing helped us develop in a test-oriented way, which is similar to TDD.<\/p>\n\n\n\n<p>This way, we could test the software from the beginning of the project, while also testing the case uses, finding misunderstandings, edge cases, and polishing acceptance criteria.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this complete guide to Behavior-Driven Development, we\u2019ll answer all your questions about this framework so you can understand all the benefits of BDD to start using it. Throughout this article, you\u2019ll find: Definition of Behavior-Driven Development Difference between TDD and BDD How BDD can solve communication issues Three Phases of BDD BDD Examples Benefits [&hellip;]<\/p>\n","protected":false},"author":81,"featured_media":10831,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[432],"tags":[1197,1199],"class_list":["post-10828","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-quality-assurance","tag-software-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Is Behavior-Driven Development (BDD)?<\/title>\n<meta name=\"description\" content=\"Find out the definition and the benefits of Behavior-Driven Development (BDD), and also how this agile development methodology works.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is Behavior-Driven Development (BDD)?\" \/>\n<meta property=\"og:description\" content=\"Find out the definition and the benefits of Behavior-Driven Development (BDD), and also how this agile development methodology works.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-21T18:02:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-21T18:22:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"860\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\"},\"author\":{\"name\":\"Lucas da Silva Machado\"},\"headline\":\"What is Behavior-Driven Development (BDD) Framework?\",\"datePublished\":\"2022-09-21T18:02:16+00:00\",\"dateModified\":\"2022-09-21T18:22:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\"},\"wordCount\":1113,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg\",\"keywords\":[\"quality assurance\",\"software development\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\",\"name\":\"What Is Behavior-Driven Development (BDD)?\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg\",\"datePublished\":\"2022-09-21T18:02:16+00:00\",\"dateModified\":\"2022-09-21T18:22:38+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Lucas da Silva Machado\"},\"description\":\"Find out the definition and the benefits of Behavior-Driven Development (BDD), and also how this agile development methodology works.\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg\",\"width\":1920,\"height\":860,\"caption\":\"person typing in a keyboard\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is Behavior-Driven Development (BDD) Framework?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Lucas da Silva Machado\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/08\/lucas-machado.png\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/08\/lucas-machado.png\",\"caption\":\"Lucas da Silva Machado\"},\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/lucas-da-silva-machado\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Is Behavior-Driven Development (BDD)?","description":"Find out the definition and the benefits of Behavior-Driven Development (BDD), and also how this agile development methodology works.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/","og_locale":"en_US","og_type":"article","og_title":"What Is Behavior-Driven Development (BDD)?","og_description":"Find out the definition and the benefits of Behavior-Driven Development (BDD), and also how this agile development methodology works.","og_url":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2022-09-21T18:02:16+00:00","article_modified_time":"2022-09-21T18:22:38+00:00","og_image":[{"width":1920,"height":860,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg","type":"image\/jpeg"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/"},"author":{"name":"Lucas da Silva Machado"},"headline":"What is Behavior-Driven Development (BDD) Framework?","datePublished":"2022-09-21T18:02:16+00:00","dateModified":"2022-09-21T18:22:38+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/"},"wordCount":1113,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg","keywords":["quality assurance","software development"],"articleSection":["Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/","url":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/","name":"What Is Behavior-Driven Development (BDD)?","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg","datePublished":"2022-09-21T18:02:16+00:00","dateModified":"2022-09-21T18:22:38+00:00","author":{"@type":"person","name":"Lucas da Silva Machado"},"description":"Find out the definition and the benefits of Behavior-Driven Development (BDD), and also how this agile development methodology works.","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/09\/behavior-driven-development.jpg","width":1920,"height":860,"caption":"person typing in a keyboard"},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/behavior-driven-development-bdd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What is Behavior-Driven Development (BDD) Framework?"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Lucas da Silva Machado","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/08\/lucas-machado.png","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/08\/lucas-machado.png","caption":"Lucas da Silva Machado"},"url":"https:\/\/cheesecakelabs.com\/blog\/autor\/lucas-da-silva-machado\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/10828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=10828"}],"version-history":[{"count":3,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/10828\/revisions"}],"predecessor-version":[{"id":10843,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/10828\/revisions\/10843"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/10831"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=10828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=10828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=10828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}