Foreword by Kent Beck xi Foreword by Dale Emery xiiiPreface xvAcknowledgments xxiAbout the Author xxiii Part I: Airport Parking Lot 1Chapter 1: Parking Cost Calculator Workshop 3Valet Parking 3Short-Term Parking 5Economy and Long-Term Parking 6Essential Examples 9Summary 12 Chapter 2: Valet Parking Automation 17The First Example 18Pairing for the First Test 25Tabulated Tests 36Summary 39 Chapter 3: Automating the Remaining Parking Lots 41Short-Term Parking Lot 41Economy Parking Lot 44Summary 46 Chapter 4: Wish and Collaborate 47Specification Workshops 48Wishful Thinking 49Collaboration 50Summary 52 Part II: Traffic Light Software System 53Chapter 5: Getting Started 55Traffic Lights 55FitNesse 58Supporting Code 59Summary 60 Chapter 6: Light States 61State Specifications 61The First Test 62Diving into the Code 66Refactoring 70Summary 90 Chapter 7: First Crossing 93Controller Specifications 93Driving the Controller 94Summary 118 Chapter 8: Discover and Explore 119Discover the Domain 120Drive the Production Code 121Test Your Glue Code 122Value Your Glue Code 124Summary 125 Part III: Principles of Acceptance Test-Driven Development 127Chapter 9: Use Examples 129Use a Proper Format 130Refine the Examples 142Cut Examples 146Consider Gaps 149Summary 151 Chapter 10: Specify Collaboratively 153Meet the Power of Three 153Hold Workshops 155Trawl Requirements 158Summary 159 Chapter 11: Automate Literally 161Use Friendly Automation 162Collaborate on Automation 164Discover the Domain 166Summary 167 Chapter 12: Test Cleanly 169Develop Test Automation 170Listen to the Tests 172Refactor Tests 176Summary 180 Chapter 13: Successful ATDD 183 Appendix A: Cucumber 187Feature Files 187Step Definitions 188Production Code 189 Appendix B: FitNesse 191Wiki Structure 191SLiM Tables 192Support Code 193 Appendix C: Robot Framework 195Sections 195Library Code 199 References 201Index 205
Markus Gartner, works as an agile tester, trainer, coach, and consultant with it-agile GmbH, in Hamburg, Germany. He founded the German Agile Testing and Exploratory workshop in 2011, and cofounded the European chapter of Weekend Testing in 2010. A black-belt instructor in the Miagi-Do school of software testing, he contributes to the Agile Alliance FTT-Pattern writing community and the Software Craftsmanship movement. Gartner regularly presents at agile and testing conferences around the world, has written extensively about agile testing, and regularly teaches ATDD and context-driven testing. He blogs at shino.de/blog.