Introduction
- BDD – Behavioral Driven Development is based on Test Driven Development (TDD) and it aims to bridge the gap between Business Analyst and Developers.
- BDD not only bridges the gap between Business Analyst and developers but also between – Manual QA with Automation testers and Manual QA with Developers.
- Behavior Driven testing is an extension of TDD. Like in TDD in BDD also we write tests first and the add application code.
- BDD seems to be like a plan text, but they have their own syntax based on certain tools.

BDD Supported Tools
- There are many tools available to support BDD, some most famous tools are: a) Cucumber (Ruby) / Freshen(PHP) b) Jbehave (Java) / Nbehave(C#) c) SpecFlow (C#)
- All the above are used in conjunction with many different platforms and languages like Java , C#, Ruby, Python, Jruby etc.
- But all the above tools have one language in common which is Gherkin.
Gherkin
- Gherkin is the format for cucumber specification.
- It is business readable , Domain specific language which will let anybody to understand the software behavior easily as they are PLAIN TEXT.
- Gherkin has some spaces and indentation to define structure.
- Gherkin has very few syntax which make the parser( the tool which uses Gherkin) to behave based on the structure.
- The syntax of Gherkin are very simple and are pretty readable as plain text.