L7 - CS 514 Software Product & Process Evaluation...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 514 Software Product & Process Evaluation Lecture Notes 7: Testing Object-Oriented Software Fall 2008 James M. Bieman Copyright © 2000-2008 James M. Bieman 7-1 CS 514 Copyright © 2000-2008 James M. Bieman 7-1 Chapter 7 Testing OO Software: Overview & Fault Models James M. Bieman Computer Science Dept Colorado State University CS 514 Copyright © 2000-2008 James M. Bieman 7-2 Outline 1. Fault models. 2. Fault models for OO software. 3. Empirical evidence of faults in OO software. 4. OO fault sources. 5. Coverage & OO. 6. Challenges & an approach. CS 514 Copyright © 2000-2008 James M. Bieman 7-3 The Challenge Testing theory tells us that can never test all inputs, paths, states, etc. When should we stop testing? We need adequate, yet small test suites. CS 514 Copyright © 2000-2008 James M. Bieman 7-4 Fault Models Where are faults likely? Bug hazard: circumstance that increases the chance of a bug. Ex: type conversion in C++. Depends on Complex rules. Declarations that are not visible. Bug hazards form the basis for fault models. CS 514 Copyright © 2000-2008 James M. Bieman 7-5 Fault Models & Testing Strategies Conformance-directed testing. – Cover essential features. – Relies on a nonspecific fault model . Does not rely on specific potential faults. – “Coverage” oriented. Fault-directed testing. – Seeks to reveal implementation faults. – Conformance can be demonstrated even when faults remain. – Search for faults using a specific fault model. CS 514 Copyright © 2000-2008 James M. Bieman 7-6 Test Strategy Based on Fault Model Conformance oriented techniques: feature sufficient. Cover all features. Fault oriented: fault efficient. Good at revealing specific faults.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
CS 514 Software Product & Process Evaluation Lecture Notes 7: Testing Object-Oriented Software Fall 2008 James M. Bieman Copyright © 2000-2008 James M. Bieman 7-2 CS 514 Copyright © 2000-2008 James M. Bieman 7-7 Fault Model Based Testing Based on argument or evidence that a test strategy will reveal a fault. – Error guessing: how can a program go wrong. – Suspicions: common sense inferences. Ex: code written by novices will be buggy. – Particular constructs are error prone: Deep inheritance hierarchies. Decision boundary values. Untested computations. Embedded sub-functions. CS 514 Copyright © 2000-2008 James M. Bieman 7-8 Fault Models for OO Programs Sources of faults: Encapsulation, composition, inheritance, object context, polymorphism, dynamic binding, etc. Key OO reuse features: Composition & inheritance. Do not ease retesting needs. CS 514 Copyright © 2000-2008 James M. Bieman 7-9 New OO Fault Hazards Dynamic binding & complex inheritance structures.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 6

L7 - CS 514 Software Product & Process Evaluation...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online