Test case selection and prioritization using machine learning: a systematic literature review

Rongqi Pan, Mojtaba Bagherzadeh, Taher A. Ghaleb, Lionel Briand

Research output: Contribution to journalArticlepeer-review

Abstract

Regression testing is an essential activity to assure that software code changes do not adversely affect existing functionalities. With the wide adoption of Continuous Integration (CI) in software projects, which increases the frequency of running software builds, running all tests can be time-consuming and resource-intensive. To alleviate that problem, Test case Selection and Prioritization (TSP) techniques have been proposed to improve regression testing by selecting and prioritizing test cases in order to provide early feedback to developers. In recent years, researchers have relied on Machine Learning (ML) techniques to achieve effective TSP (ML-based TSP). Such techniques help combine information about test cases, from partial and imperfect sources, into accurate prediction models. This work conducts a systematic literature review focused on ML-based TSP techniques, aiming to perform an in-depth analysis of the state of the art, thus gaining insights regarding future avenues of research. To that end, we analyze 29 primary studies published from 2006 to 2020, which have been identified through a systematic and documented process. This paper addresses five research questions addressing variations in ML-based TSP techniques and feature sets for training and testing ML models, alternative metrics used for evaluating the techniques, the performance of techniques, and the reproducibility of the published studies. We summarize the results related to our research questions in a high-level summary that can be used as a taxonomy for classifying future TSP studies.

Original languageEnglish
Article number29
JournalEmpirical Software Engineering
Volume27
Issue number2
DOIs
Publication statusPublished - Mar 2022
Externally publishedYes

Keywords

  • Continuous integration
  • Machine learning
  • Software testing
  • Systematic literature review
  • Test case prioritization
  • Test case selection

Fingerprint

Dive into the research topics of 'Test case selection and prioritization using machine learning: a systematic literature review'. Together they form a unique fingerprint.

Cite this