We present a tool for the automated generation of unit tests. It symbolically executes Java bytecode in order to find execution paths through a program. To efficiently accomplish this task, it uses constraint solving, choice-point generation and backtracking. As the number of test cases found might be very high and most of them are redundant, we propose a novel way to eliminate test cases based on their contribution to the global coverage of the control-flow and data-flow. Besides discussing the techniques used to achieve this, we present experimental results to prove the feasibility of our approach.

Majchrzak, T. A. and Kuchen, H.: Automated test case generation based on coverage analysis. In: TASE ’09: Proc. of the 2009 3nd IEEE Int. Symp. on Theoretical Aspects of Software Engineering, IEEE Computer Society (2009)