Preface Part I The Rapid Testing Process Chapter 1 Introduction to Rapid Testing Basic Definitions for Software Testing 4 What Is Rapid Testing? 6 Developing a Rapid Testing Strategy 9 The Software Development Process 9 A Waterfall Test Process 12 Tying Testing and Development Together 18 What's Next 21 References 21 Chapter 2 Requirements Analysis & Testing The Requirements Process 23 Eliciting Requirements 27 Requirements Traceability Matrix 35 Requirements Testing 36 What's Next 42 References 43 Chapter 3 Test Planning Test Strategy 47 Define the Scope of Testing 48 Defining the Test System 58 Estimating the Test Effort 65 Preparing and Reviewing the Test Plan Documents 76 What's Next 86 References 86 Chapter 4 Test Design and Development Test Design 90 Developing Test Cases 96 Verifying and Debugging Tests 105 Test Case Automation 106 What's Next 107 References l08 Chapter 5 System Testing Finding and Tracking Bugs 111 Running Tests 122 Reporting Test Results 126 Exit Criteria and Release Readiness 130 What's Next 131 Chapter 6 Putting It All Together: People and Process The People Side of Testing 134 Improving the Test Process 140 What's Next 147 References 148 Part II Rapid Testing Techniques and Tips Chapter 7 Introduction to Testing Techniques and Tips The Scope of Testing Techniques 151 Development Life Cycle 152 Benefits of Rapid Testing 155 Definition of Static Testing 156 Definition of Dynamic Testing 157 Life Cycle of a Bug 158 Formal Test Phases 160 Responsibilities of Test Team Members 161 What's Next 161 Chapter 8 Joint Application Requirements (JAR): A Method for Eliciting Requirements Using Rapid Testing JAR Methodology 166 Roles of the Test Engineer in a JAR 173 Summary 175 Chapter 9 Static Testing Techniques and Tips Cyclomatic Complexity and Its Relationship to Test Executions 178 Example of Graphing the Design of a Module 179 Formal Reviews 182 Using Checklists 185 Audits 1s6 Inspections/Walkthroughs/Peer Reviews 188 Inspection Team Roles and Responsibilities 189 Reporting on the Inspection Process 192 Metrics for the Inspection Process 192 Using e-mail or an e-App to Streamline Inspections 193 Formal Verification 194 Specification-Based Languages 195 Automated Theorem Proofs 195 Testing Automation/Tools 196 Requirements Traceability 196 Physical Units Checker 197 Symbolic Execution 197 Cross-Reference Listings 198 Pretty Printers 199 Version Comparators 199 Algorithm Testing 200 Test Support. Facilitator 203 Shared Issues Databases 204 Summary 205 References 205 Chapter 10 Dynamic Testing Techniques and Tips Functional Testing and Analysis 209 Equivalence Partitioning 210 Boundary Value Analysis 211 Negative Testing 211 Risk-Based Testing 213 Path Coverage Testing 2/5 Use-Case Testing 221 Bebugging/Mutation 222 Tracing/Trace backs/Snap Dumps/Post-Mortem Dumps 223 Break pointing / Patching 224 Data Flow Testing 226 Testing for Memory Leaks 227 Human-Computer Interface Testing 229 Load Performance Testing 230 Platform Configuration Testing 234 Summary 236 References 237 Chapter 11 Developing and Using Testing Metrics: Modeling and Forecasting Bugs Definition of Metric and Measurement 241 Using Standard Metrics to Make Improvements 250 Metrics for Testing 253 Project-Based Bug Model 255 Software Error Estimation Program '(SWEEP) 257 Summary 261 References 262 Chapter 12 Testing EfFort Estimation Techniques and Tips Using Mathematics to Estimate Software Developments 267 Function Point Technology 287 Summary 290 References 291 Part III Rapid Testing Examples Chapter 13 Example Requirements Test Management Toolkit Release 1.0 Requirements Definition 297 Chapter 14 Example Test Plan Test Management Toolkit Release 1.0 Test Plan 318 Chapter 15 Test Design and Development Examples Test Management Toolkit Release 1.0 Test Procedure Specification 336 Chapter 16 Example System Test Summary Report Test Management Toolkit Release 1.0 Test Summary Report a77 Index