Dynamic Test Case Prioritization in Industrial Test Result Datasets

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Torbunova, Alina, Strandberg, Per Erik, Porres, Ivan
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866914666794450944
author Torbunova, Alina
Strandberg, Per Erik
Porres, Ivan
author_facet Torbunova, Alina
Strandberg, Per Erik
Porres, Ivan
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2402_02925
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Dynamic Test Case Prioritization in Industrial Test Result Datasets
Torbunova, Alina
Strandberg, Per Erik
Porres, Ivan
Software Engineering
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.
title Dynamic Test Case Prioritization in Industrial Test Result Datasets
topic Software Engineering
url https://arxiv.org/abs/2402.02925