Your customers want rock-solid, bug-free software that does exactly what they expect it to do. Yet they can’t always articulate their ideas clearly enough for you to turn them into code. The Cucumber Book dives straight into the core of the problem: communication between people. Cucumber saves the day; it’s a testing, communication, and requirements tool – all rolled into one.
About this Book
- 336 pages
- Release: P2.0 (2013-01-28)
- ISBN: 978-1-93435-680-7
Matt Wynne and Aslak Hellesøy show you how to express your customers’ wild ideas as a set of clear, executable specifications that everyone on the team can read. You’ll learn how to feed those examples into Cucumber and let it guide your development. You’ll build just the right code to keep your customers happy, and not a line more. Although it was born in the Ruby community, you can use Cucumber to test almost any system, from a simple shell script or Perl script, to web applications written in PHP, Java, or any platform.
In Part 1, you’ll get started by using the core features of Cucumber and working with Cucumber’s Gherkin DSL to describe—in plain language—the behavior your customers want from the system. Then you’ll write Ruby code that interprets those plain-language specifications and checks them against your application. If you’re new to Cucumber, this part of the book will teach you everything you need to know to get started.
In Part 2, you’ll consolidate the knowledge you’ve gained with a worked example, where you’ll learn more advanced Cucumber techniques. You’ll also learn how to test asynchronous systems and systems that use a database.
In Part 3, you’ll find a selection of recipes for some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, you’ll learn how to test Ajax-heavy web applications with Capybara and Selenium, REST web services, Ruby on Rails applications, command-line applications, legacy applications, and more.
Written by the creator of Cucumber and one of its most experienced users and contributors, The Cucumber Book is an authoritative guide that will give you and your team all the knowledge you need to start using Cucumber with confidence.
What You Need: Windows, Mac OS X (with XCode) or Linux Ruby 1.9.2 and upwards
Audience: This book contains comprehensive Cucumber information for beginning to advanced Cucumber users. If you’re a developer planning to use Cucumber with RSpec, you might also want to look at The Rspec Book.
Contents and Extracts
- Cucumber Fundamentals
- A Worked Example
- Step Definitions: On the Inside excerpt
- Support Code
- Dealing with Message Queues and Asynchronous Components
- Cucumber Applied
- The Cucumber Command-Line Interface
- Testing a REST Web Service
- Adding Tests to a Legacy Application excerpt
- Bootstrapping Rails
- Using Capybara to Test Ajax Web Applications
- Testing Command Line Applications with Aruba
Comments and Reviews
—Pat Maddox, B.D.D.M.F. RSpec Core team
To those of you wondering how to use Cucumber effectively, The Cucumber Book is the answer. Not content to write just a testing book, Aslak and Matt have packed it with practical insights on many aspects of software development. Studying this book will make you a better software developer.
—Rachel Davies Author, "Agile Coaching"
Teams can use Cucumber to get a better understanding of what software to build for their customers. In this book, Aslak and Matt do a brilliant job explaining how you get started with Cucumber with plenty of easy-to-follow examples.
—J. B. Rainsberger Author, "JUnit Recipes"
I devoured the Cucumber book on a train ride from Grenoble to Brussels a few days after watching Matt’s presentation “BDD As It’s Meant to Be Done.” These two resources helped me understand in just a few hours how to avoid dozens of common mistakes writing scenarios in the Cucumber style. It’s as though I received an injection of perhaps two years of experience writing scenarios poorly so that I didn’t have to go through it all myself. What a gift. I recommend this book to everyone working with Cucumber.
—Robert C. Martin (Uncle Bob)
Few tools have managed to bridge the developer-customer divide as well as Cucumber has. Cucumber is not a tool for testing applications. Cucumber is a philosophy for communicating requirements. This book brings that philosophy to life.