History
Behavior-driven development was developed by Dan North as a response to the issues encountered teaching test-driven development:
- Where to start in the process
- What to test and what not to test
- How much to test in one go
- What to call the tests
- How to understand why a test fails
At the heart of BDD is a rethinking of the approach to unit testing and acceptance testing that North came up with while dealing with these issues. For example, he found that unit test names should be whole sentences starting with the word "should" and should be written in order of business value. Acceptance tests should be written using the standard agile framework of a User story: "As a I want so that ". Acceptance criteria should be written in terms of scenarios and implemented as classes: Given, when, then .
Starting from this point, North and others developed the BDD framework over a period of years, finally framing it as a communication and collaboration framework for developers, QA and non-technical or business participants in a software project. During the "Agile specifications, BDD and Testing eXchange" in November 2009 in London, Dan North gave the following description of BDD:
BDD is a second-generation, outside–in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.
Dan North created the first ever BDD framework, JBehave, followed by a story-level BDD framework for Ruby called RBehave which was later integrated into the RSpec project. He also worked with David Chelimsky, Aslak Hellesøy and others to develop RSpec and also to write "The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends". The first story-based framework in RSpec was later replaced by Cucumber mainly developed by Aslak Hellesøy.
In 2008, Chris Matts, who was involved in the first discussions around BDD, came up with the idea of Feature Injection, allowing BDD to cover the analysis space and provide a full treatment of the software lifecycle from vision through to code and release.
Read more about this topic: Behavior Driven Development
Famous quotes containing the word history:
“History does nothing; it does not possess immense riches, it does not fight battles. It is men, real, living, who do all this.... It is not history which uses men as a means of achievingas if it were an individual personits own ends. History is nothing but the activity of men in pursuit of their ends.”
—Karl Marx (18181883)
“Considered in its entirety, psychoanalysis wont do. Its an end product, moreover, like a dinosaur or a zeppelin; no better theory can ever be erected on its ruins, which will remain for ever one of the saddest and strangest of all landmarks in the history of twentieth-century thought.”
—Peter B. Medawar (19151987)
“The history of our era is the nauseating and repulsive history of the crucifixion of the procreative body for the glorification of the spirit.”
—D.H. (David Herbert)