TDD (test driven development) is part of my life as a software engineer for a while. BDD (behavior driven development) not so much. there is a simple reason for that.
as a developer, you don’t need any authorization or even has a dependency on someone, to do TDD. you start your task writing your tests, red, green, refactor…nice…TDD. BDD is not so simple. BDD depends on all members of the project. devs, testers, customers. so, it’s not so simple. it doesn’t depend only on you or me.
BDD is not just a different way of TDD. it’s not TDD, as well. BDD aims to solve the issue of communication among multiple members of the project or team. it (tries to) create a single and coherent vision of a requirement or scenario.
i’ve been using BDD in my team in the last months. all members are contributing for the stories and scenarios. the result is being interesting. probably i’ll talk about it later.
and the big question: is BDD just TDD? i would say no!! do i need to choose between BDD or TDD? i would say no, as well!!! i’ve been using BDD with TDD in this project.
i suggest you to read this post of Dan North: BDD IS LIKE TDD IF…