What is BDD?


BDD (Behaviour Driven Development) is a synthesis and refinement
of practices stemming from TDD (Test Driven Development) and ATDD
(Acceptance Test Driven Development). I will write about ATDD in next

Behaviour Driven Development
Behaviour Driven Development

BDD augments TDD and ATDD with the following tactics:

apply the “Five Why’s” (if you don’t know what it is go to Start with Why)
principle to each proposed User Story, so that its purpose is clearly related
to business outcomes thinking “from the outside in”, in other words implement only those
behaviors which contribute most directly to these business outcomes, so as to minimize waste
describe behaviors in a single notation which is directly accessible
to domain experts, testers and developers, so as to improve communication
apply these techniques all the way down to the lowest levels of abstraction
of the software, paying particular attention to the distribution of behaviour,
so that evolution remains cheap

– See more at: http://guide.agilealliance.org/guide/bdd.html#sthash.zMCUfWLT.dpuf

Test-driven development focuses on the developer’s opinion on how parts of the software
should work.
Behavior-driven development focuses on the user’s opinion on how they want your application
to behave.

The name test-driven development also caused confusion. How can you test something that’s not there yet?

It was Dan North 1 who noticed all these unsolved questions and came up with a solution: He suggested
that instead of writing tests you should think of specifying behavior. Behavior is how the user wants
the application to behave.

When your development is Behavior-driven, you always start with the piece of functionality that’s most
important to your user. I consider this phase as taking the developer hat off and putting the user hat on.
Once you’ve specified the user needs, you put the developer hat back on and implement your specification.


  • 2003: agiledox, the ancestor of BDD, is a tool generating technical documentation automatically from JUnit tests, written by Chris Stevenson
  • 2004: in order to test his hypotheses about de-emphasizing “test” terminology in favor of “behavior”, Dan North releases JBehave
  • 2006: in collaboration with Chris Matts, North proposes the given-when-then canvas to expand the scope of BDD to business analysis and documents the approach in “Introducing BDD”
  • 2006-2009: several new tools are released confirming the community’s investment in BDD, such as RSpec or more recently, Cucumber and GivWenZen

– See more at: http://guide.agilealliance.org/guide/bdd.html#sthash.zMCUfWLT.dpuf

If you are interested to dig more deeply on BDD you should visit http://dannorth.net/introducing-bdd/

Mario Lucero

Mario Lucero

I am all about helping companies to adopt agile as methodology in Chile.


I believe many organizations think that agile is not for Chilean companies because of Chilean culture is totally
different from i.e. USA culture but I worked with Chilean professionals who after using agile realized it is feasible
to implement it.

Agile works in small and large projects and there are many evidences which demonstrate this.

Leave a Reply

CommentLuv badge