You are previewing Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration.
O'Reilly logo
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration

Book Description

In Acceptance Test Driven Development (ATDD), developers work with customers and testers 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 firststart-to-finish, real-world guide to ATDD for every agile project participant. Leading agile consultant Kenneth Houston Pugh begins with a dialogue among a developer, tester, and customer, 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, together 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 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 overall progress

  • How to build acceptance tests that serve development organizations, not just customers

  • How to scale ATDD to even the largest projects

  • Table of Contents

    1. Praise for Lean-Agile Acceptance Test-Driven Development
    2. Title Page
    3. Copyright Page
    4. Dedication
    5. Contents
    6. Acknowledgments
    7. About the Author
    8. Introduction
    9. Part I. The Tale
      1. Chapter 1. Prologue
      2. Chapter 2. Lean and Agile
      3. Chapter 3. Testing Strategy
      4. Chapter 4. An Introductory Acceptance Test
      5. Chapter 5. The Example Project
      6. Chapter 6. The User Story Technique
      7. Chapter 7. Collaborating on Scenarios
      8. Chapter 8. Test Anatomy
      9. Chapter 9. Scenario Tests
      10. Chapter 10. User Story Breakup
      11. Chapter 11. System Boundary
      12. Chapter 12. Development Review
    10. Part II. Details
      1. Chapter 13. Simplification by Separation
      2. Chapter 14. Separate View from Model
      3. Chapter 15. Events, Responses, and States
      4. Chapter 16. Developer Acceptance Tests
      5. Chapter 17. Decouple with Interfaces
      6. Chapter 18. Entities and Relationships
      7. Chapter 19. Triads for Large Systems
    11. Part III. General Issues
      1. Chapter 20. Business Capabilities, Rules, and Value
      2. Chapter 21. Test Presentation
      3. Chapter 22. Test Evaluation
      4. Chapter 23. Using Tests for Other Things
      5. Chapter 24. Context and Domain Language
      6. Chapter 25. Retrospective and Perspective
    12. Part IV. Case Studies
      1. Chapter 26. Case Study: Retirement Contributions
      2. Chapter 27. Case Study: Signal Processing
      3. Chapter 28. Case Study: A Library Print Server
      4. Chapter 29. Case Study: Highly Available Platform
    13. Part V. Technical Topics
      1. Chapter 30. How Does What You Do Fit with ATDD?
      2. Chapter 31. Test Setup
      3. Chapter 32. Case Study: E-Mail Addresses
    14. Part VI. Appendices
      1. Appendix A. Other Issues
      2. Appendix B. Estimating Business Value
      3. Appendix C. Test Framework Examples
      4. Appendix D. Tables Everywhere
      5. Appendix E. Money with ATDD
      6. Appendix F. Exercises
      7. References
      8. Epilogue
    15. Index
    16. Footnotes