Leveraging Rough Sets for Enhanced Test Case Prioritization in a Continuous Integration Context

Radu Găceanu, Arnold Szederjesi-Dragomir, Andreea Veșcan · 2024

In the rapidly evolving landscape of Continuous Integration (CI), test case execution becomes pivotal with every code modification, rendering regression testing strategies essential. Among these, Test Case Prioritization (TCP) has become a popular way to improve the efficiency and effectiveness of software testing. Recently, researchers have been mostly looking at supervised learning methods and reinforcement learning to deal with TCP in CI. However, because of the dynamic nature of these environments, it might be worth exploring unsupervised approaches that can adapt to the inherent uncertainties without labeled data. This paper proposes RoughTCP, a novel approach utilizing a rough sets-based agglomerative clustering algorithm, to prioritize test cases. RoughTCP automatically groups and ranks tests based on their intrinsic patterns and correlations (e.g., faults, tests duration, cycles count, and total runs count) without a predefined model. This improves fault detection without the need for constant supervision and provides a more comprehensive understanding of the results by incorporating rough sets. Three sets of experiments were performed, considering data from continuous integration contexts in industrial projects. Compared to recent related work, our experiments show that the RoughTCP approach yields better results for budgets higher than or equal to 75% on all datasets, while sometimes also outperforming all other methods on lower budgets. This underlines the potential of unsupervised methods and, in particular, the strength of RoughTCP in reshaping the TCP landscape in CI environments.

Read the paper · More papers on PaperTik