Diversity-based test case prioritization technique to improve faults detection rate - Nuh, Jamal Abdullahi; Koh, Tieng Wei; Baharom, Salmi; Osman, Mohd Hafeez; Babangida, Lawal; Letchmunan, Sukumar; Kew, Si Na (SAI Organization, 2023)
Regression testing is an important task in software development, but it is often associated with high costs and increased project expenses. To address this challenge, prioritizing test cases during test execution is essential as it aims to swiftly identify the hidden faults in the software. In the literature, several techniques for test case prioritization (TCP) have been proposed and evaluated. However, existing weightbased TCP techniques often overlook the true diversity coverage of test cases, resulting in the use of average-based weighting practices and a lack of systematic calculation for test case weights. Our research revolves around prioritizing test cases by considering multiple code coverage criteria. The study presents a novel diversity technique that calculates a diversity coverage score for each test case. This score serves as a weight to effectively rank the test cases. To evaluate the proposed technique, an experiment was conducted using five open-source programs and measured its performance in terms of the average percentage of fault detection (APFD). A comparison was made against an existing technique. The results revealed that the proposed technique significantly improved the fault detection rate compared to the existing approach. It is worth noting that this study is the first of its kind to incorporate the true diversity score of test cases into the TCP process. The findings of our research make valuable contributions to the field of regression testing by enhancing the effectiveness of the testing process through the utilization of diversity-based weighting techniques.