Software testability measurement for intelligent assertion placement

  • Authors:
  • Jeffrey Voas

  • Affiliations:
  • Room 250, ResearchDivision, 21515 Ridgetop Circle Sterling VA 20166 USA

  • Venue:
  • Software Quality Control
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Voas defines software testability as the degree to which software reveals faults during testing. This software characteristic is important when determining how to best apply verification techniques and build quality assurance plans. When testability is low, testers often want advice on how to increase it. In this paper, we describe the use of testability measures (using VoasÕs definition) for intelligent assertion placement. Software assertions are one relatively simple trick for improving testability. VoasÕs perspective on what software testability is has been implemented via three algorithms that together comprise a technique termed Ôsensitivity analysisÕ. Sensitivity analysis analyses how likely a test scheme is to (1) propagate data state errors to the output space, (2) cause internal states to become corrupted when faults are exercised, and (3) exercise the code. By knowing where faults appear likely to hide from a particular test scheme, we have insight into where internal tests (assertions) are particularly beneficial. This paper explores using the one sensitivity analysis algorithm that measures propagation as a heuristic for where and how to inject software assertions.