Behaviour-Driven Development using Cucumber

This course explains what behaviour-driven design is all about, describes why its a beneficial approach to application development and testing, and shows how to do BDD using Cucumber. Cucumber is the leading framework for BDD in Java, and it ties in well with a host of application types and Java technology APIs. Youll learn all about these integrations during the course.

What you will learn:

  • What is BDD
  • Achieving BDD using Cucumber
  • Understanding Cucumber API and features
  • Using Cucumber with databases, DI containers, and Web/REST applications

Prerequisites:

Familiarity coding and/or testing Java applications

Course outline:

Introduction to BDD and Cucumber
Getting started with behaviour-driven development

  • Overview of Cucumber
  • How Cucumber works
  • Tooling up

Getting Started with Cucumber

  • Creating features
  • Creating step definitions
  • Implementing step definitions
  • Testing our classes
  • Making assertions
  • Making the tests work

Getting Started with Gherkin

  • Overview of Gerkhin
  • Features
  • Scenarios
  • Comments
  • Spoken languages

Step Definitions External Perspective

  • Steps and step definitions
  • Capturing arguments
  • Multiple captures
  • Achieving more flexibility
  • Returning results

Cucumber Best Practices

  • Issues
  • Collaboration
  • Writing maintainable tests
  • Guidelines for preventing defects

Step Definitions Internal Perspective

  • Domain model
  • Transforms
  • Custom helper methods
  • Dependency injection

Enterprise Development

  • Asynchronous architecture
  • Message queues
  • Asynchronous components

Databases

  • Interactive database development
  • Refactoring to use a database
  • Writing and writing to the database
  • Cleaning the database

Dependency Injection

  • Overview of DI
  • DI in Cucumber
  • PicoContainer
  • Guice
  • Weld CDI

Web Applications

  • Overview of Selenium WebDriver
  • Interacting with the DOM
  • Handling failures
  • Ajax

REST Web Services

  • Overview of REST
  • REST and Cucumber
  • Guidelines and best practices

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses