HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Software test automation has moved beyond a luxury to become a necessity. Applications and systems have grown ever larger and more complex, and manual testing simply cannot keep up. As technology changes, and more organizations move into agile development, testing must adapt—and quickly. Test automation is essential, but poor automation is wasteful—how do you know where your efforts will take you?
Authors Dorothy Graham and Mark Fewster wrote the field’s seminal text, Software Test Automation, which has guided many organizations toward success. Now, in Experiences of Test Automation, they reveal test automation at work in a wide spectrum of organizations and projects, from complex government systems to medical devices, SAP business process development to Android mobile apps and cloud migrations. This book addresses both management and technical issues, describing failures and successes, brilliant ideas and disastrous decisions and, above all, offers specific lessons you can use.
Coverage includes
Experiences of Test Automation will be invaluable to everyone considering, implementing, using, or managing test automation. Testers, analysts, developers, automators and automation architects, test managers, project managers, QA professionals, and technical directors will all benefit from reading this book.
Foreword xxix
Preface xxxi
Reflections on the Case Studies (by Dorothy Graham and Mark Fewster ) 1
A Management Issues 2
B Technical Issues 8
C Conclusion 16
Chapter 1: An Agile Team’s Test Automation Journey: The First Year (by Lisa Crispin) 17
1.1 Background for the Case Study 18
1.2 Whole Team Commitment 19
1.3 Setting Up the Automation Strategy 20
1.4 Applying Acceptance Test-Driven Development (ATDD) to Test behind the GUI Using FitNesse 24
1.5 Use an Incremental Approach 26
1.6 The Right Metrics 27
1.7 Celebrate Successes 28
1.8 Incorporate Engineering Sprints 28
1.9 Team Success 29
1.10 Continuous Improvement 31
1.11 Conclusion 32
Chapter 2: The Ultimate Database Automation (by Henri van de Scheur) 33
2.1 Background for the Case Study 33
2.2 Software under Test 35
2.3 Objectives for Test Automation 36
2.4 Developing Our Inhouse Test Tool 37
2.5 Our Results 40
2.6 Managing Our Automated Tests 40
2.7 Test Suites and Types 41
2.8 Today’s Situation 43
2.9 Pitfalls Encountered and Lessons Learned (the Hard Way) 43
2.10 How We Applied Advice from the Test Automation Book 45
2.11 Conclusion 47
2.12 Acknowledgments 48
Chapter 3: Moving to the Cloud: The Evolution of TiP, Continuous Regression Testing in Production (by Ken Johnston and Felix Deschamps) 49
3.1 Background for the Case Study 50
3.2 Moving Our Testing into the Cloud 52
3.3 How We Implemented TiP 55
3.4 Sample of Monthly Service Review Scorecards 58
3.5 Exchange TiP v2–Migrating TiP to the Windows Azure Cloud 62
3.6 What We Learned 63
3.7 Conclusion 67
3.8 Acknowledgments 67
Chapter 4: The Automator Becomes the Automated (by Bo Roop) 69
4.1 Background for the Case Study: My First Job 69
4.2 My Great Idea . . . 72
4.3 A Breakthrough 74
4.4 Conclusion 80
Chapter 5: Autobiography of an Automator: From Mainframe to Framework Automation (by John Kent) 83
5.1 Background for the Case Study 84
5.2 A Mainframe Green-Screen Automation Project 88
5.3 Difference between Mainframe and Script-Based Tools 89
5.4 Using the New Script-Based Tools 91
5.5 Automating Tests for IBM Maximo 97
5.6 Conclusion 102
5.7 Additional Reading 103
Chapter 6: Project 1: Failure!, Project 2: Success! (by Ane Clausen) 105
6.1 Background for the Case Study 105
6.2 Project 1: Failure! 107
6.3 Project 2: Success! 109
6.4 The Next Time Period: Testing for Real 118
6.5 Conclusion 127
Chapter 7: Automating the Testing of Complex Government Systems (by Elfriede Dustin) 129
7.1 Background for the Case Study 129
7.2 Our Requirements for Automation 131
7.3 Automated Test and Re-Test (ATRT), Our Automated Testing Solution–What Is It? 132
7.4 Automated Testing Solution Applied 140
7.5 Conclusion 142
Chapter 8: Device Simulation Framework (by Alan Page) 143
8.1 Background for the Case Study 143
8.2 The Birth of Device Simulation Framework (DSF) 145
8.3 Building the DSF 146
8.4 Automation Goals 148
8.5 Case Studies 149
8.6 No Silver Bullets 153
8.7 Conclusion 154
8.8 Acknowledgments 154
Chapter 9: Model-Based Test-Case Generation in ESA Projects (by Stefan Mohacsi and Armin Beer) 155
9.1 Background for the Case Study 155
9.2 Model-Based Testing and Test-Case Generation 157
9.3 Our Application: ESA Multi-Mission User Services 161
9.4 Experience and Lessons Learned 168
9.5 Conclusion 173
9.6 References 174
9.7 Acknowledgments 175
Chapter 10: Ten Years On and Still Going (by Simon Mills) 177
10.1 Background for the Case Study: “Before” 177
10.2 Insurance Quotation Systems Tested Automatically Every Month 179
10.3 What Happened Next? 193
10.4 Conclusion 193
Chapter 11: A Rising Phoenix from the Ashes (by Jason Weden) 197
11.1 Background for the Case Study 197
11.2 The Birth of the Phoenix 199
11.3 The Death of the Phoenix 202
11.4 The Rebirth of the Phoenix 203
11.5 The New Life of the Phoenix 207
11.6 Conclusion 212
Chapter 12: Automating the Wheels of Bureaucracy (by Damon Yerg [A Pseudonym]) 217
12.1 Background for the Case Study 217
12.2 The Agency Automation 219
12.3 From 2000 to 2008 223
12.4 An Alignment of Planets 226
12.5 Building Capability within Test Teams 231
12.6 Future Directions: The Journey Continues 233
12.7 Conclusion 235
Chapter 13: Automated Reliability Testing Using Hardware Interfaces (by Bryan Bakker) 237
13.1 Background for the Case Study 238
13.2 The Need for Action 239
13.3 Test Automation Startup (Incremental Approach) 240
13.4 Buy-In from Management 242
13.5 Further Development of Test Framework 244
13.6 Deployment and Improved Reporting 248
13.7 Conclusion 250
Chapter 14: Model-Based GUI Testing of Android Applications (by Antti Jääskeläinen, Tommi Takala, and Mika Katara) 253
14.1 Background for the Case Study 253
14.2 MBT with TEMA Toolset 256
14.3 Modeling Application Behavior 261
14.4 Generation of Tests 266
14.5 Connectivity and Adaptation 268
14.6 Results 272
14.7 Conclusion 273
14.8 Acknowledgments 274
14.9 References 274
Chapter 15: Test Automation of SAP Business Processes (by Christoph Mecke, Melanie Reinwarth, and Armin Gienger) 277
15.1 Background for the Case Study 278
15.2 Standards and Best Practices 282
15.3 eCATT Usage Examples 286
15.4 Conclusion 292
15.5 Acknowledgments 293
Chapter 16: Test Automation of a SAP Implementation (by Björn Boisschot) 295
16.1 Background for the Case Study 295
16.2 Project Overview 298
16.3 Phase 1: Proof of Concept 299
16.4 Phase 2: Project Start 307
16.5 Conclusion 319
Chapter 17: Choosing the Wrong Tool (by Michael Williamson) 321
17.1 Background for the Case Study 321
17.2 Our Preexisting Automation (or Lack Thereof) 324
17.3 Decision Needed: New Tool or Major Maintenance Effort? 326
17.4 Moving Forward with eggPlant 328
17.5 What Did We Do after eggPlant? 336
17.6 Conclusion 336
Chapter 18: Automated Tests for Marketplace Systems: Ten Years and Three Frameworks (by Lars Wahlberg) 339
18.1 Background for the Case Study 340
18.2 Automated Test Frameworks 341
18.3 Test Roles 344
18.4 Abstraction Layer 345
18.5 Configuration 348
18.6 Cost and ROI 349
18.7 Conclusion 352
Chapter 19: There’s More to Automation Than Regression Testing: Thinking Outside the Box (by Jonathan Kohl) 355
19.1 Background for the Case Study 355
19.2 Two Tales of Task Automation 357
19.3 Automation to Support Manual Exploratory Testing 362
19.4 Automating Data Interactions 364
19.5 Automation and Monitoring 368
19.6 Simulating Real-World Loads by Combining Simple Tools 370
19.7 Conclusion 372
19.8 References 372
Chapter 20: Software for Medical Devices and Our Need for Good Software Test Automation (by Albert Farré Benet, Christian Ekiza Lujua, Helena Soldevila Grau, Manel Moreno Jáimez, Fernando Monferrer Pérez, and Celestina Bianco) 375
20.1 Background for the Case Study 376
20.2 Comparison of the Different Approaches to Each Project 381
20.3 Project hamlet 385
20.4 Project phoenix 386
20.5 Project doityourself 388
20.6 Project miniweb 391
20.7 Test Execution 392
20.8 Result Reporting 393
20.9 Conclusion 396
Chapter 21: Automation through the Back Door (by Supporting Manual Testing) (by Seretta Gamba) 401
21.1 Background for the Case Study 401
21.2 Our Technical Solution 403
21.3 Implementing Test Automation with ISS Test Station 406
21.4 Implementing Test Automation 409
21.5 Supporting Manual Testing 413
21.6 The New Manual Test Process 417
21.7 Conclusion 422
21.8 References 423
Chapter 22: Test Automation as an Approach to Adding Value to Portability Testing (by Wim Demey) 425
22.1 Background for the Case Study 427
22.2 Portability Testing: Love or Hate It 428
22.3 Combination of Both Worlds as a Solution 428
22.4 Conclusion 435
22.5 Acknowledgment 435
Chapter 23: Automated Testing in an Insurance Company: Feeling Our Way (by Ursula Friede) 437
23.1 Background for the Case Study 437
23.2 The Application 439
23.3 Objectives 440
23.4 The Work 441
23.5 Lessons 443
23.6 Conclusion 444
Chapter 24: Adventures with Test Monkeys (by John Fodeh) 447
24.1 Background for the Case Study 447
24.2 Limitations of Automated Regression Testing 449
24.3 Test Monkeys 451
24.4 Implementing Test Monkeys 453
24.5 Using Test Monkeys 454
24.6 Benefits and Limitations 458
24.7 Conclusion 459
24.8 Additional Reading 460
Chapter 25: System-of-Systems Test Automation at NATS (by Mike Baxter, Nick Flynn, Christopher Wills, and Michael Smith) 461
25.1 Background for the Case Study 461
25.2 Test Execution Tool Integration 465
25.3 Pilot Project for the Tool 466
25.4 In-Service Model 467
25.5 Implementation 467
25.6 Typical Script Template 470
25.7 Lessons Learned 472
25.8 Conclusion 474
Chapter 26: Automating Automotive Electronics Testing (by Ross Timmerman and Joseph Stewart) 477
26.1 Background for the Case Study 477
26.2 Objectives for Automation Project 480
26.3 Brief History of the Automation Project 480
26.4 Results of the Automation Project 483
26.5 Conclusion 483
Chapter 27: BHAGs, Change, and Test Transformation (by Ed Allen and Brian Newman) 485
27.1 Background for the Case Study 485
27.2 Buy-In 487
27.3 The Story of Building the Automation Framework 491
27.4 Description of our Automation Framework 493
27.5 The Test Environment 497
27.6 Metrics 499
27.7 Conclusion 501
Chapter 28: Exploratory Test Automation: An Example Ahead of Its Time (by Harry Robinson and Ann Gustafson Robinson) 505
28.1 Background for the Case Study 505
28.2 What’s a Trouble Manager? 507
28.3 Testing a Trouble Manager Transaction 509
28.4 Constructing Test Cases Programmatically 510
28.5 New Ways to Think about Automated Tests 511
28.6 Testing the Trouble Manager Workflow 513
28.7 Test Generation in Action 518
28.8 Home Stretch 520
28.9 Post-Release 521
28.10 Conclusion 522
28.11 Acknowledgments 522
Chapter 29: Test Automation Anecdotes 523
29.1 Three Grains of Rice (by Randy Rice) 523
29.2 Understanding Has to Grow (by Molly Mahai) 527
29.3 First Day Automated Testing (by Jonathon Lee Wright) 528
29.4 Attempting to Get Automation Started (by Tessa Benzie) 535
29.5 Struggling with (against) Management (by Kai Sann) 536
29.6 Exploratory Test Automation: Database Record Locking (by Douglas Hoffman) 538
29.7 Lessons Learned from Test Automation in an Embedded Hardware—Software Computer Environment (by Jon Hagar) 545
29.8 The Contagious Clock (by Jeffrey S. Miller) 549
29.9 Flexibility of the Automation System (by Mike Bartley) 551
29.10 A Tale of Too Many Tools (and Not Enough Cross-Department Support) (by Adrian Smith) 552
29.11 A Success with a Surprising End (by George Wilkinson) 556
29.12 Cooperation Can Overcome Resource Limitations (by Michael Albrecht) 561
29.13 An Automation Process for Large-Scale Success (by Michael Snyman) 562
29.14 Test Automation Isn’t Always What It Seems (by Julian Harty) 567
Appendix: Tools 573
About the Case Study Authors 587
About the Book Authors 605
Index 607