What is BDD?

BDD Tl;dr

BDD or behavior-driven development puts developers in the seat of business owners, forcing them to think about how their code creates value.

What is BDD?

BDD requires that units of software should be defined in terms of…


This content originally appeared on DEV Community and was authored by Sean Coughlin

BDD Tl;dr

BDD or behavior-driven development puts developers in the seat of business owners, forcing them to think about how their code creates value.

What is BDD?

BDD requires that units of software should be defined in terms of the desired behavior. Often the desired behavior is related to some business value requirement. BDD is a common practice in the agile development process.

BDD focuses more on defining how software should function. Behavior-driven development emerged from test-driven development which is more focused on testing code.

The Rules of BDD

BDD often follows one of two formats. The "given-when-then" format or the "as a blank I want blank so that blank. " For example,

  • Given a user has properly filled out the form when they click the finish button then they should see a thank you message.
  • As a data analyst, I want form validation so that bad values don't make it to the database.

A popular way of implementing BDD using programming is through testing with Cucumber and Gherkin.

Pros of Behavior-Driven Development

  • BDD is defined through simple one-sentence outlines of behavior making it easy to understand.
  • BDD "given-when-then" and "as a blank I want blank so that blank " formats are non-technical so they can reach a large audience.
  • Behavior-driven development creates a common language for developers, testers, and business owners.

Cons of Behavior-Driven Development

  • Requirements in BDD have to be specific enough that developers can implement them.
  • Automated testing of behaviors with the BDD framework can require additional maintenance.

Further Reading

BDD is closely related to ATDD or acceptance test-driven development and TDD or test-driven development.

You can read more about many types of software testing with this series.


This content originally appeared on DEV Community and was authored by Sean Coughlin


Print Share Comment Cite Upload Translate Updates
APA

Sean Coughlin | Sciencx (2022-03-26T18:13:00+00:00) What is BDD?. Retrieved from https://www.scien.cx/2022/03/26/what-is-bdd/

MLA
" » What is BDD?." Sean Coughlin | Sciencx - Saturday March 26, 2022, https://www.scien.cx/2022/03/26/what-is-bdd/
HARVARD
Sean Coughlin | Sciencx Saturday March 26, 2022 » What is BDD?., viewed ,<https://www.scien.cx/2022/03/26/what-is-bdd/>
VANCOUVER
Sean Coughlin | Sciencx - » What is BDD?. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/03/26/what-is-bdd/
CHICAGO
" » What is BDD?." Sean Coughlin | Sciencx - Accessed . https://www.scien.cx/2022/03/26/what-is-bdd/
IEEE
" » What is BDD?." Sean Coughlin | Sciencx [Online]. Available: https://www.scien.cx/2022/03/26/what-is-bdd/. [Accessed: ]
rf:citation
» What is BDD? | Sean Coughlin | Sciencx | https://www.scien.cx/2022/03/26/what-is-bdd/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.