Achieving software quality with testing coverage measures

Abstract

Coverage testing helps the tester create a thorough set of tests and gives a measure of test completeness. The concepts of coverage testing are well-described in the literature. However, there are few tools that actually implement these concepts for standard programming languages, and their realistic use on large-scale projects is rare. In this article, we describe the uses of a dataflow coverage-testing tool for C programs-called ATAC for Automatic Test Analysis for C/sup 3/-in measuring, controlling,and understanding the testing process. We present case studies of two real-world software projects using ATAC. The first study involves 12 program versions developed by a university/industry fault-tolerant software project for a critical automatic-flight-control system. The second study involves a Bellcore project of 33 program modules. These studies indicate that coverage analysis of programs during testing not only gives a clear measure of testing quality but also reveals important aspects of software structure. Understanding the structure of a program, as revealed in coverage testing, can be a significant component in confident assessment of overall software quality.<<ETX>>

DOI: 10.1109/2.312032
Showing 1-9 of 9 references

Effect of Test Set Minimization on the Error Detection Effectiveness of the All-Uses Criterion

  • W E Wong
  • 1994

Improving the N - Version Programming Process Through the Evolution of a Design Paradigm

  • M R Lyu, Y He
  • 1993

A Dataflow Coverage Testing Tool for C

  • J R Horgan, S A London
  • 1992

TimeiStructure-Based Model for Estimating Software Reliability

  • M Chen
  • 1992

A Coverage Analysis Tool for the Effecacceptance problem

  • M R J R Lyu, S Horgan, London
  • 1987
Showing 1-10 of 64 extracted citations

Statistics

051015'96'98'00'02'04'06'08'10'12'14'16
Citations per Year

124 Citations

Semantic Scholar estimates that this publication has received between 79 and 195 citations based on the available data.

See our FAQ for additional information.