HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
This is the Rough Cut version of the printed book.
With Acceptance Test-Driven Development (ATDD), business customers, testers, and developers can collaborate to produce testable requirements that help them build higher quality software more rapidly. However, ATDD is still widely misunderstood by many practitioners. ATDD by Example is the first practical, entry-level, hands-on guide to implementing and successfully applying it.ATDD pioneer Markus Gärtner walks readers step by step through deriving the right systems from business users, and then implementing fully automated, functional tests that accurately reflect business requirements, are intelligible to stakeholders, and promote more effective development.
Through two end-to-end case studies, Gärtner demonstrates how ATDD can be applied using diverse frameworks and languages. Each case study is accompanied by an extensive set of artifacts, including test automation classes, step definitions, and full sample implementations. These realistic examples illuminate ATDD’s fundamental principles, show how ATDD fits into the broader development process, highlight tips from Gärtner’s extensive experience, and identify crucial pitfalls to avoid. Readers will learn to
If you’re a tester, analyst, developer, or project manager, this book offers a concrete foundation for achieving real benefits with ATDD now–and it will help you reap even more value as you gain experience.
Foreword by Kent Beck xi
Foreword by Dale Emery xiii
Preface xv
Acknowledgments xxi
About the Author xxiii
Part I: Airport Parking Lot 1
Chapter 1: Parking Cost Calculator Workshop 3
Valet Parking 3
Short-Term Parking 5
Economy and Long-Term Parking 6
Essential Examples 9
Summary 12
Chapter 2: Valet Parking Automation 17
The First Example 18
Pairing for the First Test 25
Tabulated Tests 36
Summary 39
Chapter 3: Automating the Remaining Parking Lots 41
Short-Term Parking Lot 41
Economy Parking Lot 44
Summary 46
Chapter 4: Wish and Collaborate 47
Specification Workshops 48
Wishful Thinking 49
Collaboration 50
Summary 52
Part II: Traffic Light Software System 53
Chapter 5: Getting Started 55
Traffic Lights 55
FitNesse 58
Supporting Code 59
Summary 60
Chapter 6: Light States 61
State Specifications 61
The First Test 62
Diving into the Code 66
Refactoring 70
Summary 90
Chapter 7: First Crossing 93
Controller Specifications 93
Driving the Controller 94
Summary 118
Chapter 8: Discover and Explore 119
Discover the Domain 120
Drive the Production Code 121
Test Your Glue Code 122
Value Your Glue Code 124
Summary 125
<