Testability, fault size and the domain-to-range ratio: An eternal triangle

  • Authors:
  • Martin R. Woodward;Zuhoor A. Al-Khanjari

  • Affiliations:
  • Computer Science Dept., Univ. of Liverpool, Liverpool, UK;Computer Science Dept., Sultan Qaboos Univ., Sultanate of Oman

  • Venue:
  • Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

A number of different concepts have been proposed that, loosely speaking, revolve around the notion of software testability. Indeed, the concept of testability itself has been interpreted in a variety of ways by the software community. One interpretation is concerned with the extent of the modifications a program component requires, in terms of its input and output variables, so that the entire behaviour of the component is observable and controllable. Another interpretation is the ease with which faults, if present in a program, can be revealed by the testing process and the propagation, infection and execution (PIE) model has been proposed as a method of estimating this. It has been suggested that this particular interpretation of testability might be linked with the metric domain-to-range ratio (DRR), i.e. the ratio of the cardinality of the set of all inputs (the domain) to the cardinality of the set of all outputs (the range). This paper reports work in progress exploring some of the connections between the concepts mentioned. In particular, a simple mathematical link is established between domain-to-range ratio and the observability and controllability aspects of testability. In addition, the PIE model is re-considered and a relationship with fault size is observed. This leads to the suggestion that it might be more straightforward to estimate PIE testability by an adaptation of traditional mutation analysis. The latter suggestion exemplifies the main goals of the work described here, namely to seek greater understanding of testability in general and, ultimately, to find easier ways of determining it.