Learning to Rank for Test Case Prioritization

Safa Omri, C. Sinz
{"title":"Learning to Rank for Test Case Prioritization","authors":"Safa Omri, C. Sinz","doi":"10.1145/3526072.3527525","DOIUrl":null,"url":null,"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.","PeriodicalId":206275,"journal":{"name":"2022 IEEE/ACM 15th International Workshop on Search-Based Software Testing (SBST)","volume":"65 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE/ACM 15th International Workshop on Search-Based Software Testing (SBST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3526072.3527525","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

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.
学习对测试用例进行优先级排序
在持续集成(CI)环境中,软件工程师的生产力在很大程度上依赖于减少代码提交和失败测试用例反馈之间的往返时间的能力。测试用例优先级是一种常用的优化机制,用于根据显示失败的可能性对测试进行排序。然而,现有的技术通常是时间和资源密集型的,因此不适合在CI周期内应用。本文将测试用例优先级问题表述为使用强化学习技术的在线学习排序模型。我们的方法最小化了测试开销,并且随着在每个CI周期中添加新的代码和新的测试用例,不断地适应不断变化的环境。我们在一个工业案例研究中验证了我们的方法,显示了超过95%的测试失败仍然被报告给软件工程师,而只有40%的可用测试用例被执行。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信