BDD for Non-Programmers: Live Workshop Training Course

Overview

BDD, or Behavior Driven Development, is an Agile software development technique that encourages collaboration among developers, quality assurance teams and non-technical business people throughout the planning, development and testing cycle of a software project.

This instructor-led, live workshop begins with an introduction to BDD, what it is and how it is used by companies to promote good software design, development and testing. We do this from a non-engineering point-of-view, with an eye on the end-users, their requirements, language, and way of thinking. We also address the communication challenges that business stakeholders are likely to encounter as they work closer with their technical-minded peers.

By the end of this training, participants will know how to:

  • Write succinct user stories that capture the usage patterns of real users of the software.
  • Translate their user stories into the behavioral language of BDD (Given, When, Then.)
  • Derive test cases from these stories, for use by engineers to implement and test.
  • Understand the relationship between product requirements, acceptance criteria, and test cases.
  • Demystify the technical jargon that impedes communication and understanding.
  • Install and use great tools for writing BDD feature files.
  • Understand and appreciate what happens once the work is handed to engineers.
  • Play a more active role in the iterative development cycle.

Format of the course

  • A interactive, instructor-led workshop with lots of activities and hands-on practice.

Notes

  • The workshop includes case studies and software samples. To customize the materials to your company’s product and situation, please contact us to arrange.

Requirements

  • An understanding of user requirements concepts
  • A discerning eye for software goodness and software inadequacies, from an end-user perspective
  • Programming and testing experience are not required

Audience

  • Product owners and managers
  • Business analysts
  • Manual testers
  • End-users of a software product or system
  • Non-engineers and non-coders involved in product design

Course Outline

============== Day 01 =====================

Introduction

  • Why BDD?
  • BDD as an extension of Agile
  • Agenda for Day 01

Applying BDD at Different Stages in the Software Development Cycle

  • Before development
  • During development
  • After development

One Language to Rule Them All

  • Engineers and non-engineers speak different languages
  • Bridging the gap through BDD
  • A preview of the BDD language: Gherkin

The Different Roles of BDD

  • BDD as product requirements (for product owner)
  • BDD as acceptance criteria (for developers)
  • BDD as test cases (for testers)
  • BDD as a description of the product (for other stake holders)

Back to Agile: It All Starts with User Stories

  • Overview of the Agile development cycle
  • The role of User Stories in Agile development

Q&A Session and Discussion

Quiz

Creating a Good User Story

  • Using the right language
    • Role, Action, Outcome
  • A sample User Story

Activity – Writing a User Story

  • Writing your first User Story – individual activity
  • Tightening your User Stories – team activity
  • Delivering your User Story – team activity

User Stories in Real Projects

  • Team dynamics
  • Tools and techniques
  • User Stories in the software development cycle

On to BDD

  • Extending the User Story
  • Introducing the Feature File
  • Capturing the expected behavior of software
  • Imagining what “unexpected” behavior looks like

Creating a Good Feature File

  • Using the right language (Gherkin)
    • Given, When, Then
  • A sample Feature File

Activity – Writing a Feature File – PART 01

  • Writing your first Feature File – individual activity
    • Feature section
    • Scenario section
  • Tightening your Feature File – team activity
  • Delivering your Feature File – team activity

Feature Files in Real Projects

  • Team dynamics
  • Tools and techniques
  • User Stories in the software development cycle

Q&A Session and Discussion

Quiz

Setting up Your Environment

  • Making Gherkin pretty
  • The joy of productivity

Activity – Writing a Feature File – PART 02

  • Writing your Feature File – individual activity
    • Passing multiple arguments to your Scenario
    • Scenario Outline section
  • Tightening your Feature File – team activity
  • Delivering your Feature File – team activity

Q&A Session and Discussion

Quiz

Closing Remarks


============== Day 02 =====================

Introduction

  • Recap of previous day
  • Agenda for Day 02

Your Own Product – An Introspection

  • Describing your product
  • Drawing a picture of your product

Extending Test Coverage

  • Usability of the system
  • Business requirements
  • Business processes

Activity – Writing a Feature File – PART 03

  • Writing your Feature File – individual activity
    • Examples section
    • Reusing data and scenarios
    • Organizing features and scenarios with tags
  • Tightening your Feature File – team activity
  • Delivering your Feature File – team activity

Q&A Session and Discussion

Quiz

The Feature File – What to Leave Out

  • What to leave to the engineers
    • Low-level functionality (unit tests)
    • Exhaustive cross-component functionality (integration and API testing)

Q&A Session and Discussion

Quiz

Your Own Product – An Introspection

  • How usable is your product?
  • How usable is your product to outside users?

Communication with People outside Your Team

Closing Remarks

Leave a Reply

Your email address will not be published. Required fields are marked *