Behaviour Driven Development (BDD) Workshop

A Practical Introduction into Behaviour Driven Development

Behaviour-driven development (BDD) is a software development process which emerged from TDD or test-driven development.  BDD takes the techniques and principles of TDD and combines them with ideas from domain-driven design and object-oriented analysis and design.  This provides software development teams a shared toolset and shared processes to collaborate effectively on software development.  As such BDD is one of the key enablers for automating acceptance tests and functional tests for systems. BDD allows us to capture and validate the rules governing the behaviour of our code. 

Course Code
1 Day
Delivery Style
Course Type
Private Only
Max Delegates
Available as Nutshell

Book your team training at your premises

  • Date
  • Venue
  • Cost
  • More info
Purpose of this course

Through a series of presentation, demos, hands-on labs and directed discussions, the course introduces how to capture acceptance criteria as scenarios and then to create Step Definition files using Java, C#, or an alternative language of your choice to build out the automated tests using Cucumber.

Who is this course for

This training course is aimed at developers, analysts and testers

You will learn how to
  • Understand the role and purpose of BDD
  • Understand how BDD can complement Test Driven Development
  • Write effective scenarios
  • Create Step Definition Files
  • Automate test running using Continuous Integration
  • Understand how continuous delivery can be achieved when using BDD
  • Understand how continuous deployment can be achieved when using BDD
  • Integrate BDD with Web applications and Selenium
Benefits for your organisation

As well as sharing most of the benefits of TDD. BDD, begins with the business goal in mind and engages both stakeholders and the delivery team with different views on the same page and esnures they have the same expectations.  In addition it business readable and domain specific language that allows you to describe a behavior of a system without putting details on how that behavior is developed.

Benefits for you as an individual

Sharing many benefits with TDD, BDD also brings a business readable language and set of expectations to the forefront.  This is important as you are then able to understand the behaviour of a system, leaving you the ability to get creative in deliverying that behaviour.  Hopefully creating finished code sooner and without the frustration of "oh yes, that is not quite what I had in mind..."

  • Why Behaviour Driven Development?
  • What is BDD?
  • BDD and TDD
Getting Started
  • Writing Scenarios
  • Given / When / Then structure
  • The importance of a Domain Specific Language
Writing Effective Scenarios
  • Test by Example
  • Using tables of data
  • Creating effective Step Definitions
Automation - getting closer to Single Click Deployment
  • Automation of BDD Tests
  • Continuous Integration, Delivery and Deployment
Working with Selenium
  • Selenium Basics
  • Writing Cucumber Tests with Selenium

Delegates should have some appreciation for the issues involved in building large-scale applications.
Some programming experience is also required.

About the Lead Trainer

Our Agile ‘evangelist’ and Certified Scrum Trainer (CST), it’s safe to say that Howie lives and breathes an Agile life. Never to be seen without a pack of post it notes and a sharpie pen in his back pocket, Howie coaches and trains our customers by sharing his passion for more efficient ways of working.