Last active
December 13, 2015 18:09
-
-
Save phosphene/4953551 to your computer and use it in GitHub Desktop.
What is BDD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Tests add value through: | |
1. Reducing costs | |
2. Increasing communication | |
3. Find bugs, document behaviour (contracts, stories), defer design decisions | |
Behaviour-Driven Development is development through | |
describing behavior: | |
Where behavior is: | |
demonstrable, consistent meaning from the perspective of "stakeholders". | |
The tests themselves should describe, document, and prove behaviour. | |
Ideally, the tests should be literate and intuitive. Hence RSpec. | |
Developers need to understand the domain, and the common words stakeholders | |
use to describe the behavior they want. In many cases, the developers will need to | |
develop an understanding and a language that the stakeholders can use and | |
understand. | |
Principles of BDD: | |
Parsimony: Just enough to produce meaninful increment. | |
Relevance: Real value in real world. | |
Behaviour: What and Why: Behaviour should be describable and explicit in common sense language. | |
Start with: | |
What are the explicit, most easily communicated goals of a project? | |
SMART acronym: | |
Specific: enough detail to know that something | |
is done. | |
Measurable: can determine whether the objective | |
Achievable: expectation realistic | |
Relevant: makes real sense | |
Timeboxed: when to call time if we | |
haven’t achieved an outcome | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment