skip to content
Lean-agile acceptance test driven development : better software through collaboration Preview this item
ClosePreview this item

Lean-agile acceptance test driven development : better software through collaboration

Author: Kenneth Pugh
Publisher: Upper Saddle River, NJ : Addison-Wesley, ©2011.
Series: Net objectives lean-agile series.
Edition/Format:   eBook : Document : EnglishView all editions and formats

(not yet rated) 0 with reviews - Be the first.

More like this

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...


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


Editorial reviews

Publisher Synopsis

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 Read more...

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...


Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data

Primary Entity

<> # Lean-agile acceptance test driven development : better software through collaboration
    a schema:Book, schema:CreativeWork, schema:MediaObject ;
   library:oclcnum "701015110" ;
   library:placeOfPublication <> ; # Upper Saddle River, NJ
   library:placeOfPublication <> ;
   schema:about <> ; # Cooperation
   schema:about <> ; # Computer software--Quality control
   schema:about <> ; # Agile software development
   schema:about <> ; # Computer software--Testing
   schema:about <> ; # Computer software--Testing
   schema:about <> ; # Computer software--Quality control
   schema:about <> ;
   schema:bookFormat schema:EBook ;
   schema:copyrightYear "2011" ;
   schema:creator <> ; # Kenneth Pugh
   schema:datePublished "2011" ;
   schema:exampleOfWork <> ;
   schema:genre "Electronic books"@en ;
   schema:inLanguage "en" ;
   schema:isPartOf <> ; # Net objectives lean-agile series.
   schema:isSimilarTo <> ;
   schema:name "Lean-agile acceptance test driven development : better software through collaboration"@en ;
   schema:productID "701015110" ;
   schema:publication <> ;
   schema:publisher <> ; # Addison-Wesley
   schema:url <> ;
   schema:url <> ;
   schema:url <> ;
   schema:url <> ;
   schema:workExample <> ;
   schema:workExample <> ;
   wdrs:describedby <> ;

Related Entities

<> # Upper Saddle River, NJ
    a schema:Place ;
   schema:name "Upper Saddle River, NJ" ;

<> # Net objectives lean-agile series.
    a bgn:PublicationSeries ;
   schema:hasPart <> ; # Lean-agile acceptance test driven development : better software through collaboration
   schema:name "Net objectives lean-agile series." ;
   schema:name "Net objectives : lean-agile series" ;

<> # Computer software--Quality control
    a schema:Intangible ;
   schema:name "Computer software--Quality control"@en ;

<> # Agile software development
    a schema:Intangible ;
   schema:name "Agile software development"@en ;

<> # Computer software--Quality control
    a schema:Intangible ;
   schema:name "Computer software--Quality control"@en ;

<> # Computer software--Testing
    a schema:Intangible ;
   schema:name "Computer software--Testing"@en ;

<> # Cooperation
    a schema:Intangible ;
   schema:name "Cooperation"@en ;

<> # Kenneth Pugh
    a schema:Person ;
   schema:familyName "Pugh" ;
   schema:givenName "Kenneth" ;
   schema:name "Kenneth Pugh" ;

    a schema:CreativeWork ;
   schema:description "Print version:" ;
   schema:isSimilarTo <> ; # Lean-agile acceptance test driven development : better software through collaboration

    a schema:ProductModel ;
   schema:isbn "0321714083" ;
   schema:isbn "9780321714084" ;

    a schema:ProductModel ;
   schema:isbn "0321719476" ;
   schema:isbn "9780321719478" ;

    a genont:InformationResource, genont:ContentTypeGenericResource ;
   schema:about <> ; # Lean-agile acceptance test driven development : better software through collaboration
   schema:dateModified "2018-11-07" ;
   void:inDataset <> ;

Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.