Behavior Driven Development Essentials

This immersive 4-day (or seven 4-hour live remote sessions) course unites your whole team in an intensely collaborative environment designed to circumvent misunderstandings and to successfully specify, build, test, and demonstrate working software using a rapid cycle of tiny increments. Learn to use the elegant and comprehensive Cucumber tool best suited to your Agile development environment.

Options

  • Variable length: At least three days, but often an extra day with your teams, working on their own products, is needed to make the practices real.

  • Up to 24 participants.

  • Languages currently available: C#(.Net), Java, JavaScript, Python, and Ruby. Official ports for Cucumber in other programming languages will be explored—and a course built—upon request. See here for a list of options: https://cucumber.io/docs/installation/

Objectives

  • Deliver value to customers early and often, without breaking existing functional investments.

  • Use BDD on your own product to make the practices carry forward from the classroom into your actual work.

  • Product, BA, QA, Development: Work collaboratively as a team to derive concrete examples from your PBIs or User Stories.

  • Product, BA, QA, Development: Convert examples into automated Cucumber scenarios.

  • Product, BA, QA, Development: Improve upon the agreed-upon meaning, format, details, and scope of your test scenarios.

  • Developers and QA: Use Cucumber Expressions (like regular expressions, only much simpler) and minimal “glue code” to connect your scenarios to your product in the best, most architecturally-appropriate manner.

  • Developers and QA: Explore the power available through Cucumber to test at the browser, API, or in-proc levels. Learn when each is appropriate.

  • Developers and QA: Learn how to improve the performance of the test-runs so that comprehensive scenario testing is completed in mere minutes instead of weeks.

Audience

The whole software team: This course is designed for entire product development teams, including: developers, testers, product leaders, usability designers, managers, and other stakeholders. BDD is a whole-team collaboration practice, therefore the participation of product people is required.

Prerequisites

  • A group of people who agree to work closely together during the course, with the unified goal of building quality, valuable, extensible software.