Date of this Version
Software Testing, Regression Testing, Test Suite Augmentation, Test Case Generation
Test suite augmentation techniques are used in regression testing to identify code elements affected by changes and to generate test cases to cover those elements. Whereas methods and techniques to find affected elements have been extensively researched in regression testing, the problem of generating new test cases to cover these elements cost-effectively has rarely been studied. We believe that reusing existing test cases will help us achieve this task. This research develops test suite augmentation techniques that reuse existing test cases to automatically generate new test cases to cost-effectively cover affected elements. We begin by using two dynamic test case generation techniques for augmentation, involving concolic testing and genetic algorithms. Then we investigate other factors, which we believe have an impact on the test suite augmentation, with the two techniques both considered. After this, we present a hybrid algorithm for test suite augmentation, that combines multiple approaches while accounting for the effects of other factors. Finally, we apply the test suite augmentation concept to software product line testing to help generate test cases for software product lines.
Adviser: Gregg Rothermel