Exploiting Common Object Usage in Test Case Generation
Generated test cases are good at systematically exploring paths and conditions in software. However, generated test cases often do not make sense. The authors adapt test case generation to follow patterns of common object usage, as mined from code examples. Their experiments show that generated tests thus reuse familiar usage patterns, making them easier to understand and focus on common usage, thus respecting implicit preconditions and avoiding meaningless tests. When generating test cases for object oriented software, sequences of method calls are either assumed to be provided by the user, or determined automatically using symbolic techniques or evolutionary search.