There are no perfect test or analysis techniques, nor a single “best” technique for all circumstances. Rather, techniques exist in a complex space of trade-offs, and often have complementary strengths and weaknesses. This chapter describes the nature of those trade-offs and some of their consequences, and thereby a conceptual framework for understanding and better integrating material from later chapters on individual techniques. | A Framework for Testing and Analysis (c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 1 Learning objectives • Introduce dimensions and tradeoff between test and analysis activities • Distinguish validation from verification activities • Understand limitations and possibilities of test and analysis (c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 2 Verification and validation • Validation: does the software system meets the user's real needs? are we building the right software? • Verification: does the software system meets the requirements specifications? are we building the software right? (c) 2007 Mauro Pezzè & Michal Young Ch 2, slide 3 Validation and Verification Actual Requirements Validation Includes usability testing, user feedback (c) 2007 Mauro Pezzè & Michal Young SW Specs System Verification Includes testing, inspections, static analysis Ch 2, slide 4 Verification or validation depends on the specification 12345678 Example: elevator response Unverifiable (but validatable) spec: . if a user presses a request button at floor i, an available elevator must arrive at floor i soon. Verifiable spec: . if a user presses a request button at floor i, an available elevator must arrive at floor i within 30 seconds. (c) 2007 Mauro Pezzè & Michal Young Ch 2, slide .