Back to training

Behaviour Driven Development with Cucumber

Learn how to make sure everybody on the team ‘speaks the same language’ when it comes to the requirements.

About

Behaviour-Driven Development, BDD, is an Agile methodology that will improve the understanding, communication, and collaboration between Software Developers, Testers, Business Analysts, and other parties involved in a software project. BDD is a process for communication, test automation, and living documentation at the same time. Thousands of agile teams are benefiting from the clearer understanding and better collaboration that BDD brings.

BDD allows you and the project stakeholders to have a clearer understanding of where the project is at any given time. You write features and scenarios in a plain, human readable, language. These human readable examples can be executed against your production code to verify the state of the project.

In this course you’ll learn how to implement BDD techniques in your Java projects using Cucumber-JVM.

Who should attend

Developers, testes and business analysts will all benefit from the first day of the course where the focus is communication within the development team. The second day will focus on implementing BDD using Cucumber. Non technical persons may find this to be on the edge of their comfort zone.

Why attend

Learn how to drive the development using the desired behaviour of the system and add one more useful tool to your toolbox.

After completing this course you will have acquired the fundamental technical and non-technical skills required to begin using BDD.

Topics covered

  • The fundamental principles and practices of BDD
  • Translating examples into Gherkin – Cucumber’s format for executable specifications
  • Conversation patterns for discovering edge cases
  • The importance of a common 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
  • Techniques to keep your test code clean

Structure

Day 1 – BDD fundamentals

The first day will focus on the process of BDD. The process Cucumber supports. There will not be any automation this day. Focus is on communication and collaboration.

You will learn how Example mapping can be used to transform a user story to concrete examples. Concrete examples will clarify misunderstandings and discover hidden rules. Concrete examples will help you write better automation.

Learning outcomes:

  • The fundamental principles and practices of BDD
  • The importance of Rules and Examples
  • Translating examples into Gherkin – Cucumber’s format for executable specifications
  • Conversation patterns for discovering edge cases
  • The importance of a common language for problems and solutions
  • Using Example Mapping and Discovery Workshops to achieve shared understanding
  • Roles and responsibilities on a BDD team

Day 2 – Implementing BDD with Cucumber

Day two will be used to automate the concrete examples found during day one. You will implement the examples using Cucumber-JVM. This is a solid day introducing test-first development using Cucumber.

You will learn to write executable specifications using Gherkin, the plain text format used by Cucumber. You will learn how to drive the implementation of a system step by step using Cucumber and see how the system gradually evolves. You will end up with a system that does what you want and is easy to test.

Non technical people may find this day close to the edge of their comfort zone, but they are nevertheless more than welcome to attend and learn what the developers are using.

Learning outcomes:

  • Installing Cucumber and setting up your development environment
  • The TDD / BDD cycle
  • Writing your first scenario
  • Writing step definitions
  • Using parameters in step definitions
  • Techniques to keep your test code clean
  • Backgrounds, Tags, Tables, Scenario Outlines and other Gherkin tricks

Prerequisites

All material needed will be available for the students afterwards.

The students are expected to bring a laptop with a development environment for Java installed.

Practical details

  • Included: welcome coffee, lunch and coffee breaks
  • Language: English
  • Participants will receive a certificate of attendance

 

  • Need more information? Contact us and we’ll help you choose the right course for you.

This course is given in cooperation with Cucumber Ltd.     cucumber