|Authors||T. Rolfsnes, R. Behjati and L. Moonen|
|Title||Generating Test-plans by Mining Version Histories|
|Publication Type||Technical reports|
|Year of Publication||2015|
|Publisher||Simula Research Laboratory|
Regression testing is an essential step in safeguarding the evolution of a system, yet there is often not enough time to exercise all available tests. Identifying the subset of tests that can reveal potential issues introduced by a change is a challenge. It requires identifying the parts of the system that are dependent on that change, a task typically done by means of static program analysis. In this paper, we investigate an alternative approach, using software repository mining. We propose a method that mines the revision-history of a system to uncover dependencies, and uses these for test-selection and test-prioritization. We have implemented the approach in a prototype tool that recommends a test plan, given a set of changes. We have applied our tool on 10 years of revision-history from one of the central systems of our industrial partner, Kongsberg Maritime. Our evaluation shows that our approach accurately identifies dependencies among files, and comparing our recommendations with existing test plans shows that relevant tests are given high priority in our recommendation. By reducing the amount of test to exercise, and limiting time spend on test-plan creation, our approach helps to increase cost-effectiveness of regression testing in the company.