In this post, we will discuss BDD. BDD stands for Behavior Driven Development. It is all about collaboration within the team. BDD is practiced with automation tools like JBehave, Cucumber, Jasmine, etc. ( What is JBehave Framework?)
BDD is an evolution of TDD( Test Driven Development Approach ). Behavior Driven Development can be viewed as:
Acceptance + Test-Driven Development.
To know more about BDD:
Testers, Developers, and Product Owners work together to determine scenarios. Testers and Developers write behaviors in a language known as Gherkin. It is both human-readable and computer-readable.
Gherkin language verbs are:
The Product Owner reviews the behaviors for accuracy and completeness. Also, the gherkin language is simple and unambiguous. It facilitates and makes the understanding of acceptance criteria simple. The scenarios are automated into tests with automated tools. ( Writing Simple JBehave Story )
Developer/Testers write code that ties the steps in the scenario to interactions with the AUT( Application under Test). Using this procedure, the developer ensures that the system’s behavior becomes automated. Besides, these build into a comprehensive test harness suite, dramatically reducing the time required to perform regular testing cycles.
Therefore, QA/Testing resources find ample time for other forms of testing or to accept spike stories.
Specification By Example
This approach is used in Agile development for managing requirements and functional tests on large-scale projects of the significant domain and organizational complexity. SBE is a collaborative approach to defining requirements and business-oriented tests for products based on capturing and illustrating requirements using real examples.
A Serenity BDD project report of living documentation:
More info at: