10. @gil_zilberfeld
What is 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.
17. @gil_zilberfeld
A New Hope
◉ Build an origin team movie script
◉ Define who should be there
◉ In what order they join
◉ Where they are placed
◉ Present it to everyone
20. @gil_zilberfeld
The Empire Strikes Back
◉ The bad guys arrive
◉ They fight!
◉ Make it dramatic!
◉ Script should be testable for acceptance criteria
◉ …but leaves an artistic license to the director
22. @gil_zilberfeld
The Director’s Cut
◉ Our top star is dead!
◉ The film is out in a few days!
◉ Rewrite the script but WITHOUT removing the
already edited version
26. @gil_zilberfeld
The Prequel
◉ Everything is set in the present
◉ Write a script for a prequel that makes sense
based on existing “infrastructure”
◉ Make the movie
33. @gil_zilberfeld
May the Force be with you!
ANY QUESTIONS?
You can find me at:
@gil_zilberfeld
http://www.GilZilberfeld.com
http://www.EverydayUnitTesting.com
Editor's Notes
First was TDD
Benefits of TDD: Focus, thinking, simplicity, regression suite, documentation
Same can be applied at the feature/product level
Different names.
ATDD was about automating the application
BDD used DDD ubiquitous language
Step reusability
GWT format
All three hats are responsible to make a product that is easy to build and maintain, and also solves the customer’s problems.
I want Kylo Ren and Han stare off
I want a star destroyer in the beginning.
Two death stars
Yoda with a green saber
Han is too old, we need fresh face
Four death stars
Yoda with a blue saber
Jabba the hut running across the screen