Table of Contents About the Author 7 Acknowledgments 8 Introduction 9
Chapter 1 – Starting Off 11 Where to Start 11 Initiation of Implementation 12 Summary 18 References 18
Chapter 2 - Automagic 19 Automation Myths & Misconceptions 19 Summary 22 References 23
Chapter 3 – Test Automation Pyramid 25 Demystifying the Test Automation Pyramid 25 Dealing with Management 30 The Reality of the Current Situation 31 Summary 32 References 32
Chapter 4 – Educating Management 33 Educating and Convincing Management 33 The End Game 36 Summary 39 References 41
Chapter 5 – The Automation Team 43 Recruiting an External Person 43 Recruiting a Contractor or Consultant 49 Finding an Internal Resource 49 Technical vs. Non-Technical Tester 50 Summary 52 References 52
Chapter 6 - Training 53 Training Staff 53 Learning Automation 56 Summary 57 References 58
Chapter 7 – Basic Automation Development 59 Automation Development 59 Summary 63 References 64
Chapter 8 – Selection of Tests 65 Selecting Tests for Automation 65 Appropriateness of Tests 65 Readiness of Tests 65 Grouping Tests into Suites 66 Prioritizing Tests 68 Combined Methods 69 Summary 74 References 74
Chapter 9 – Automation Testability 75 Testability 75 Methodologies 76 Common Issues - GUI Level 77 Testability Attributes - GUI Level 79 Common Issues - API/Services Level 80 Testability Attributes - API/Services Level 80 Common Issues - Code/Unit Test Level 81 Testability Attributes - Code/Unit Test Level 81 Testability Standards - General 82 Testability Aids 83 Other Factors to Consider Regarding Testability 83 Benefits 84 Summary 84 References 85
Chapter 10 – Proof of Concept 87 Proof of Concept & Tool Evaluation 87 Presenting the Findings 92 Making the Final Decision 93 Summary 94 References 94
Chapter 11 – Framework Concepts 95 Frameworks 95 Selection of a Framework 101 Construction of Framework 102 Summary 103 References 104
Chapter 12 – Automation Framework Design 105 Basic Framework Design 105 Pieces of the Puzzle 106 Summary 112 References 112
Chapter 13 – Where to Run the Tests 113 Automation Test Lab 113 Summary 118 References 118
Chapter 14 – Self Learning 119 Getting Yourself Ready for Automation 119 Software Testing 119 Software Development Life Cycle (SDLC) 121 General Programming Techniques 125 Programming Principles (Not Patterns) 126 Automation Programming Techniques 127 Algorithms to Understand for Automation 129 Automation Tools 130 Practice Automation 131 Summary 132 References 133
Chapter 15 – Craft of Automation in Testing 135 Craftsmanship for Automation in Testing 135 What is Craftsmanship? 135 Automation in Testing Craftsmanship 137 Putting It All Together 139 Summary 140 References 140