Learning to Rank for Test Case Prioritization

10Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

Abstract

In Continuous Integration (CI) environments, the productivity of software engineers depends strongly on the ability to reduce the round-Trip time between code commits and feedback on failed test cases. Test case prioritization is popularly used as an optimization mechanism for ranking tests by their likelihood in revealing failures. However, existing techniques are usually time and resource intensive making them not suitable to be applied within CI cycles. This paper formulates the test case prioritization problem as an online learn-To-rank model using reinforcement learning techniques. Our approach minimizes the testing overhead and continuously adapts to the changing environment as new code and new test cases are added in each CI cycle. We validated our approach on an industrial case study showing that over 95% of the test failures are still reported back to the software engineers while only 40% of the total available test cases are being executed.

Cite

CITATION STYLE

APA

Omri, S., & Sinz, C. (2022). Learning to Rank for Test Case Prioritization. In Proceedings - 15th Search-Based Software Testing Workshop, SBST 2022 (pp. 16–24). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1145/3526072.3527525

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free