tests using TDD with insufficient value • Testing things other 2 amigos don’t care about • No common language for 3 amigos • Misunderstood specifications • Incomplete map of all system features • Not building the right software right
pass 3) Refactor and clean 4) Repeat the step 3.) until satisfied Focus more on technical details. Avoids manual testing, allows refactors, increase maintainability and confidence of developers.
tests • Starting sentences with should • Focusing on product behavior • Crystal clear intent of the test • BDD tests as absolute minimum • Test description understood by 3 amigos
look for features that delivers the goal • Key activity – slicing user stories into features • Writing specification for these features • Automating the specification
all features • More readable tests = better quality • Focus on things that matters – Features • Reducing costs • Faster releases (no manual testing before release) • Complete 3 amigos confidence • Building the right software right
personal projects • Introduce BDD fragments to your daily work • Rewrite existing unit TDD tests into BDD style • Use expectations instead of assertions • Start using Example mapping • Test features, not implementation details • Start using cucumber by delegating to existing tests
Enrique Amodeo • BDD in Action: Behavior-Driven Development for the whole software lifecycle by John Ferguson Smart • 1.5 year of Apiary BDD experience