Litcius/Paper detail

A Learn-to-Rank Method for Model-Based Regression Test Case Prioritization

Yechao Huang, Ting Shu, Zuohua Ding

2021IEEE Access23 citationsDOIOpen Access PDF

Abstract

Regression testing plays an indispensable role in software maintenance, which refers to retest the software following modifications to determine whether the changes have introduced new faults. However, regression testing requires massive amounts of effort to achieve a high fault detection rate. To address this issue, the test case prioritization technique is used to improve the fault detection rate by adjusting the execution order of test cases. For model-based regression test case prioritization, existing approaches have been developed using the single aspect of model-related information extracted from the previous executed test cases. In this paper, a novel learn-to-rank technique is proposed to prioritize test cases by combining the multidimensional features of Extended Finite State Machine (EFSM) under test to improve fault detection rate. Specifically, our method utilizes the random forest algorithm to combine multiple existing heuristic prioritization methods. Detailed experiments are conducted to evaluate the proposed method's performance in terms of Average Percentage Fault Detected (APFD). The experimental results show that the mean APFD value of our method reaches 0.884 for five subject EFSMs, which is 33.9% higher than the compared methods.

Topics & Concepts

Computer scienceRegression testingSoftware regressionFault detection and isolationData miningTest caseHeuristicRegression analysisFault (geology)Extended finite-state machineMachine learningRank (graph theory)RegressionPrioritizationSoftwareReliability engineeringArtificial intelligenceFinite-state machineSoftware qualityStatisticsAlgorithmSoftware systemSoftware developmentEngineeringMathematicsSoftware constructionSeismologyProgramming languageGeologyManagement scienceCombinatoricsActuatorSoftware Testing and Debugging TechniquesSoftware Engineering ResearchSoftware Reliability and Analysis Research