计算机科学
回归检验
强化学习
考试(生物学)
选择(遗传算法)
优先次序
编码(集合论)
测试套件
可追溯性
机器学习
测试用例
人工智能
软件
回归分析
软件工程
工程类
软件开发
程序设计语言
软件建设
古生物学
集合(抽象数据类型)
管理科学
生物
作者
Helge Spieker,Arnaud Gotlieb,Dusica Marijan,Morten Mossige
标识
DOI:10.1145/3092703.3092709
摘要
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.
科研通智能强力驱动
Strongly Powered by AbleSci AI