Automated oracle creation support, or: How I learned to stop worrying about fault propagation and love mutation testing

Matt Staats, Gregory Gay, Mats P. E. Heimdahl
2012 2012 34th International Conference on Software Engineering (ICSE)  
In testing, the test oracle is the artifact that determines whether an application under test executes correctly. The choice of test oracle can significantly impact the effectiveness of the testing process. However, despite the prevalence of tools that support the selection of test inputs, little work exists for supporting oracle creation. In this work, we propose a method of supporting test oracle creation. This method automatically selects the oracle data-the set of variables monitored during
more » ... testing-for expected value test oracles. This approach is based on the use of mutation analysis to rank variables in terms of fault-finding effectiveness, thus automating the selection of the oracle data. Experiments over four industrial examples demonstrate that our method may be a cost-effective approach for producing small, effective oracle data, with fault finding improvements over current industrial best practice of up to 145.8% observed.
doi:10.1109/icse.2012.6227132 dblp:conf/icse/StaatsGH12 fatcat:nox4mgmr3bb6rjanbx4qt2sghi