Writing Great Specifications is an example-rich tutorial that teaches you how to write good Gherkin specification documents that take advantage of the benefits of specification by example. Foreword written by Gojko Adzic.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
The clearest way to communicate a software specification is to provide examples of how it should work. Turning these story-based descriptions into a well-organized dev plan is another matter. Gherkin is a human-friendly, jargon-free language for documenting a suite of examples as an executable specification. It fosters efficient collaboration between business and dev teams, and it's an excellent foundation for the specification by example (SBE) process.
About the Book
Writing Great Specifications teaches you how to capture executable software designs in Gherkin following the SBE method. Written for both developers and non-technical team members, this practical book starts with collecting individual feature stories and organizing them into a full, testable spec. You'll learn to choose the best scenarios, write them in a way that anyone can understand, and ensure they can be easily updated by anyone.management.
Reading and writing Gherkin
Designing story-based test cases
Managing a suite of Gherkin documents
About the Reader
Primarily written for developers and architects, this book is accessible to any member of a software design team.
About the Author
Kamil Nicieja is a seasoned engineer, architect, and project manager with deep expertise in Gherkin and SBE.
Table of contents
Introduction to specification by example and Gherkin
PART 1 - WRITING EXECUTABLE SPECIFICATIONS WITH EXAMPLES
The specification layer and the automation layer
Mastering the Given-When-Then template
The basics of scenario outlines
Choosing examples for scenario outlines
The life cycle of executable specifications
PART 2 - MANAGING SPECIFICATION SUITES
Organizing scenarios into a specification suite
Refactoring features into abilities and business needs