The 2-day course “Deep Dive BDD” gives you the background on BDD and where it is most effective. It focuses first on the mindset and process of breaking down big requirements into example specs, and then dives into using Cucumber/SpecFlow to write and execute BDD scenarios. It then goes into testability and maintainability patterns and anti-patterns.

Behavior-driven development is an agile methodology aimed at improving communication between developers, testers, business analysts and others while working on a product. It allows all stakeholders to get a common view of the requirements, what is already implemented and the complexity of the upcoming features. The specs not only direct the implementation of the product but also support the maintainability of the code throughout the lifecycle of the product

The course starts with the origins of BDD and how it was applied in the context of agile projects. We then start to work through examples of how requirements can be defined using Gherkin, a language within Cucumber, the main tool for executing BDD scenarios in Java, as well as SpecFlow for. We learn how to set up scenarios, write and maintain them, as well as write the code to make them run. At the end of the course we’ll have a working application built in BDD.

The course is intended for: Developers, testers and business analysts with software development background.

Course length: 2 days.

Contact Gil for more details

Course goals

Following the training, attendees will be able to:

  • Identify stakeholders in the project
  • Specify requirements and their acceptance criteria
  • Model user-flows in the product
  • Break complex epics into stories
  • Refine a story to a testable example
  • Write scenarios in Gherkin
  • Use Cucumber/SpecFlow as a platform to run scenarios
  • Refactor and maintain glue and code for testability

Course topics

  • The mindset behind BDD
  • Test automation, refactoring and sustainable agility
  • Benefits of BDD
  • Integration between BDD and TDD
  • Which kind of tests to write
  • Defining stories in a common language
  • Slicing stories
  • Personas and stake holders
  • The Cucumber and SpecFlow platforms
  • Writing features, scenarios and steps
  • The Gherkin language
  • The Given-When-Then story format
  • Tackling different and complex scenarios
  • Code considerations for testability
  • Best practices in writing BDD scenarios


  • The technical exercises are going to be with Cucumber or SpecFlow. Attendees need to have their own laptops ready and download the exercises beforehand.
  • Attendees are expected to have some development experience.
  • The training materials are targeted to either Java, JavaScript or C# developers.

Get in Touch!