Lean-Agile Acceptance Test-Driven Development
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration(Net Objectives Lean-Agile Series)
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration(Net Objectives Lean-Agile Series)

Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration(Net Objectives Lean-Agile Series)


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Praise for Lean-Agile Acceptance Test-Driven Development   “Lean-Agile Acceptance Test-Driven Development tells a tale about three fictive project stakeholders as they use agile techniques to plan and execute their project. The format works well for the book; this book is easy to read, easy to understand, and easy to apply.” —Johannes Brodwall, Chief Scientist, Steria Norway   “Agile development, some say, is all about pairing, and, yes, I’m a believer in the power of pairing. After reading this book, however, I became a fan of the ‘triad’—the customer or business analyst + the developer + the tester, who work collaboratively on acceptance tests to drive software development. I’ve written some patterns for customer interaction and some patterns for testing and I like what Ken Pugh has chosen to share with his readers in this down-to-earth, easy-to-read book. It’s a book full of stories, real case studies, and his own good experience. Wisdom worth reading!” —Linda Rising, Coauthor of Fearless Change: Patterns for Introducing New Ideas   “The Agile Manifesto, Extreme Programming, User Stories, and Test-Driven Development have enabled tremendous gains in software development; however, they’re not enough. The question now becomes ‘How can I ensure clear requirements, correct implementation, complete test coverage, and more importantly, customer satisfaction and acceptance?’ The missing link is acceptance as defined by the customer in their own domain language. Lean-Agile Acceptance Test-Driven Development is the answer.” —Bob Bogetti, Lead Systems Designer, Baxter Healthcare   “Ken Pugh’s Lean-Agile Acceptance Test-Driven Development shows you how to integrate essential requirements thinking, user acceptance tests and sounds, and lean-agile practices, so you can deliver product requirements correctly and efficiently. Ken’s book shows you how table-driven specification, intertwined with requirements modeling, drives out acceptance criteria. Lean-Agile Acceptance Test-Driven Development is an essential guide for lean-agile team members to define clear, unambiguous requirements while also validating needs with acceptance tests.” —Ellen Gottesdiener, EBG Consulting, www.ebgconsulting.com, Author of Requirements by Collaboration and The Software Requirements Memory Jogger   “If you are serious about giving Agile Testing a chance and only have time to read one book, read this one.” —David Vydra, http://testdriven.com   “This book provides clear, straightforward guidance on how to use business-facing tests to drive software development. I’m excited about the excellent information in this book. It’s a great combination of the author’s experiences, references to other experts and research, and an example project that covers many angles of ATDD. A wide range of readers will learn a lot that they can put to use, whether they work on projects that call themselves lean or agile or simply want to deliver the best possible software product.” —Lisa Crispin, Agile Tester, ePlan Services, Inc., Author of Agile Testing   Within the framework of Acceptance Test-Driven-Development (ATDD), customers, developers, and testers collaborate to create acceptance tests that thoroughly describe how software should work from the customer’s viewpoint. By tightening the links between customers and agile teams, ATDD can significantly improve both software quality and developer productivity.   This is the first start-to-finish, real-world guide to ATDD for every agile project participant. Leading agile consultant Ken Pugh begins with a dialogue among a customer, developer, and tester, explaining the “what, why, where, when, and how” of ATDD and illuminating the experience of participating in it.   Next, Pugh presents a practical, complete reference to each facet of ATDD, from creating simple tests to evaluating their results. He concludes with five diverse case studies, each identifying a realistic set of problems and challenges with proven solutions.   Coverage includes   •     How to develop software with fully testable requirements •     How to simplify and componentize tests and use them to identify missing logic •     How to test user interfaces, service implementations, and other tricky elements of a software system •     How to identify requirements that are best handled outside software •     How to present test results, evaluate them, and use them to assess a project’s overall progress •     How to build acceptance tests that are mutually beneficial for development organizations and customers •     How to scale ATDD to large projects  

