BDD (Behavior Driven Development) | Better Executable Specifications
In this episode, we explore Behaviour Driven Development (BDD) and how to create executable specifications that capture what we want our systems to do. One of the key ideas that BDD began with was “getting the words right”, could we find better words to describe this approach that would help us to get to the high-value of Test Driven Development (TDD) and help us to better focus on what is important. How can we characterise TDD vs BDD? Behavior Driven Development is a lot about picking the right words. Dave Farley explores what constitutes good names, giving some examples of both good and bad naming. Naming is important for more than only software testing and the acceptance tests that we write, it also affects the code that we write and its readability and expressibility. He also analyses a test from a popular open-source project and offer his critique of the testing approach. BDD is a valuable tool in improving our software engineering practices, by creating these executable specifications it can help us improve the quality of our work, and can be an enabling step to help us achieve Continuous Delivery. -------------------------------------------------------------------------------------- If you want to learn Continuous Delivery and DevOps skills, check out Dave Farley's courses: ➡️ https://bit.ly/DFTraining 📚 BOOKS: 📖 Dave’s NEW BOOK "Modern Software Engineering" is now available on Amazon ➡️ https://amzn.to/3DwdwT3 In this book, Dave brings together his ideas and proven techniques to describe a durable, coherent and foundational approach to effective software development, for programmers, managers and technical leads, at all levels of experience. 📖 "Continuous Delivery Pipelines" by Dave Farley paperback ➡️ https://amzn.to/3gIULlA ebook version ➡️ https://leanpub.com/cd-pipelines 📖 The original award-winning “Continuous Delivery" book by Dave Farley and Jez Humble ➡️ https://amzn.to/2WxRYmx -------------------------------------------------------------------------------------- Keep up to date with the latest discussions, free "How To..." guides, events and online courses through our email updates! Follow the link for the details ➡️ https://bit.ly/MailListCD --------------------------------------------------------------------------------------- Continuous Delivery Ltd. ➡️ https://bit.ly/ContinuousDeliveryDF Dave Farley's Blog ➡️ https://bit.ly/DaveFWebBlog Dave Farley on Twitter ➡️ https://bit.ly/DaveFTwitter Dave Farley on LinkedIn ➡️ https://bit.ly/DaveF-LI --------------------------------------------------------------------------------------- Useful Books on this topic: (Please note, if you buy a book from these links I get a small fee, without increasing the cost to you) "Domain Driven Design", by Eric Evans ➡️ https://amzn.to/2WXJ94m "Specification By Example", by Gojko Adzic ➡️ https://amzn.to/2TlfYaH "Growing Object Oriented Software Guided by Tests", By Nat Price & Steve Freeman ➡️ https://amzn.to/2Lt3jho

Acceptance Testing with Executable Specifications

An Ultimate Guide To BDD

🚀 TDD, Where Did It All Go Wrong (Ian Cooper)

Introduction to BDD (Behavior Driven Development) - Webinar Recording

Better Gherkin: Common pitfalls and how to overcome them

Requirement Specification vs User Stories • Dave Farley • GOTO 2023

Test Driven Development vs Behavior Driven Development

BDD Explained (Behaviour Driven Development)

TDD: How to Write Maintainable Tests as Executable Specs (Pierre Criulanscy)

How to Test Legacy Code (Emily Bache)

Martin Fowler Reflects on Refactoring: Improving the Design of Existing Code

When To Use These 5 TOP Software Test Types

BDD Testing Time

Why AI WON'T Replace Software Engineering...

Agile at Scale - November 2024 - Behavior Driven Development When There Are No Users

Discovery - The first practice of Behaviour-Driven Development

Want to make your first Domain Model? Behavior Driven Development - Anita Kvamme - DDD Europe 2022

Writing Better BDD Scenarios

How to Write Acceptance Tests

