Exploring Test Suite Diversification and Code Coverage in Multi-Objective Test Case Selection

Written by: D. Mondal, H. Hemmati, and S. Durocher. IEEE International Conference on Software Testing, Verification, and Validation (ICST), 2015.


Test case selection is a classic testing technique
to choose a subset of existing test cases for execution, due to
the limited budget and tight deadlines. While ‘code coverage’ is
the state of practice among test case selection heuristics, recent
literature has shown that ‘test case diversity’ is also a very
promising approach. In this paper, we first compare these two
heuristics for test case selection in several real-world case studies
(Apache Ant, Derby, JBoss, NanoXML and Math). The results
show that neither of the two techniques completely dominates the
other, but they can potentially be complementary. Therefore, we
next propose a novel approach that maximizes both code coverage
and diversity among the selected test cases using NSGA-II multiobjective
optimization, and the results show a significant improvement
in fault detection rate. Specifically, sometimes this novel
approach detects up to 16%(Ant), 10%(JBoss), and 14%(Math)
more faults compared to either of coverage or diversity-based
approaches, when the testing budget is less than 20% of the
entire test suite execution cost.
Read More…