Table of Contents:
Introduction 1 Part I: The Tale Chapter 1: Prologue 9 Ways to Develop Software 9 One Way 9 Another Way 9 The Difference 10 The Importance of Acceptance Tests 10 System and Team Introduction 12 The System 12 The People 13 Summary 14 Chapter 2: Lean and Agile 15 The Triad and Its Units 15 Post-Implementation Tests 17 Quick Feedback Better Than Slow Feedback 18 Preimplementation Tests 19 Lean and Agile Principles 20 Summary 21 Chapter 3: Testing Strategy 23 Types of Tests 23 Where Tests Run 25 Test Facets 26 Control and Observation Points 27 New Test Is a New Requirement 27 Summary 28 Chapter 4: An Introductory Acceptance Test 29 A Sample Business Rule 29 Implementing the Acceptance Tests 31 Test Script 32 Test User Interface 33 xUnit Test 34 Automated Acceptance Test 35 An Overall Test 36 Testing Process 37 Summary 37 Chapter 5: The Example Project 39 The Charter 39 Objectives 40 Project Acceptance Tests 41 High-Level Requirements 43 Features 43 Feature Acceptance Criteria 45 Summary 46 Chapter 6: The User Story Technique 47 Stories 47 Features into Stories 48 Roles 49 Role Attributes 49 Persona 50 Stories for Roles 51 Story Acceptance Criteria 52 Acceptance Tests Determine Size 53 Customer Terms 54 INVEST Criteria 55 Summary 56 Chapter 7: Collaborating on Scenarios 57 Use Cases from User Stories 57 Simple Use Case 59 Exceptions and Alternatives 60 Acceptance Tests 63 Documentation 63 Story Map 63 Conceptual Flow 65 Communication 66 Summary 68 Chapter 8: Test Anatomy 69 Triad Creates Tests 69 Test Context 70 Test Structure 71 Calculation Table 73 Data Table 74 Action Table 75 Tests with Example Values 76 Requirements Revised 77 Acceptance Test Revised 78 Test with Values in Text 79 When and Where Tests Are Run 80 Summary 81 Chapter 9: Scenario Tests 83 Tests for Exception Scenarios 83 Tests for Business Rules 87 Cross-Story Issues 88 Don’t Automate Everything 89 Multi-Level Tests 90 User Interface Tests 93 Check the Objectives 93 Summary 94 Chapter 10: User Story Breakup 95 Acceptance Tests Help Break Up Stories 95 Business Rule Tests 96 A Story with a Business Rule 100 Summary 101 Chapter 11: System Boundary 103 External Interfaces 103 More Details 107 External Interface Tests 108 Component Tests 108 Test Doubles and Mocks 111 What Is Real? 112 Story Map of Activities 113 Summary 114 Chapter 12: Development Review 115 The Rest of the Story 115 Usability Testing 116 Separating State from Display 116 Quality Attribute Tests 118 Workflow Tests 119 Deployment Plans 120 From Charter to Deliverable 120 Summary 121 Part II: Details Chapter 13: Simplification by Separation 125 Complex Business Rules 125 Simplify by Separating 126 The Simplified Rule 128 Rental History 128 Summary 130 Chapter 14: Separate View from Model 131 Decouple the User Interface 131 Decoupling Simplifies Testing 136 Summary 136 Chapter 15: Events, Responses, and States 137 Events and an Event Table 137 States and State Transitions 139 Internal State or External Response 142 Transient or Persistent States 144 A Zen Question 144 Summary 144 Chapter 16: Developer Acceptance Tests 145 Component Acceptance Tests 145 Field Display Tests 145 Tabular Display Tests 147 Summary 151 Chapter 17: Decouple with Interfaces 153 Tests for a Service Provider 153 The Interface 153 Quality Attribute Tests 155 Comparing Implementations 155 Separating User Interface from Service 157 Separation of Concerns 158 Reusable Business Rules 158 Summary 159 Chapter 18: Entities and Relationships 161 Relationships 161 Entities and Relationships 161 Multiple Relationships 163 Alternative Representations 166 Summary 166 Chapter 19: Triads for Large Systems 167 Large Systems 167 When a Customer Test May Not Be Required 169 Data Conversion 170 Database Conversions 170 What If There Are No Tests? 170 Legacy Systems 172 Summary 173 Part III : General Issues Chapter 20: Business Capabilities, Rules, and Value 177 Business Capabilities 177 Scenario Handling 178 Business Rules Exposed 179 A Different Business Value 179 Summary 181 Chapter 21: Test Presentation 183 Customer Understood Tables 183 Table Versus Text 185 Specifying Multiple Actions 185 Complex Data 187 Custom Table Forms 188 Summary 189 Chapter 22: Test Evaluation 191 Test Facets 191 Understandable to Customers 191 Spell Checked 192 Idempotent 192 Not Fragile 192 Test Sequence 193 Workflow Tests 193 Test Conditions 194 Separation of Concerns 194 Test Failure 195 Test Redundancy 196 No Implementation Issues 197 Points to Remember 197 Summary 198 Chapter 23: Using Tests for Other Things 199 Uses of Acceptance Tests 199 Degree of Doneness 199 Estimation Aid 200 Breaking Down Stories 200 Developer Stories 200 Tests as a Bug Report 201 Root Cause Analysis 201 Production Bugs 202 Regression Testing 202 Summary 202 Chapter 24: Context and Domain Language 205 Ubiquitous Language 205 Two Domains 207 Summary 208 Chapter 25: Retrospective and Perspective 209 Recap 209 The Process 210 Testing Layers 210 The Tests 211 Communication 212 What’s the Block? 212 Monad 212 Unavailable Customer 213 Change 213 Risks 214 Benefits 214 Summary 215 Part IV Case Studies Chapter 26: Case Study: Retirement Contributions 219 Context 219 The Main Course Test 220 Setup 220 Event 221 Expected 221 Implementation Issues 222 Separation of Concerns 222 Business Value Tracking 223 One Exception 223 Event 223 Expected 224 Another Exception 225 Event 225 Expected 225 Two Simultaneous Exceptions 226 Event 226 Expected 227 The Big Picture 227 Event Table 228 State Transition Table 228 Summary 230 Chapter 27: Case Study: Signal Processing 231 It’s Too Loud 231 Sound Levels 231 Developer Tests 233 Summary 233 Chapter 28: Case Study: A Library Print Server 235 The Context 235 A Workflow Test 236 Summary 241 Chapter 29: Case Study: Highly Available Platform 243 Context for Switching Servers 243 Test for Switching Servers 244 Test for Technical Rule 246 Summary 248 Part V : Technical Topics Chapter 30: How Does What You Do Fit with ATDD? 251 Test Platforms 251 Internal Design from Tests 252 Device Testing 254 Starting with User Interfaces 255 Black Box Testing 255 Unit Testing 256 Summary 256 Chapter 31: Test Setup 257 A Common Setup 257 Some Amelioration 259 Test Order 260 Persistent Storage Issues 260 Summary 261 Chapter 32: Case Study: E-Mail Addresses 263 Context 263 Breaking Down Tests 264 Local-Part Validation 265 Domain Tests 266 Disallowed Domain Tests 268 Test to Ensure Connection 269 Verification Test 269 Summary 270 Part VI : Appendices Appendix A: Other Issues 273 Context 273 Customer Examples 274 Fuzzy Acceptance Tests 274 Acceptance Test Detail 275 Requirements and Acceptance Tests 275 Documenting Requirements and Tests 276 Decoupling Requirements 276 Separation of Issues 276 Testing Systems with Random Events 277 The Power of Three 277 Summary 278 Appendix B: Estimating Business Value 279 Business Value 279 Developer Stories 281 Summary 282 Appendix C: Test Framework Examples 283 The Examples 283 Fit Implementation 284 Setup 284 Check-Out CD 284 Check-In 286 Category-Based Rental Fees 287 Slim–Table Style 288 Header 288 Setup 288 Check-Out CD 288 Check-In 290 Category-Based Rental Fees 291 Slim–Cucumber Style 291 Setup 291 Check-Out CD 292 Check-In CD 292 Scenario Library 292 Category-Based Rental Fees 294 Robot 295 Setup 295 Check-Out CD 295 Check-In CD 296 Category-Based Rental Fees 296 Cucumber 296 Check-Out CD 297 Check-In CD 297 Category-Based Rental Fees 297 Test Frameworks 298 Summary 298 Appendix D: Tables Everywhere 299 User Interface Tests with Tables 299 Requirement Tables 301 Another Table 302 Quality Attribute Requirements 303 Data Tables 304 Summary 304 Appendix E: Money with ATDD 305 The Context 305 The Original Tests 306 The Acceptance Test Approach 307 Summary 310 Appendix F: Exercises 311 Calculator 311 Create Some Tests 313 More Exercises 313 Sam’s CD Rental 314 Triangle 314 File Copying Exercise 314 References 315 Epilogue 323 Index 333

