Litcius/Paper detail

Neural Network Classification for Improving Continuous Regression Testing

Dusica Marijan, Arnaud Gotlieb, Abhijeet Sapkota

202017 citationsDOI

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.

Topics & Concepts

Regression testingComputer sciencePrioritizationMachine learningRisk-based testingScalabilityRegressionData miningArtificial neural networkFault detection and isolationRegression analysisArtificial intelligenceProcess (computing)SoftwareSoftware systemEngineeringStatisticsOperating systemSoftware constructionProgramming languageDatabaseManagement scienceActuatorMathematicsSoftware Testing and Debugging TechniquesSoftware Reliability and Analysis ResearchSoftware Engineering Research
Neural Network Classification for Improving Continuous Regression Testing | Litcius