Dynamic Test Case Prioritization in Industrial Test Result Datasets
<|reference_start|>Dynamic Test Case Prioritization in Industrial Test Result Datasets: Regression testing in software development checks if new software features affect existing ones. Regression testing is a key task in continuous development and integration, where software is built in small increments and new features are integrated as soon as possible. It is therefore important that developers are notified about possible faults quickly. In this article, we propose a test case prioritization schema that combines the use of a static and a dynamic prioritization algorithm. The dynamic prioritization algorithm rearranges the order of execution of tests on the fly, while the tests are being executed. We propose to use a conditional probability dynamic algorithm for this. We evaluate our solution on three industrial datasets and utilize Average Percentage of Fault Detection for that. The main findings are that our dynamic prioritization algorithm can: a) be applied with any static algorithm that assigns a priority score to each test case b) can improve the performance of the static algorithm if there are failure correlations between test cases c) can also reduce the performance of the static algorithm, but only when the static scheduling is performed at a near optimal level.<|reference_end|>
@article{torbunova2024dynamic,
    title={Dynamic Test Case Prioritization in Industrial Test Result Datasets},
    author={Alina Torbunova, Per Erik Strandberg, Ivan Porres},
    journal={arXiv preprint arXiv:2402.02925},
    year={2024},
    doi={10.1145/3644032.3644452},
    archivePrefix={arXiv},
    eprint={2402.02925},
    primaryClass={cs.SE}
}