- 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
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.
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
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