4.6 Article

Reinforcement Learning for Test Case Prioritization

期刊

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
卷 48, 期 8, 页码 2836-2856

出版社

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2021.3070549

关键词

Testing; History; Training; Reinforcement learning; Software systems; Adaptation models; Software algorithms; Continuous integration; CI; reinforcement learning; test prioritization

资金

  1. Huawei Technologies Canada
  2. Mitacs Canada
  3. Canada Research Chair and Discovery Grant programs of the Natural Sciences and Engineering Research Council of Canada (NSERC)

向作者/读者索取更多资源

Continuous Integration (CI) has advantages in software development, but poses challenges for quality assurance activities. Inspired by the potential of Reinforcement Learning (RL) in handling continuous adaptation problems, this study proposes a RL-based approach for test case prioritization in a CI context. Experimental analysis shows that the RL solutions provide significant accuracy improvement, paving the way for using RL to prioritize test cases in CI.
Continuous Integration (CI) significantly reduces integration problems, speeds up development time, and shortens release time. However, it also introduces new challenges for quality assurance activities, including regression testing, which is the focus of this work. Though various approaches for test case prioritization have shown to be very promising in the context of regression testing, specific techniques must be designed to deal with the dynamic nature and timing constraints of CI. Recently, Reinforcement Learning (RL) has shown great potential in various challenging scenarios that require continuous adaptation, such as game playing, real-time ads bidding, and recommender systems. Inspired by this line of work and building on initial efforts in supporting test case prioritization with RL techniques, we perform here a comprehensive investigation of RL-based test case prioritization in a CI context. To this end, taking test case prioritization as a ranking problem, we model the sequential interactions between the CI environment and a test case prioritization agent as an RL problem, using three alternative ranking models. We then rely on carefully selected and tailored state-of-the-art RL techniques to automatically and continuously learn a test case prioritization strategy, whose objective is to be as close as possible to the optimal one. Our extensive experimental analysis shows that the best RL solutions provide a significant accuracy improvement over previous RL-based work, with prioritization strategies getting close to being optimal, thus paving the way for using RL to prioritize test cases in a CI context.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.6
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据