Reinforcement Learning for Automatic Test Case Prioritization and Selection in Continuous Integration

11/09/2018
by   Helge Spieker, et al.
0

Testing in Continuous Integration (CI) involves test case prioritization, selection, and execution at each cycle. Selecting the most promising test cases to detect bugs is hard if there are uncertainties on the impact of committed code changes or, if traceability links between code and tests are not available. This paper introduces Retecs, a new method for automatically learning test case selection and prioritization in CI with the goal to minimize the round-trip time between code commits and developer feedback on failed test cases. The Retecs method uses reinforcement learning to select and prioritize test cases according to their duration, previous last execution and failure history. In a constantly changing environment, where new test cases are created and obsolete test cases are deleted, the Retecs method learns to prioritize error-prone test cases higher under guidance of a reward function and by observing previous CI cycles. By applying Retecs on data extracted from three industrial case studies, we show for the first time that reinforcement learning enables fruitful automatic adaptive test case selection and prioritization in CI and regression testing.

READ FULL TEXT

page 8

page 9

research
10/14/2021

DeepOrder: Deep Learning for Test Case Prioritization in Continuous Integration Testing

Continuous integration testing is an important step in the modern softwa...
research
02/12/2018

Test Agents: Adaptive, Autonomous and Intelligent Test Cases

Growth of software size, lack of resources to perform regression testing...
research
04/22/2022

Comparative Study of Machine Learning Test Case Prioritization for Continuous Integration Testing

There is a growing body of research indicating the potential of machine ...
research
11/03/2020

Reinforcement Learning for Test Case Prioritization

Continuous Integration (CI) significantly reduces integration problems, ...
research
08/10/2017

Test Case Prioritization Techniques for Model-Based Testing: A Replicated Study

Recently, several Test Case Prioritization (TCP) techniques have been pr...
research
08/19/2019

An Autonomous Performance Testing Framework using Self-Adaptive Fuzzy Reinforcement Learning

Test automation can result in reduction in cost and human effort. If the...
research
04/18/2019

Batch Tournament Selection for Genetic Programming

Lexicase selection achieves very good solution quality by introducing or...

Please sign up or login with your details

Forgot password? Click here to reset