Rule-based systems are important in application domains such as artificial intelligence and business rule engines, as well as formal methods for software design. When translated into an implementation, simple expressions in rules may map to thousands of lines of code. Thus testing is necessary to ensure that the rules are implemented correctly. This paper describes an approach based on combinatorial methods for efficiently generating test cases for rule-based systems that are pseudo-exhaustive, which we define as exhaustive testing of all combinations of variable values on which a decision is dependent. The method has been implemented in a tool that can be applied to testing and verification for a wide range of applications where software behavior is specified in formal rules.
30th International Conference on Software Engineering and Knowledge Engineering (SEKE 2018)
July 1-3, 2018
San Francisco, CA
combinatorial testing, constraint solvers, formal methods, t-way testing, rule-based systems, test automation