Authors:
Matthieu Carlier
1
;
Catherine Dubois
1
and
Arnaud Gotlieb
2
Affiliations:
1
ENSIIE, France
;
2
INRIA, France
Keyword(s):
Software testing, Automated test data generation, MC/DC, Constraint reasoning.
Related
Ontology
Subjects/Areas/Topics:
Software Engineering
;
Software Engineering Methods and Techniques
;
Software Testing and Maintenance
Abstract:
Property-based testing implies selecting test data satisfying coverage criteria on user-specified properties. However, current automatic test data generation techniques adopt direct generate-and-test approaches for this task. In FocalTest, a testing tool designed to generate test data for programs and properties written in the functional language Focal, test data are generated at random and rejected when they do not satisfy selected coverage criteria. In this paper, we improve FocalTest with a test-and-generate approach, through the usage of constraint reasoning. A particular difficulty is the generation of test data satisfying MC/DC on the precondition of a property, when it contains function calls with pattern matching and higher-order functions. Our experimental results show that a non-naive implementation of constraint reasoning on these constructions outperform traditional generation techniques when used to find test data for testing properties.