Reinforcement Learning for Test Case Prioritization
Jo\~ao Lousada, Miguel Ribeiro

TL;DR
This paper explores the application of reinforcement learning techniques to optimize test case prioritization in continuous integration environments, demonstrating promising results in fault detection efficiency.
Contribution
It extends recent RL-based testing strategies by evaluating their adaptability to new environments and comparing different model approximators for memory representation.
Findings
Achieved NAPFD over 0.6 on novel data from a financial institution
Network Approximator with Test Case Failure Reward outperformed other models
Decision Tree Approximator did not significantly improve results
Abstract
In modern software engineering, Continuous Integration (CI) has become an indispensable step towards systematically managing the life cycles of software development. Large companies struggle with keeping the pipeline updated and operational, in useful time, due to the large amount of changes and addition of features, that build on top of each other and have several developers, working on different platforms. Associated with such software changes, there is always a strong component of Testing. As teams and projects grow, exhaustive testing quickly becomes inhibitive, becoming adamant to select the most relevant test cases earlier, without compromising software quality. This paper extends recent studies on applying Reinforcement Learning to optimize testing strategies. We test its ability to adapt to new environments, by testing it on novel data extracted from a financial institution,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
