Test case selection and prioritzation for object-oriented software based on slicing and coupling - Khatak, Umar Farooq (2022)
Regression testing has become more prevalent with the increasing use of iterative development as software artefacts are reused in different software development projects. The objective of regression testing is to detect fault after the software is changed. It is done by reducing the amount of time required for the test cases to run, the number of test cases in the test suite, or the selection of test cases that have been previously run on the system under test. However, determining the suitable test cases in regression testing is challenging, especially when managing the retesting process within a limited budget and timeframe. To address this issue, this research proposes using program slicing and coupling metrics to improve the selection and prioritisation of regression test cases specific to the affected segments of the program. In order to determine these dependencies among the program parts, this research proposed an approach for regression testing, which generated a suitable intermediate graph for object-oriented programs. In this study, the scalability of intermediate graphs was significantly improved by reducing redundant edges approximately 4.1%. Next, this study proposes regression test case selection with Optimal Hierarchical Decomposition Slice (OHDS) strategy to obtain complete coverage information nodes for the affected slice graph. Once the impactful test cases have been selected, the test cases should be prioritised to enhance the ability of the retesting process to detect early errors. In this research, the coupling metrics are used to prioritise the test cases by using an export-import factor for the affected program parts. The evaluation strategy measured the Average Percentage of Fault Detection (APFD), and the experiments produced an increase of 2.8% in APFD value. This result showed that the test cases executed only on the affected portions identified as having a high degree of Export/Import coupling are likely to detect faults earlier than other test cases within the test suite.