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 organisations successfully implement BDD strategies.
Table of Contents:
- 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
About the Author :
Richard Lawrence is co-owner of the consulting firm Agile For All. He trains and coaches people to collaborate more effectively with other people to solve complex, meaningful problems. He draws on a diverse background in software development, engineering, anthropology, and political science.
Richard was an early adopter of behavior-driven development and led the development of the first .NET version of Cucumber, Cuke4Nuke. He is a popular speaker at conferences on BDD and Agile software development.
Paul Rayner co-founded and co-leads DDD Denver. He regularly speaks at local user groups and at regional and international conferences. If you are looking for an expert hands-on team coach and design mentor in domain-driven design (DDD), BDD with Cucumber, or lean/agile processes, Paul is available for consulting and training through his company, Virtual Genius LLC.