Neural Network Classification for Improving Continuous Regression Testing
Dusica Marijan, Arnaud Gotlieb, Abhijeet Sapkota
Abstract
Continuous regression testing is a time constrained process aimed at detecting potential regressions introduced in source code integration. Test prioritization is an approach to increase the efficiency of continuous regression testing, by finding an order of tests that can detect regressions faster. The challenge for test prioritization in continuous integration is the scalability of continuous prioritization as more test execution data becomes available. In this paper we propose an approach that learns to prioritize regression tests by training a prediction model based on the existing fault detection ability of tests. We perform experiments in a case study of regression testing of industrial software developed in continuous integration. The initial results show that a learning-based approach can reduce test prioritization time, compared to a non-learning approach, while achieving a comparable fault detection effectiveness.