Predicate-based test generation for computer programs

The author first describes a number of existing testing strategies for simple predicates and then explains why intuitive extensions of such strategies are ineffective or impractical for testing compound predicates, which are predicates with one or more AND/OR operators. Two fault-based testing strategies for compound predicates are defined, BOR (Boolean operator) testing and BRO (Boolean and relational operator) testing. It is shown that for a predicate with n, n>0, AND/OR operators, at most n+2 (2*n+3) tests are needed to satisfy BOR (BRO) testing. Preliminary experimental results indicate that BOR and BRO testing are effective for the detection of various types of faults in a predicate and provide more specific guidance than branch testing for test generation.<<ETX>>

[1]  Vi Andrew Jefferson Offutt,et al.  Automatic test data generation , 1988 .

[2]  Debra J. Richardson,et al.  The RELAY model of error detection and its application , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

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

[4]  Larry J Morell,et al.  A Theory of Fault-Based Testing , 1990, IEEE Trans. Software Eng..

[5]  William E. Howden,et al.  Weak Mutation Testing and Completeness of Test Sets , 1982, IEEE Transactions on Software Engineering.

[6]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[7]  Kuo-Chung Tai,et al.  Test generation for Boolean expressions , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

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

[9]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..