About the Author :
Kenneth Pugh has over two-fifths of a century of software experience. Previously a principal at Pugh-Killeen Associates, he is now a fellow consultant for Net Objectives. He has developed software applications ranging from radar tracking to financial analysis. Responsibilities have included everything from gathering requirements to testing. After the start of the new millennium, he has worked with teams to create software more effectively with lean and agile processes. He has spoken at numerous national conferences; consulted and taught all over the world; and testified on technology topics. This is his seventh book. In 2006, his book Prefactoring won the Jolt Award [DrDobbs01]. In his spare time, he snowboards, windsurfs, and backpacks. Between 1997 and 2003, he completed the Appalachian Trail. The cover photograph of Mount Katahdin, the northern end of the trail, was taken by the author from Abol Bridge in Maine.

Review :
Praise for Lean-Agile Acceptance Test-Driven Development   “Lean-Agile Acceptance Test-Driven Development tells a tale about three fictive project stakeholders as they use agile techniques to plan and execute their project. The format works well for the book; this book is easy to read, easy to understand, and easy to apply.” –Johannes Brodwall, Chief Scientist, Steria Norway   “Agile development, some say, is all about pairing, and, yes, I’m a believer in the power of pairing. After reading this book, however, I became a fan of the ‘triad’–the customer or business analyst + the developer + the tester, who work collaboratively on acceptance tests to drive software development. I’ve written some patterns for customer interaction and some patterns for testing and I like what Ken Pugh has chosen to share with his readers in this down-to-earth, easy-to-read book. It’s a book full of stories, real case studies, and his own good experience. Wisdom worth reading!” –Linda Rising, Coauthor of Fearless Change: Patterns for Introducing New Ideas   “The Agile Manifesto, Extreme Programming, User Stories, and Test-Driven Development have enabled tremendous gains in software development; however, they’re not enough. The question now becomes ‘How can I ensure clear requirements, correct implementation, complete test coverage, and more importantly, customer satisfaction and acceptance?’ The missing link is acceptance as defined by the customer in their own domain language. Lean-Agile Acceptance Test-Driven Development is the answer.” –Bob Bogetti, Lead Systems Designer, Baxter Healthcare   “Ken Pugh’s Lean-Agile Acceptance Test-Driven Development shows you how to integrate essential requirements thinking, user acceptance tests and sounds, and lean-agile practices, so you can deliver product requirements correctly and efficiently. Ken’s book shows you how table-driven specification, intertwined with requirements modeling, drives out acceptance criteria. Lean-Agile Acceptance Test-Driven Development is an essential guide for lean-agile team members to define clear, unambiguous requirements while also validating needs with acceptance tests.” –Ellen Gottesdiener, EBG Consulting, www.ebgconsulting.com, Author of Requirements by Collaboration and The Software Requirements Memory Jogger   “If you are serious about giving Agile Testing a chance and only have time to read one book, read this one.” –David Vydra, http://testdriven.com   “This book provides clear, straightforward guidance on how to use business-facing tests to drive software development. I’m excited about the excellent information in this book. It’s a great combination of the author’s experiences, references to other experts and research, and an example project that covers many angles of ATDD. A wide range of readers will learn a lot that they can put to use, whether they work on projects that call themselves lean or agile or simply want to deliver the best possible software product.” –Lisa Crispin, Agile Tester, ePlan Services, Inc., Author of Agile Testing


Best Sellers


Product Details
  • ISBN-13: 9780321714084
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 230 mm
  • No of Pages: 368
  • Series Title: Net Objectives Lean-Agile Series
  • Sub Title: Better Software Through Collaboration
  • Width: 180 mm
  • ISBN-10: 0321714083
  • Publisher Date: 25 Jan 2011
  • Binding: Paperback
  • Language: English
  • Returnable: N
  • Spine Width: 20 mm
  • Weight: 678 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration(Net Objectives Lean-Agile Series)
Pearson Education (US) -
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration(Net Objectives Lean-Agile Series)
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration(Net Objectives Lean-Agile Series)

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!