Course #:TP2716

Behavior Driven Development (BDD) Jumpstart Training

Behavior Driven Development (BDD) equips teams with practices, tools, and techniques to take their software development processes to the next level. This course provides a hands-on workshop to introduce BDD concepts and equip teams with practical experience in creating BDD feature files, scenarios, and complete working applications.

You will learn BDD through a series of practical exercises utilizing Cucumber, Maven, and the Eclipse IDE to gain hands-on experience with BDD.

OBJECTIVES

  • Learn BDD basics and principles
  • Understand the connection between TDD and BDD
  • Explore how BDD changes the way you approach Agile
  • See BDD stories and scenarios in action
  • Identify actionable steps to apply BDD on real-world projects
  • Learn the Gherkin syntax
  • Build BDD scenarios to serve as acceptance criteria for stories
  • Work through hands-on labs to design, build, and test end-to-end applications utilizing BDD

Audience

This course is intended for anyone who is interested in learning about BDD. Since BDD is a team concept, you are encouraged to include development staff, quality assurance personnel, and business representatives.

Pre-requisites

None, but prior experience with Agile is helpful.

Duration

Three Days

Outline of Behavior Driven Development (BDD) Jumpstart Training

1. BDD Basics and Principles

  • The digital disconnect
  • BDD principles
  • BDD story format
  • Ubiquitous language
  • BDD structure
  • Group Exercise

2. From TDD to BDD

  • Two main parts of BDD
  • TDD recap
  • From TDD to BDD
  • Re-framing our tests
  • TDD/BDD reflections

3. Seeing it in Action

  • JBehave introduction
  • Unit structure
  • Story structure
  • Group Exercise
  • The trader example
  • Software binding

4. Domains and the Role of Business

  • Outside-in development
  • Goal alignment
  • Impact mapping
  • Impact map structure
  • Value and complexity analysis
  • The three amigos

5. BDD Tooling

  • Tool overview
  • JBehave
  • Cucumber
  • Selenium
  • Tool integration

6. Working with Gherkin Syntax

  • Given / When / Then
  • How do we know it’s a given?
  • Knowing when to say when
  • Then and only then
  • Common pitfalls
  • Putting it into practice

7. Compound Steps

  • Core concept
  • Sample code
  • Seeing it in action
  • Hands-on lab

8. Resolving Duplicates

  • Core concept
  • Sample code
  • Seeing it in action
  • Hands-on lab

9. Patterns, Templates, Regular Expressions

  • Core concept
  • Sample code
  • Seeing it in action
  • Hands-on lab

10. Outlines, Lists, and Data Tables

  • Core concept
  • Sample code
  • Seeing it in action
  • Hands-on lab

11. Before / After Stories

  • Core concept
  • Sample code
  • Seeing it in action
  • Hands-on lab

12. Impact Mapping 

  • Goal Alignment
  • Good Goals vs Bad Goals
  • Impact Mapping
  • Tying Impact Mapping back to Agile Planning
  • Class Exercise

13. Steps to Incorporate BDD into a Project

  • Ways to include BDD in your next project
  • Examining your current process
  • Quantifying the benefits of BDD
  • Next steps

14. Final Project

  • Pulling it all together
  • Helpful reminders
  • Hands-on final lab
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.