Feature-oriented Test Case Prioritization Strategies: An Evaluation for Highly Configurable Systems
Open Access
- 2 September 2024
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 72-83
Abstract
Test Case Prioritization (TCP) has proved to be beneficial when time constraints exist. During TCP, most relevant test cases are executed first in order to maximize failure detection and produce rapid feedback. There are several TCP approaches in the literature, but most of them do not consider particularities of Highly-Configurable Systems (HCSs), namely the notion of features. Existing work is usually based on artifacts (e.g., feature models) that can be outdated or are not available. Some code-oriented approaches usually employ dynamic analysis or require a failure-history, which can be costly. Furthermore, they present limitations when new variants and test cases are added during the system evolution. To address such limitations, we propose and evaluate three feature-oriented TCP strategies: (i) FeatChgHist: prioritizes test cases associated to features that often changed over commits; (ii) FeatChgCommit: prioritizes test cases associated to features that changed more in the current commit; and (iii) FeatCov: prioritizes test cases that cover more features simultaneously. Features are the building blocks of HCSs that are used for communication and design purposes. Then the basis to introduce these strategies is the fact that test cases associated to a great number of features, or to features that changed often over commits, are more fault-prone. In the evaluation, conducted with a real open-source HCS, FeatChgHist and FeatChgCommit show better performance regarding failure detection than FeatCov, and also than the changed-file-oriented strategies, used as baseline. Moreover, combining test selection and prioritization allows a reduced test set without decreasing significantly early failure detection.Keywords
Funding Information
- Fundação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (8887.464736/2019-00)
- Conselho Nacional de Desenvolvimento Científico e Tecnológico (310034/2022-1)
- A Fundação Carlos Chagas Filho de Amparo à Pesquisa do Estado do Rio de Janeiro (PDR-10)
This publication has 47 references indexed in Scilit:
- Cost-effective learning-based strategies for test case prioritization in continuous integration of highly-configurable softwareEmpirical Software Engineering, 2022
- Evolving software system families in space and time with feature revisionsEmpirical Software Engineering, 2022
- Automating system test case classification and prioritization for use case-driven testing in product linesEmpirical Software Engineering, 2020
- A learning algorithm for optimizing continuous integration development and testing practiceSoftware: Practice and Experience, 2018
- SPIRITuS: a SimPle Information Retrieval regressIon Test Selection approachInformation and Software Technology, 2018
- A systematic test case selection methodology for product lines: results and insights from an industrial case studyEmpirical Software Engineering, 2014
- On strategies for testing software product lines: A systematic literature reviewInformation and Software Technology, 2014
- A survey of software testing practices in CanadaJournal of Systems and Software, 2013
- Regression testing minimization, selection and prioritization: a surveySoftware Testing, Verification and Reliability, 2012
- Experimentation in Software Engineering2000