Using Executive Assertions for Testing.

Abstract

One of the ways of assuring greater reliability of software is to improve testing techniques. Three of the key problems associated with software testing are: choosing adequate test cases, assuring correctness of the results, and reducing, the high cost of testing. Some degree of automation is required to help solve these problems. By combining the automated capability of adaptive testing with the use of executable assertions, it is possible to execute a program with a large number of test cases over a wide range of input values. The usual goal of adaptive testing is to maximize some performance value (objective function) for the software by automated perturbation of the input parameters. This technique only indirectly leads to locating errors, because of the time-consuming tasks of examining the usual output from the program. In software testing, the primary goal is to locate the maximum number of errors rather than maximize the performance value. Since software errors can be detected by executable assertions, these assertions can be used to define an objective function for the Adaptive Tester so that a program can be tested automatically and a mapping made of its 'error space.' A search algorithm is used to generate new test cases based on past performance data about the number of assertion violations. Software testing can become much more efficient and effective through the use of adaptive testing with assertions, because such extensive testing increases the possibility of finding any existing errors and of improving software reliability. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 1979
Accession Number
ADA081488

Entities

People

  • D. M. Andrews
  • J. P. Benson

Tags

Communities of Interest

  • Space
  • Weapons Technologies

DTIC Thesaurus Topics

  • Air Force
  • Algorithms
  • Artificial Intelligence
  • Boundaries
  • Computer Programming
  • Computer Programs
  • Governments
  • Reentry Vehicles
  • Reliability
  • Scientific Research
  • Software Development
  • Software Testing
  • Test And Evaluation
  • Test Methods
  • United States
  • United States Government

Fields of Study

  • Computer science
  • Engineering

Readers

  • Adaptive Control and Estimation with Uncertainty in Dynamic Systems.
  • Software Engineering.
  • Systems Analysis and Design

Technology Areas

  • Space