Course Outline
Day 01
Introduction
- The rationale for BDD
- BDD as an extension of Agile
- Agenda for Day 01
Applying BDD at Various Stages of the Software Development Cycle
- Pre-development phase
- During development
- Post-development phase
A Unified Language for All
- The linguistic gap between engineers and non-engineers
- Bridging the divide through BDD
- Previewing the BDD language: Gherkin
The Multiple Roles of BDD
- BDD as product requirements (for the product owner)
- BDD as acceptance criteria (for developers)
- BDD as test cases (for testers)
- BDD as a product description (for other stakeholders)
Revisiting Agile: Starting with User Stories
- Overview of the Agile development cycle
- The function of User Stories in Agile development
Q&A Session and Discussion
Quiz
Crafting Effective User Stories
- Employing the appropriate language
- Role, Action, Outcome
- A sample User Story
Activity - Authoring a User Story
- Writing your first User Story - individual exercise
- Refining your User Stories - team exercise
- Presentation of your User Story - team exercise
User Stories in Real-World Projects
- Team dynamics
- Tools and techniques
- User Stories within the software development lifecycle
Moving Toward BDD
- Expanding the User Story
- Introducing the Feature File
- Capturing expected software behavior
- Envisioning "unexpected" behaviors
Crafting an Effective Feature File
- Using the correct language (Gherkin)
- Given, When, Then
- A sample Feature File
Activity - Authoring a Feature File - PART 01
- Writing your first Feature File - individual exercise
- Feature section
- Scenario section
- Refining your Feature File - team exercise
- Presentation of your Feature File - team exercise
Feature Files in Real-World Projects
- Team dynamics
- Tools and techniques
- User Stories in the software development cycle
Q&A Session and Discussion
Quiz
Setting Up Your Environment
- Enhancing Gherkin readability
- The benefits of productivity
Activity - Authoring a Feature File - PART 02
- Writing your Feature File - individual exercise
- Passing multiple arguments to your Scenario
- Scenario Outline section
- Refining your Feature File - team exercise
- Presentation of your Feature File - team exercise
Q&A Session and Discussion
Quiz
Closing Remarks
Day 02
Introduction
- Recap of the previous day
- Agenda for Day 02
Your Product - A Reflective Exercise
- Describing your product
- Visualizing your product
Expanding Test Coverage
- System usability
- Business requirements
- Business processes
Activity - Authoring a Feature File - PART 03
- Writing your Feature File - individual exercise
- Examples section
- Reusing data and scenarios
- Organizing features and scenarios with tags
- Refining your Feature File - team exercise
- Presentation of your Feature File - team exercise
Q&A Session and Discussion
Quiz
The Feature File - What to Exclude
- Elements best left to engineers
- Low-level functionality (unit tests)
- Comprehensive cross-component functionality (integration and API testing)
Q&A Session and Discussion
Quiz
Your Product - A Reflective Exercise
- Assessing your product's usability
- Evaluating usability for external users
Communicating with People Outside Your Team
Summary and Next Steps
Requirements
- A solid grasp of user requirements concepts
- A keen ability to discern software quality and shortcomings from an end-user perspective
- No prior programming or testing experience is required
Audience
- Product owners and managers
- Business analysts
- Manual testers
- End-users of software products or systems
- Non-engineers and non-coders involved in product design
Testimonials (7)
Use of powerpoint / paint to create the training materials as we went along. Benefit of the trainers experience. Use of the "cinema booking tool" example and our break out group case studies really brought the approach to life
Mark - Leeds Building Society
Course - BDD for Non-Programmers: Live Workshop
Craig was really helpful and the material was very useful to hopefully take away and use in our actual day to day jobs. We were able to work on real life examples linked to our current work, which Craig supported and gave feedback. This was really helpful
David Pinkstone - Leeds Building Society
Course - BDD for Non-Programmers: Live Workshop
The training was great, I could see that a lot of prep had gone it to pitch it at the right level of detail and to make the exercises relevant. I am already using BDD at a very simple level, so I was most interested in how the BDD statements are used by testers and automation testers, and therefore how I could improve what I do to make it more usable by other team members.
Sadie Brown - Leeds Building Society
Course - BDD for Non-Programmers: Live Workshop
Understanding how I can apply user stories and BDD in my team - I've already gotten good feedback from the changes I've made to my work as a result of the training
Lindsey Smith - Leeds Building Society
Course - BDD for Non-Programmers: Live Workshop
A structured learning to start on BDD.
Gagan Gupta - Leeds Building Society
Course - BDD for Non-Programmers: Live Workshop
It was interactive and suited better to someone like myself who learns by actually doing tasks and learning from mistakes
Liam Burton - Leeds Building Society
Course - BDD for Non-Programmers: Live Workshop
The trainer was very knowledgeable, went at a pace for the group, and made sure we all contributed.