Behavior-Driven Development

Has your team ever developed a feature, but found it wasn't quite right? Do the business (product) and development sides work a little too independently?

Behavior-Driven Development (BDD), a refinement of Test-Driven Development (TDD), helps business and development work together effectively, and leverage the most mature practices of TDD.

BDD provides a process for clearly stating needed behaviors of software and helps in the automation of that behavior.

Over the past decade, practices like Behavior-Driven Development (BDD) and TDD have helped many teams significantly improve development speed, code quality and responsiveness to changing requirements.

Students will explore the foundations of BDD, from theory to hands-on practice. You will practice defining scenarios and learn what makes for well-written scenarios.

You will also learn how to automate scenarios safely, using popular tools like Cucumber, JBehave or SpecFlow.

BDD is not always easy. This class will help you learn to navigate BDD safely and get results from the techniques you practice.

This is two workshops in one. For non-developers, it's a one-day workshop on Specifying Scenarios Safely. For developers, it's a three-day workshop on both Specifying Scenarios Safely and Automating Scenarios Safely.

Agenda

  • Day 1: Specifying Scenarios Safely
  • Scenarios & The Power of Examples
  • Getting Diverse Voices Involved in Scenario Creation
  • Writing Scenarios with Gherkin
  • Patterns for Writing Safe Scenarios
  • Specifying an Application Using Gherkin
  • Day 1: Specifying Scenarios Safely
  • Scenarios & The Power of Examples
  • Getting Diverse Voices Involved in Scenario Creation
  • Writing Scenarios with Gherkin
  • Patterns for Writing Safe Scenarios
  • Specifying an Application Using Gherkin
  • Day 2: Practicing Behavior-Driven Development
  • What Will We Automate & How?
  • Automation Tools
  • Your First Automated Scenario
  • Automating Scenarios: Getting Beyond the Basics
  • Dealing with Obstacles: Randomness, External Systems, etc.
  • Driving Implementation and Design from Scenarios
  • Creating an Application from Scratch from Scenarios: Part 1
  • Day 1: Specifying Scenarios Safely
  • Scenarios & The Power of Examples
  • Getting Diverse Voices Involved in Scenario Creation
  • Writing Scenarios with Gherkin
  • Patterns for Writing Safe Scenarios
  • Specifying an Application Using Gherkin
  • Day 2: Automating Scenarios Safely
  • What Will We Automate & How?
  • Automation Tools
  • Your First Automated Scenario
  • Automating Scenarios: Getting Beyond the Basics
  • Dealing with Obstacles: Randomness, External Systems, etc.
  • Day 3: Implementing Behavior-Driven Development
  • Driving Implementation and Design from Scenarios
  • Creating an Application from Scratch from Scenarios: Part 1
  • Creating an Application from Scratch from Scenarios: Part 2
  • Creating an Application from Scratch from Scenarios: Part 3
  • Automation Hazards
  • Safe Automation Practices

Course Details

Transfer
Knowledge: 25%, Skill-Building: 75%
Learning outcomes
  • Understand how the whole team collaborates around scenarios to support development
  • Create scenarios that refine and clarify user stories
  • Learn what makes for good and bad scenarios
  • Use tools to automate scenarios and ensure the software behaves as desired
  • Practice the whole cycle from stories, to scenarios, to automation
Method of Instruction
Interactive Dialogues, Programming Exercises, Demos and Online eLearning
Target Audience
Primary: Product owners, product managers, analysts, testers and developers
Course Level
Introductory-Intermediate
Course Prerequisites
Required: Some experience identifying, specifying, testing, and/or implementing software systems; Experience with Java and/or C#
Highly Recommended: Experience with unit testing.

Requirements

General Requirements

To ensure a successful class, we require the following facilities:

  • VGA projector (1024x768 minimum)
  • Projector screen
  • Speakers (to connect instructor's machines. Sound should be audible to the whole class)
  • White board
  • Dry erase markers
  • Flip chart and stand
  • Ample room for students in terms of room size and set up (prefer U-Shape seating)
  • At least one powerful workstation per two programmers (at least Dual Core Processor with 2 GB RAM)
  • High-speed Internet Access (at least 2 Mbps Line) to http://elearning.industriallogic.com

Development Tools

Students need to have their development environment set up before class begins.

Supported Browsers

  • Latest Firefox
  • Internet Explorer 8+
  • Latest Chrome
  • Latest Safari

Operating Systems

  • Windows
  • Linux
  • Mac OS X

Flash 9 (or higher) is required to watch our videos — download for free.

Each student will need a pair of headphones to watch our videos.

Once an agreement for the workshop is confirmed, we will work with your designated contact to ensure that the environment is configured properly prior to the workshop.

Request a Quote