A Regression Test Case Prioritization Framework for Software Sustainability
摘要
In software development, test cases are stored for later use, such as retesting or regression testing. Optimization is one of the approaches used in regression testing, particularly test case prioritization (TCP). TCP aims to rapidly uncover defects during software development. Existing TCP methods lack reliability and suffer from efficiency and effectiveness due to insufficient evaluation, reproducibility, and benchmarking. Currently, no existing TCP framework is integrated with the hybrid PSO-ABC optimization method. This paper aims to introduce a TCP framework that includes five factors, namely fault detection and severity, test case dependency, clustered test cases, and test input, which are used to prioritize test cases. The process starts by determining three factors from the literature (i.e., fault detection and severity, as well as clustered test cases) and contributing the other two (i.e., test case dependency and test input) to seek better optimization. Historical data from previous runs regarding these TCP factors were extracted and stored for analysis. The proposed TCP framework was verified by ten experts, and it was learned that this framework received positive feedback. TCP is closely related to the longevity of software since it can ensure that systems remain reliable, dependable, and maintainable over time. By identifying and prioritizing essential test cases, developers can focus their testing efforts on the areas of the system that are most likely to be affected by changes.