exceptionz

Thoughts on Technology, Methodology and Programming.

Behavior-Driven Development

Posted by Marcus Wyatt on 29 August 2006

Behavior-Driven Development (BDD) is an evolution in the thinking behind Test-Driven Development. It pulls together strands from Test-Driven Development and Domain-Driven Design into an integrated whole, making the relationship between these two powerful approaches to software development more evident.

It aims to help focus development on the delivery of prioritized, verifiable business value by providing a common vocabulary (also referred to as a Ubiquitous Language) that spans the divide between Business and Technology.

It presents a framework of activity based on three core principles:

BDD relies on the use of a very specific (and small) vocabulary to minimize miscommunication and to ensure that everyone – the business, developers, testers, analysts and managers – are not only on the same page but using the same words. For people familiar with the concept of Domain-Driven Design, you could consider BDD to be a Ubiquitous Language for software development.

It must be stressed that BDD is a rephrasing of existing good practice, it is not a radically new departure. Its aim is to bring together existing, well-established techniques under a common banner and with a consistent and unambiguous terminology. BDD is very much focused on “Getting the words right” and this focus is intended to produce a vocabulary that is accurate, accessible, descriptive and consistent.

In fact “Getting the words right” was the starting point for the development of BDD, and is still very much at its core, but the power of getting the words right has led to some insights and extrapolations that have helped us to better understand our approach and to extend it.

From behaviour-driven.org

So you’ve read the post. Want to know more? Maybe you should test a C# version of a BDD framework. I would like to get people who would be interested in alpha testing NSpecify. If you think you might be interested, download the NSpecify framework and the NUnit install that incorporates the NSpecify integration. Leave me a comment of your initial thoughts surrounding the framework.

Thanx.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>