Behavior Driven Development

Course available as online Interactive
Course available to schedule for your team
Learn More

The course is conducted as a workshop where attendees will learn a very effective Behavior Driven Development approach by working in teams or individually in a workshop setting. The course instructor draws on his 35 years of experience in every aspect of the software development and test process to teach only what has proven to work and produce the best results.

This course is agnostic of any commercial software tool and language. Although the course will present a brief review of commercially available tools and languages, the bulk of the course will use plain English to define scenarios. The approach works equally for agile or non-agile projects. The aim is to maximize collaboration between the developers, testers, customers and other stakeholders.


This course is essential to every software professional involved in software development and testing:

  • Test engineers, test Leads, and test analysts interested in effectively planning, designing, and controlling all test activities.
  • User acceptance testing teams responsible for verifying system and functionality based on user scenarios.
  • Development teams interested in performing effective unit and integration testing.
  • Development and test managers interested in gaining better control over the different test activities and the quality of the software product.
  • Product owners and business analysts interested in producing a complete, precise and testable product and system functionality.
  • Non-technical customers and other stakeholders who participate in requirements/user story clarification and finalization.


The approach and associated methodology covered in this course have been used by organizations of all sizes and have proven to considerably reduce the number of defects in released products.

Whether you have been doing development and testing for a number of years or you have just started, we guarantee that you will learn very practical methods and techniques that will help you improve your performance and the performance of those around you. You will learn a number of practices that you might have not done before.


Module 1: Why should we use BDD
  • A deeper look at the purpose of testing – the testing mindset
  • The value of collaboration among all involved
  • Defect Prevention Vs Defect detection
  • The role of developers, testers and customers in defect prevention
  • Different BDD tools and frameworks
Module 2: Scenario-Based BDD as a defect prevention approach
  • User Stories and Acceptance Criteria
    • Working with incomplete User Stories and or requirements
    • Learning how to ask the right questions to get the details and eliminate ambiguity.
    • Workshop: Requirement/user story review
  • Scenarios and scenario-based development and testing – Focusing on the behavior
    • Breaking down user story/requirements to scenarios
    • Pre-conditions and post conditions of scenarios
    • The roles of customers in identifying scenarios
    • Positive and negative scenarios – normal Vs unexpected behavior
    • Validating scenarios with customers and stakeholders
    • Identifying the most critical scenarios for development and testing
    • Workshop: Building and validating scenarios
Module 3: Mapping Scenarios to design and code components
  • Scenarios-to-design traceability
  • Scenarios-to-code traceability
  • Discovering missing implementation during code/design reviews
  • Closing the gap between development and testing
Module 4: Deriving Tests from Scenarios
  • Pre-designed tests Vs ad hoc testing
  • Exploratory testing based on scenarios
  • Positive and negative test cases
  • Identifying the critical components of a test case
  • Test sets and Test Scripts
  • Separating test data from scripts for test automation
  • Reusable scripts
  • Scenarios-to-Tests traceability