What is BDD ? Behaviour Driven Development methodology http://en.wikipedia.org/wiki/Behavior_Driven_Development Methodology by which QA, BA and SMEs get involved early in defining requirement through a common language. Compliments TDD but does not replace it. Specify the requirements in form of Given/When/Then/And (Not mandated) – But widely accepted A communication protocal Becomes executable acceptance testQAInfoLabs
Why BDD ? Non technical audience can get involved early in Automating process. Language used in writing BDD is the language used by all stakeholders. Enhances collaboration between Technical and Non technical team Behaviour of the system eventually becomes an executable Acceptance test Focuses on what to automate rather then how to automate ?
What BDD is not ? A Language defined for business to specify requirement (Business Specify the requirement in their own language) A Testing methodology Only meant for developers Programming language specific tools A TDD Tool
Tools Available to practice BDD Cucumber (Ruby and Java) Jbehave (Java) Concordian (Java) Specflow (C#) EasyB (Java) Specflow (Ruby)