By Bill Wake, Amr Elssamadisy, Tim Ottinger

Specifying Scenarios Safely teaches you how to use Behavior-Driven Development to improve your software development capability: You will see how collaboration is the keystone practice that helps you explore and document the most important scenarios for your system.
You will learn to write scenarios using the Gherkin language, which will make it easier for your development team to automate scenarios to create a safety net of regression tests.
Finally, you will explore some key patterns that help you write scenarios effectively.

Get this Album

Volume Licensing

Have Any Questions?


Safe BDD: Become behavior-driven by learning to compose safe scenarios. Learn more...
Expert Videos: Learn tools & techniques by watching short videos from industry experts. Learn more...

Integrated Forums: Ask questions, get expert replies and read fascinating discussions. Learn more...


  • 2-4 hours of content
  • 76 pages
  • Scenario Writing Strategies & Tactics
  • 5 Interactive quizzes
  • 2 Exercises
  • 3 Videos


Welcome to Scenario Specification 3
Examples in Everyday Life 4
What is a Scenario? 5
Is This About Testing? 6
Conversations Are Key 7
A Software Example 8
How Behavior Driven Development Fits with Software Development ← Click to Preview 9
Scenario Collaboration 11
Software As An Information System 12
Focus on Learning to Improve Product Development Results 13
Traditional Software Development 14
Beware of Duplication and Inconsistencies 15
Collaborating Around Scenarios 16
Leveraging Examples as Tests ← Click to Preview 17
Improving Our Software Development Capability 18
Common Pitfalls 19
Succeeding Together 20
Quiz: When To Collaborate 21
Specifying by Example 23
Event and Response 24
System Boundary 25
Outside the Boundary 26
Multiple Touchpoints 27
Problem Space and Solution Space 28
A Simple Example 29
A Series of Tests 30
Tables Simplify Repetitive Scenarios ← Click to Preview 31
Why Use A Special Scenario-Writing Syntax? 32
What Is Gherkin? 34
A Gherkin Example 35
The Feature Preamble 36
Preamble? Why Bother? ← Click to Preview 37
Example without Explanation 38
Scenario Syntax 39
Scenario Syntax Quiz 40
Browseable Formatting, Starting with Features 42
Complex Setup with Inline Tables 43
Scenario Setup Repetition 44
Sharing Scenario Setup With A Background 45
Dealing With Repetition: Scenario Outlines 46
Scenario Outlines or Inline Tables? 47
The Magic of Tags 48
Gherkin Syntax Quiz 49
Workflow Scenarios ← Click to Preview 51
Calculation Scenarios 52
Workflow or Calculation? 53
Domain: The Wumpus Game 55
Write Some Scenarios 56
The Full Map 57
Write More Scenarios 58
Domain-Specific Language ← Click to Preview 59
Simple Language 60
Specification Patterns 62
Essence Not Implementation 63
Don't Dial Every Number ← Click to Preview 64
Include Only Relevant Details 65
Interesting First 66
Simple To Complex 67
Expressive Scenarios 68
Minimal Setup, Minimal Evidence 69
Standard Setup 70
Staying Relevant 72
Guides and Guards 73
Avoid False Positives 74
Conclusion 76

Related Items

Supported Browsers

  • Latest Firefox
  • Internet Explorer 8+
  • Latest Chrome
  • Latest Safari

Operating Systems

  • Windows
  • Linux
  • Mac OS X

Development Tools

All of our programming exercises come with projects pre-configured for IntelliJ, Eclipse and Visual Studio.

Speakers or headphones are required for our videos.