Weak Mutation Testing and Completeness of Test Sets

Different approaches to the generation of test data are described. Error-based approaches depend on the definition of classes of commonly occurring program errors. They generate tests which are specifically designed to determine if particular classes of errors occur in a program. An error-based method called weak mutation testing is described. In this method, tests are constructed which are guaranteed to force program statements which contain certain classes of errors to act incorrectly during the execution of the program over those tests. The method is systematic, and a tool can be built to help the user apply the method. It is extensible in the sense that it can be extended to cover additional classes of errors. Its relationship to other software testing methods is discussed. Examples are included.

[1]  Richard G. Hamlet,et al.  Testing Programs with the Aid of a Compiler , 1977, IEEE Transactions on Software Engineering.

[2]  J. C. Huang,et al.  An Approach to Program Testing , 1975, CSUR.

[3]  J.-C. Rault,et al.  A software reliability assessment based on a structural and behavioral analysis of programs , 1976, ICSE '76.

[4]  C. V. Ramamoorthy,et al.  Testing large software with automated software evaluation systems , 1975, IEEE Transactions on Software Engineering.

[5]  A. G. Duncan,et al.  Using attributed grammars to test designs and implementations , 1981, ICSE '81.

[6]  Elaine J. Weyuker,et al.  Theories of Program Testing and the Application of Revealing Subdomains , 1980, IEEE Transactions on Software Engineering.

[7]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[8]  William E. Howden,et al.  Functional Program Testing , 1978, IEEE Transactions on Software Engineering.

[9]  Lee J. White,et al.  A Domain Strategy for Computer Program Testing , 1980, IEEE Transactions on Software Engineering.

[10]  Lee J. White,et al.  Sufficient test sets for path analysis testing strategies , 1981, ICSE '81.

[11]  Kenneth A. Foster Error Sensitive Test Cases Analysis (ESTCA) , 1980, IEEE Transactions on Software Engineering.

[12]  Richard J. Lipton,et al.  Theoretical and empirical studies on using program mutation to test the functional correctness of programs , 1980, POPL '80.

[13]  William E. Howden Functional testing and design abstractions , 1980, J. Syst. Softw..

[14]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[15]  S. L. Gerhart,et al.  Toward a theory of test data selection , 1975, IEEE Transactions on Software Engineering.

[16]  Richard J. Lipton,et al.  A Probabilistic Remark on Algebraic Program Testing , 1978, Inf. Process. Lett..

[17]  William E. Howden Applicability of Software Validation Techniques to Scientific Programs , 1980, TOPL.

[18]  Martin R. Woodward,et al.  Experience with Path Analysis and Testing of Programs , 1980, IEEE Transactions on Software Engineering.

[19]  Sheldon B. Akers Test Generation Techniques , 1980, Computer.