Behavior Driven Development (BDD) Training

Program Overview

This program covers fundamentals of BDD and BDD tools such cucumber, SpecFlow and behave etc. Workshop follows a software development life cycle approach where audience get to learn how to practice BDD in real life projects while writing feature file using gherkin, create Java/.Net /Ruby/ Python/Embedded project, generate steps from feature file, and write code to pass steps.

Learning Objective

  • The fundamental principles and practices of BDD
  • Translating examples into Gherkin – format for executable specifications
  • The importance of a ubiquitous language for problems and solutions
  • Example Mapping & Discovery Workshops to achieve shared understanding
  • Installing Cucumber and setting up your development environment
  • Key differences in TDD and BDD
  • Writing first scenario for your product
  • Writing step definitions for first Scenario
  • Using parameters in step definitions
  • Techniques to keep your test code clean
  • Backgrounds, Tags, Tables, Scenario Outlines and other Gherkin tricks
  • Living documents and importance of living documents
  • Roles and responsibilities on a BDD team
  • Costs & benefits of working test-first

Key Learning Activities – Hands-on activities (60-70%) and discussion on mentioned topics (30-40%). Hands-on activities includes product discovery workshop, example writing workshop, writing feature files, preparing test, writing code and some group creativity activities.

Target Audience – Development team members including business analyst, product owners, developers, testers, architects, leads and scrum masters.

Prerequisites – Laptops/Desktops with required software and internet connection. Software will be provided by facilitator.

Day-wise course break-up

Day 1 – Writing scenarios and examples

  • The fundamental principles and practices of BDD
  • Translating examples into Gherkin – Cucumber’s format for executable specifications
  • The importance of a ubiquitous language for problems and solutions
  • Using Example Mapping and Discovery Workshops to achieve shared understanding
  • Installing Cucumber and setting up your development environment
  • The TDD / BDD cycle
  • Writing your first scenario
  • Writing step definitions for 1st Scenario

Day 2 – Writing Step files and managing multiple scenarios

  • Conversation patterns for discovering edge cases
  • Roles and responsibilities on a BDD team
  • Using parameters in step definitions
  • Techniques to keep your test code clean
  • Backgrounds, Tags, Tables, Scenario Outlines and other Gherkin tricks
  • Costs & benefits of working test-first