Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

AN ERROR-BASED TESTING STRATEGY

IP.com Disclosure Number: IPCOM000128179D
Original Publication Date: 1981-Dec-31
Included in the Prior Art Database: 2005-Sep-15
Document File: 9 page(s) / 35K

Publishing Venue

Software Patent Institute

Related People

ELAINE J. WEYUKER: AUTHOR [+3]

Abstract

An error-based testing strategy produces test data whose purpose is to expose the presence of errors likely to occur in the program. To design such tests, a two-phase strategy is developed which uses all relevant sources of information, including the program's specifications, the algorithm, the problem's input and output data structures, the program's code, and knowledge of common programming errors. Three primary areas are considered: the determination of likely errors, the design of tests to detect these errors, and the demonstration that these tests do in fact expose the presence of the specified errors.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 10% of the total text.

Page 1 of 9

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

AN ERROR-BASED TESTING STRATEGY

by ELAINE J. WEYUKER

JANUARY 1981 REPORT N0. 027

ABSTRACT

An error-based testing strategy produces test data whose purpose is to expose the presence of errors likely to occur in the program. To design such tests, a two-phase strategy is developed which uses all relevant sources of information, including the program's specifications, the algorithm, the problem's input and output data structures, the program's code, and knowledge of common programming errors. Three primary areas are considered: the determination of likely errors, the design of tests to detect these errors, and the demonstration that these tests do in fact expose the presence of the specified errors.

1. INTRODUCTION

Testing is the most common way of gaining confidence in the correctness of software. Despite a long history of practical testing experience, it is only during the last five years that researchers have attempted to formulate a theoretical foundation for testing. The initial steps in this direction were taken by Goodenough and Gerhart [5], who formulated an ambitious theory which described conditions under which a program can be determined to be correct by testing. They defined a set of inputs T to be an ideal test for a program P, relative to specifications S, if the correct performance of P on T implies the program is correct on its entire input domain. A test selection criterion is a rule used to select sets of tests. Their fundamental theorem of testing gives sufficient conditions for a criterion to select ideal tests. The theorem's conditions can be used as guidelines for developing test cases, but the conditions are so strong that they are essentially impossible to fulfill in practice. Stimulated by this work, subsequent research aimed at finding results of more limited scope, but with broader applicability. Three types of problems must be dealt with when defining a strategy based on the concept of ideal tests. They are: formal unsolvability, impracticality, and unrealistic assumptions. As we shall see, theories with less ambitious goals as well as various methodologies used in practice, must also face these problems. .

A typical unsolvability problem for the theory of ideal tests is described in [10]: There is no computable procedure which, given an arbitrary program P and specifications S with domain D, can produce a proper subset T of D which is an ideal test for P relative to S and D. An example of the second type of problem is pointed out by Hamlet [7], Howden [10], and Weyuker and Ostrand [20], who mention problems related to the "ideal empty test." If a program is correct, then any test, including the empty set, is ideal! The problem of testing arbitrary implementations of a given specification is also discussed in [20], where it is shown that no test is ideal for a specification unless it consists of the entire input space. An instance of the unreal...