A finite domain-testing strategy for computer program testing.
Edward I. Cohen
Abstract
Open-access reader
Edward I. Cohen
Abstract
Open-access reader
Program testing continues to be a practical approach to software validation, however the strategies currently being used lack a solid analytical foundation. The goal of this research is to analyze the program testing process, develop a strategy to maximize its effectiveness, and identify its limitations. A program can be viewed as a complex mapping from a N-dimensional space of input variables to an M-dimensional space of output variables. In the testing process the correctness of the program over a domain of this input space is inferred from its observed correctness on a small set of 'well-chosen' test values for that domain. The Domain Testing Strategy is used to determine the necessary set of test values and is shown to be successful for all types of errors except a small subclass called 'Missing Path Errors of Reduced Dimensionality'. The domain testing Strategy is developed for both continuous and discrete input spaces and for both linear and nonlinear predicates. The domain testing strategy is developed for both continuous and discrete input spaces and for both linear and nonlinear predicates. The only completely effective testing strategy is an exhaustive test which is totally impractical. The domain testing strategy offers a major reduction in the high cost of computer program testing with a minimal loss of testing effectiveness. (Author)
OpenAlex reports 17 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Program testing continues to be a practical approach to software validation, however the strategies currently being used lack a solid analytical foundation. The goal of this research is to analyze the program testing process, develop a strategy to maximize its effectiveness, and identify its limitations. A program can be viewed as a complex mapping from a N-dimensional space of input variables to an M-dimensional space of output variables. In the testing process the correctness of the program over a domain of this input space is inferred from its observed correctness on a small set of 'well-chosen' test values for that domain. The Domain Testing Strategy is used to determine the necessary set of test values and is shown to be successful for all types of errors except a small subclass called 'Missing Path Errors of Reduced Dimensionality'. The domain testing Strategy is developed for both continuous and discrete input spaces and for both linear and nonlinear predicates. The domain testing strategy is developed for both continuous and discrete input spaces and for both linear and nonlinear predicates. The only completely effective testing strategy is an exhaustive test which is totally impractical. The domain testing strategy offers a major reduction in the high cost of computer program testing with a minimal loss of testing effectiveness. (Author)
Key concepts: Test strategy, Correctness, White-box testing, Computer science, Non-regression testing, Random testing, Orthogonal array testing, Domain (mathematical analysis)