Behaviour Driven Development (BDD) Workshop

A Practical Introduction into Behaviour Driven Development
Overview

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
BDD1WORKSHOP
Duration
1 Day
Delivery Style
Classroom
Course Type
Private Only
Max Delegates
12
Available as Nutshell
No

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..."

Introduction

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

Prerequisites

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’, 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.