The BDD Books – Formulation
Minimum price
Suggested price

The BDD Books – Formulation

Document examples with Given/When/Then

About the Book

The book is also available in print on Amazon through

Written by the creator of SpecFlow and the author of The Cucumber for Java Book, this book gives the reader the inside information on how to effectively formulate concrete examples (generated during the discovery phase) as business-readable, Gherkin scenarios - the industry leading Behaviour Driven Development (BDD) specification syntax. This practical guide explores the practices and principles for writing better scenarios (using Given/When/Then), by following a team as they create living documentation for a product that they are enhancing.

This book is written for everyone involved in the specification and delivery of software (including product owners, business analysts, developers and testers). The book describes how all stakeholders need to be involved in the creation of a product's specification. How you get involved will depend on your skills, your other time commitments, and a host of other factors - but the involvement of all concerned is essential. So, whether you come up with the words, do the typing, or provide constructive feedback, you will find this book indispensable.

This is the second in the BDD Books series that will guide you through the entire development process, including specific technical practices needed to successfully drive development using collaboratively-authored specifications and living documentation.

There is a Slack channel where topics arising from the BDD Books series can be discussed. First you’ll need to join the Cucumber Community Slack workspace (if you haven’t already). Then join the #bdd-books-discussion channel.

About the Authors

Seb Rose
Seb Rose

Consultant, coach, designer, analyst and developer for over 30 years.

Seb has been involved in the full development lifecycle with experience that ranges from Architecture to Support, from BASIC to Ruby. He’s a partner in Cucumber Limited, who help teams adopt and refine their agile practices, with a particular focus on collaboration and automated testing.

Regular speaker at conferences and occasional contributor to software journals. Contributing author to “97 Things Every Programmer Should Know” (O’Reilly) and lead author of “The Cucumber for Java Book” (Pragmatic Programmers).

He blogs at and tweets as @sebrose.

Gáspár Nagy
Gáspár Nagy

Gáspár Nagy is the creator and main contributor of SpecFlow, the most widely used ATDD/BDD framework for .NET.

Gáspár is an independent coach, trainer and test automation expert focusing on helping teams implementing BDD and SpecFlow through his company, called Spec Solutions. He has more than 20 years of experience in enterprise software development as he worked as an architect and agile developer coach.

He shares useful BDD and test automation related tips on his blog ( and on Twitter (@gasparnagy). He edits a monthly newsletter ( about interesting articles, videos and news related to BDD, SpecFlow and Cucumber.

He also works on a tool that can synchronize scenarios to Azure DevOps and Jira, called SpecSync.

Bundles that include this book

Bought separately
Bundle Price

Table of Contents

  • Foreword by Angie Jones
  • Foreword by Daniel Terhorst-North
  • Preface
    • The WIMP project
    • Who this book is for
    • Why you should read this book
    • How to read this book
    • Rules and examples
    • BDD needs skilled testers
    • Why you should listen to us
    • Online resources
    • Acknowledgments
  • Chapter 1 – What is formulation?
    • 1.1 – Where does formulation fit into BDD?
    • 1.2 – Shared understanding
    • 1.3 – Two types of scenarios
    • 1.4 – Many formats
    • 1.5 – Gherkin overview
    • 1.6 – Living documentation
    • 1.7 – What we just learned
  • Chapter 2 – Cleaning up an old scenario
    • 2.1 – The old scenario
    • 2.2 – Keep your scenarios BRIEF
    • 2.3 – Using example maps to provide focus
    • 2.4 – Document the essence of the behaviour
    • 2.5 – Scenarios should read like a specification
    • 2.6 – Use real data when it provides clarity
    • 2.7 – Communication, not testing
    • 2.8 – Illustrative scenarios
    • 2.9 – What we just learned
  • Chapter 3 – Our first feature
    • 3.1 – Feature files
    • 3.2 – A sample feature file
    • 3.3 – Gherkin basics
    • 3.4 – The feature file
    • 3.5 – Rules
    • 3.6 – Scenario structure
    • 3.7 – Multiple contexts
    • 3.8 – Keeping context essential
    • 3.9 – Is it a Given or a When?
    • 3.10 – Multiple outcomes
    • 3.11 – Conjunctions always need consideration
    • 3.12 – Data tables
    • 3.13 – Scenario outlines
    • 3.14 – Keep tables readable
    • 3.15 – Readable blocks of text
    • 3.16 – What we just learned
  • Chapter 4 – A new user story
    • 4.1 – Restricting customers using a blocklist
    • 4.2 – Write it upwards
    • 4.3 – Too many cooks
    • 4.4 – Quotation marks
    • 4.5 – There’s no “I” in “Persona”
    • 4.6 – Does repetition matter?
    • 4.7 – Readability trumps ease of automation
    • 4.8 – Background
    • 4.9 – Unformulated examples
    • 4.10 – Commenting in feature files
    • 4.11 – Setting the context
    • 4.12 – Staying focused
    • 4.13 – Formulation gets faster
    • 4.14 – Incremental specification
    • 4.15 – Manual scenarios
    • 4.16 – Who does what and when
    • 4.17 – What we just learned
  • Chapter 5 – Organizing the documentation
    • 5.1 – User stories are not the same as features
    • 5.2 – Separation of concerns
    • 5.3 – Documentation evolves
    • 5.4 – Documenting the domain
    • 5.5 – Tags are documentation too
    • 5.6 – Journey scenarios
    • 5.7 – Structuring the living documentation
    • 5.8 – Documenting shared features
    • 5.9 – Targeted documentation
    • 5.10 – What we just learned
  • Chapter 6 – Coping with legacy
    • 6.1 – BDD on legacy projects
    • 6.2 – Incremental documentation
    • 6.3 – Making use of manual test scripts
    • 6.4 – What we just learned
  • What’s next
    • Where we’ve got to
    • What’s left to cover
    • How else we can help
  • Appendices
    • Gherkin cheat-sheet
    • Gherkin jump-list
    • Formulation “smells” jump-list
    • Formulated feature files
  • Bibliography

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub