Abstract
The choice of test oracle - the artifact that determines whether an application under test executes correctly - can significantly impact the effectiveness of the testing process. However, despite the prevalence of tools that support test input selection, little work exists for supporting oracle creation. We propose a method of supporting test oracle creation that automatically selects the oracle data - the set of variables monitored during 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. Experimental results obtained by employing our method over six industrial systems (while varying test input types and the number of generated mutants) indicate that our method - when paired with test inputs generated either at random or to satisfy specific structural coverage criteria - may be a cost-effective approach for producing small, effective oracle data sets, with fault finding improvements over current industrial best practice of up to 1,435 percent observed (with typical improvements of up to 50 percent).
Original language | English (US) |
---|---|
Article number | 7112189 |
Pages (from-to) | 1119-1137 |
Number of pages | 19 |
Journal | IEEE Transactions on Software Engineering |
Volume | 41 |
Issue number | 11 |
DOIs | |
State | Published - Nov 1 2015 |
Bibliographical note
Publisher Copyright:© 2015 IEEE.
Keywords
- Testing
- oracle data
- oracle selection
- test oracles
- verification