Agile software development teams are seeking better ways to create business-facing automated tests that support the development of the right product. Cucumber is rapidly becoming the most popular tool for accomplishing this objective - but, until now, no book has covered Behavior-Driven Development (BDD) practices and tools in sufficient depth. Teams have been forced to keep reinventing the wheel, or else to hire one of a handful of consultants at great expense. Behavior-Driven Development with Cucumber fills that gap.
Richard Lawrence and Paul Rayner begin by illuminating ATDD's value, and showing how it can help you produce better software with less pain. Next, they present a complete BDD/Cucumber reference and tutorial that provides a common language for software customers and team members alike. Lawrence and Rayner thoroughly explain the role of each team member and stakeholder, with a particularly insightful emphasis on non-developers. Next, they show how to automate functional tests for web, console, native client, legacy, and other applications on the Ruby, Java, and .NET. platforms. To complement the Web's existing Ruby-oriented Cucumber resources, the authors provide even more Java (Cuke4Duke) and C# (Cuke4Nuke) examples.
Throughout, you'll find concrete examples and hands-on exercises based on the authors' extensive experience teaching BDD to software professionals and helping software organizations successfully implement BDD strategies.
I. Geting Started A. Background and Context B. Basic ATDD with Cucumber II. Going Deeper A. Using the Gherkin Language to Build Richer Scenarios B. More Powerful Automation C. Organizing and Running Scenarios III. Special Topics A. Driving Web Applications B. Dealing with Complex/Large Test Data C. Using Cucumber with Other Tools D. Adopting Cucumber with Legacy Software IV. Appendices A. Regular Expressions B. Step Definition Examples in Other JVM and .NET Languages