We propose a new strategy for generating test cases for Boolean expressions. In the past, we reported the BOR (Boolean Operator) strategy for generating test cases for predicates which are singular: which contain only one occurrence of each constituent Boolean variable. We also reported results of the empirical studies that were carried out to study the effectiveness of the strategy, but the BOR algorithm did not work well with non-singularities: multiple occurrences of constituent Boolean variables. The solution we propose for the problem is a combination of the original BOR strategy and the MI (Meaning Impact) strategy reported elsewhere. Our approach is to divide a Boolean expression into components that do not have common variables, apply the MI strategy to non-singular components, and the BOR strategy to singular components, and then apply the BOR strategy to combine the test sets generated for all component. Our empirical results indicate that our hybrid approach produces fewer tests for a Boolean expression than the MI strategy. The fault detection capability of our proposed approach has also been found to be comparable to that of the MI strategy. Our test generation strategy can be used to improve the reliability and safety of a program.
[1]
K. A. Foster,et al.
Sensitive test data for logic expressions
,
1984,
SOEN.
[2]
Kuo-Chung Tai.
Predicate-based test generation for computer programs
,
1993,
Proceedings of 1993 15th International Conference on Software Engineering.
[3]
Nancy G. Leveson,et al.
Requirements Specification for Process-Control Systems
,
1994,
IEEE Trans. Software Eng..
[4]
Mladen A. Vouk,et al.
Evaluation of a Predicate-Based Software Testing Strategy
,
1994,
IBM Syst. J..
[5]
Mladen A. Vouk,et al.
Empirical studies of predicate-based software testing
,
1994,
Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.
[6]
Elaine J. Weyuker,et al.
Automatically Generating Test Data from a Boolean Specification
,
1994,
IEEE Trans. Software Eng..
[7]
Amit M. Paradkar.
On the experience of using cause-effect graphs for software specification and test generation
,
1994,
CASCON.