BDD with Cucumber

3 Days

atddgherkinjava
agileautomation

Intermediate

testerdeveloper

More and more organisations are looking to Behaviour Driven Development (BDD) and related practices, as a way to gain or maintain their competitive advantage in software delivery. In this intensive program, participants learn principles and techniques of BDD using Cucumber & Gherkin with Java. Primary focus of program is to allow participants to apply test automation with framework collectively known as BDD test frameworks to adopt test-first method and also, making tests accessible to non-technical users using specification by example. Participants will learn practices to allow writing solid and reliable tests & test code efficiently. Program includes many demonstrations. Participants will have hands-on during program with cucumber, junit and simple demo for serenity. Test framework concepts are also introduced so that participants can take test automation on another level.

More impotantly, program provides complete understanding of BDD as process and its implementation. All three stages; Discovery, Formulation and Automation are discussed in detail. Open Q&A sessions, demos and hands-on are included throughout the program.

Audience

Program is primarily for developers & testers and any Team member that are directly involved with Test Automation using Java.

Prerequisites

Participant must have beginner level knowledge of Core Java.

Topics
Introduction
  • Testing Fundamentals
  • Types of Tests
  • How to find Test Cases
  • Good Tests
  • Bad Tests
  • Automated Tests
  • What is Behaviour-Driven Development?
  • Living Documentation
  • How Cucumber Works
  • Installation
  • First time using Cucumber
  • Creating a Feature
  • Creating Step Definitions
  • Implementing Step Definition
  • Cucumber’s Output
  • Adding an Assertion
  • Pass It
Gherkin
  • Format and Syntax
  • Feature
  • Scenario
  • Comments
  • Background
  • Data Table
  • Scenario Outline
  • Doc Strings
  • Tags
  • Using subfolders
More Cucumber
  • Step and Step Definition
  • Capturing Data
  • Declaring Results
  • Helper Methods
  • Assertions
  • Transformation
  • Sharing State
  • Code Seperation
  • Dependency Injection
  • Refactoring
  • Hooks and Tags
  • Polling
  • Running Tests
Improve Tests
  • Shared Environments
  • Leaky Scenario
  • Race Conditions
  • Fixture Data
  • Duplication
  • Collaboration
  • Testability
  • Legacy Code
  • Too Much Info
  • Using Domain Language
  • Defect Prevention
  • Simple Demo: Serenity
Exclusions

SDLC like Scrum, Test planning & estimation, TDD with Unit Testing.
Anything not mentioned in Topics1

Software Requirements

Latest Eclipse (or any other Java IDE) with Cucumber plugin

Internet Requirements

Good internet connection is required.

Hardware Requirements

Laptop capable to run MS Office

Classroom Requirements

Projector with HDMI, White Board, Markers with Eraser

Online Requirements

Appropriate meeting software e.g. Zoom, MS Teams
Please make sure that camera, speaker and mic are working

Footnotes

  1. If you have any query, please drop us a line.