Lean-Agile Acceptance Test-Driven Development
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration

Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
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  


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
  • Spine Width: 20 mm
  • Weight: 678 gr
  • ISBN-10: 0321714083
  • Publisher Date: 25 Jan 2011
  • Binding: Paperback
  • Language: English
  • Returnable: N
  • Sub Title: Better Software Through Collaboration
  • Width: 180 mm


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
Pearson Education (US) -
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
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

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

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!