Course Code: bddfornonprogrammers
Duration: 14 hours
Prerequisites:
  • 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
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.
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

Summary and Next Steps

Sites Published:

United Arab Emirates - BDD for Non-Programmers: Live Workshop

Qatar - BDD for Non-Programmers: Live Workshop

Egypt - BDD for Non-Programmers: Live Workshop

Saudi Arabia - BDD for Non-Programmers: Live Workshop

South Africa - BDD for Non-Programmers: Live Workshop

Brasil - BDD for Non-Programmers: Live Workshop

Canada - BDD for Non-Programmers: Live Workshop

中国 - BDD for Non-Programmers: Live Workshop

香港 - BDD for Non-Programmers: Live Workshop

澳門 - BDD for Non-Programmers: Live Workshop

台灣 - BDD for Non-Programmers: Live Workshop

USA - BDD for Non-Programmers: Live Workshop

Österreich - BDD for Non-Programmers: Live Workshop

Schweiz - BDD for Non-Programmers: Live Workshop

Deutschland - BDD for Non-Programmers: Live Workshop

Czech Republic - BDD for Non-Programmers: Live Workshop

Denmark - BDD for Non-Programmers: Live Workshop

Estonia - BDD for Non-Programmers: Live Workshop

Finland - BDD for Non-Programmers: Live Workshop

Greece - BDD for Non-Programmers: Live Workshop

Magyarország - BDD for Non-Programmers: Live Workshop

Ireland - BDD for Non-Programmers: Live Workshop

Luxembourg - BDD for Non-Programmers: Live Workshop

Latvia - BDD for Non-Programmers: Live Workshop

España - BDD para no programadores: taller en vivo

Italia - BDD for Non-Programmers: Live Workshop

Lithuania - BDD for Non-Programmers: Live Workshop

Nederland - BDD for Non-Programmers: Live Workshop

Norway - BDD for Non-Programmers: Live Workshop

Portugal - BDD for Non-Programmers: Live Workshop

România - BDD for Non-Programmers: Live Workshop

Sverige - BDD for Non-Programmers: Live Workshop

Türkiye - BDD for Non-Programmers: Live Workshop

Malta - BDD for Non-Programmers: Live Workshop

Belgique - BDD for Non-Programmers: Live Workshop

France - BDD for Non-Programmers: Live Workshop

日本 - BDD for Non-Programmers: Live Workshop

Australia - BDD for Non-Programmers: Live Workshop

Malaysia - BDD for Non-Programmers: Live Workshop

New Zealand - BDD for Non-Programmers: Live Workshop

Philippines - BDD for Non-Programmers: Live Workshop

Singapore - BDD for Non-Programmers: Live Workshop

Thailand - BDD for Non-Programmers: Live Workshop

Vietnam - BDD for Non-Programmers: Live Workshop

India - BDD for Non-Programmers: Live Workshop

Argentina - BDD para no programadores: taller en vivo

Chile - BDD para no programadores: taller en vivo

Costa Rica - BDD para no programadores: taller en vivo

Ecuador - BDD para no programadores: taller en vivo

Guatemala - BDD para no programadores: taller en vivo

Colombia - BDD para no programadores: taller en vivo

México - BDD para no programadores: taller en vivo

Panama - BDD para no programadores: taller en vivo

Peru - BDD para no programadores: taller en vivo

Uruguay - BDD para no programadores: taller en vivo

Venezuela - BDD para no programadores: taller en vivo

Polska - BDD for Non-Programmers: Live Workshop

United Kingdom - BDD for Non-Programmers: Live Workshop

South Korea - BDD for Non-Programmers: Live Workshop

Pakistan - BDD for Non-Programmers: Live Workshop

Sri Lanka - BDD for Non-Programmers: Live Workshop

Bulgaria - BDD for Non-Programmers: Live Workshop

Bolivia - BDD para no programadores: taller en vivo

Indonesia - BDD for Non-Programmers: Live Workshop

Kazakhstan - BDD for Non-Programmers: Live Workshop

Moldova - BDD for Non-Programmers: Live Workshop

Morocco - BDD for Non-Programmers: Live Workshop

Tunisia - BDD for Non-Programmers: Live Workshop

Kuwait - BDD for Non-Programmers: Live Workshop

Oman - BDD for Non-Programmers: Live Workshop

Slovakia - BDD for Non-Programmers: Live Workshop

Kenya - BDD for Non-Programmers: Live Workshop

Nigeria - BDD for Non-Programmers: Live Workshop

Botswana - BDD for Non-Programmers: Live Workshop

Slovenia - BDD for Non-Programmers: Live Workshop

Croatia - BDD for Non-Programmers: Live Workshop

Serbia - BDD for Non-Programmers: Live Workshop

Bhutan - BDD for Non-Programmers: Live Workshop

Nepal - BDD for Non-Programmers: Live Workshop

Uzbekistan - BDD for Non-Programmers: Live Workshop