Tool support for testing Java generics



Journal Title

Journal ISSN

Volume Title



Test case generation is an important, yet expensive activity in testing software applications. It is neither feasible nor cost effective to manually generate test cases with all possible inputs combinations. To cut down the cost of testing and to increase the reliability of it, researchers and practitioners have been working for a long time to automate test case generation. Random testing can generate lots of test cases using well established algorithms and hence reduce the cost of software testing. To practice defensive programming, Java generics has been introduced. The main feature of Java generics is that it transfers runtime errors to compile time errors. Though, use of Java generics is becoming more popular, there is no tool support available to facilitate random test case generation for applications that use Java generics. In this thesis, we introduce RanGer, a tool that generates random test cases automatically for Java generics. RanGer allows users to specify the number of method calls in each Junit test cases, as well as the desired number of test cases to generate. RanGer is developed based on Java reflection and formal specification to acquire the structure of the class under test and to specify the expected outputs, respectively.



Test case generation, Java generics