tailieunhanh - Lecture Software testing and analysis: Chapter 14 - Mauro Pezzè, Michal Young

After completing this unit, you should be able to: Understand the role of models in devising test cases; understand some examples of model-based testing techniques; be able to understand, devise and refine other model-based testing techniques. | Model based testing (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide 1 Learning Objectives • Understand the role of models in devising test cases • Principles underlying functional and structural test adequacy criteria, as well as model-based testing • Understand some examples of model-based testing techniques • A few of the most common model-based techniques, representative of many others • Be able to understand, devise and refine other model-based testing techniques • Grasp the basic approach and rationale well enough to apply it in other contexts (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide 2 Identify Independently Testable Features Ge ne Sp rate ec T ific es at t-C io n a s s e Instantiate Tests Generate Test Cases e as t-C s s Te tion ate ifica er c en e G Sp (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide 3 Why model-based testing? • Models used in specification or design have structure • Useful information for selecting representative classes of behavior; behaviors that are treated differently with respect to the model should be tried by a thorough test suite • In combinatorial testing, it is difficult to capture that structure clearly and correctly in constraints • We can devise test cases to check actual behavior against behavior specified by the model • “Coverage” similar to structural testing, but applied to specification and design models (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide 4 Deriving test cases from finite state machines A common kind of model for describing behavior that depends on sequences of events or stimuli Example: UML state diagrams (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide .