Feature-oriented test case selection and prioritization during the evolution of highly-configurable systems

IF 3.7 2区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Willian D.F. Mendonça , Wesley K.G. Assunção , Silvia R. Vergilio
{"title":"Feature-oriented test case selection and prioritization during the evolution of highly-configurable systems","authors":"Willian D.F. Mendonça ,&nbsp;Wesley K.G. Assunção ,&nbsp;Silvia R. Vergilio","doi":"10.1016/j.jss.2024.112157","DOIUrl":null,"url":null,"abstract":"<div><p>Testing <em>Highly Configurable Systems (HCSs)</em> is a challenging task, especially in an evolution scenario where features are added, changed, or removed, which hampers test case selection and prioritization. Existing work is usually based on the variability model, which is not always available or updated. Yet, the few existing approaches rely on links between test cases and changed files (or lines of code), not considering how features are implemented, usually spread over several and unchanged files. To overcome these limitations, we introduce <span>FeaTestSelPrio</span>, a feature-oriented test case selection and prioritization approach for HCSs. The approach links test cases to feature implementations, using HCS pre-processor directives, to select test cases based on features affected by changes in each commit. After, the test cases are prioritized according to the number of features they cover. Our approach selects a greater number of tests and takes longer to execute than a changed-file-oriented approach, used as baseline, but <span>FeaTestSelPrio</span> performs better regarding detected failures. By adding the approach execution time to the execution time of the selected test cases, we reached a reduction of <span><math><mo>≈</mo></math></span>50%, in comparison with retest-all. The prioritization step allows reducing the average test budget in 86% of the failed commits.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"217 ","pages":"Article 112157"},"PeriodicalIF":3.7000,"publicationDate":"2024-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0164121224002024","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Testing Highly Configurable Systems (HCSs) is a challenging task, especially in an evolution scenario where features are added, changed, or removed, which hampers test case selection and prioritization. Existing work is usually based on the variability model, which is not always available or updated. Yet, the few existing approaches rely on links between test cases and changed files (or lines of code), not considering how features are implemented, usually spread over several and unchanged files. To overcome these limitations, we introduce FeaTestSelPrio, a feature-oriented test case selection and prioritization approach for HCSs. The approach links test cases to feature implementations, using HCS pre-processor directives, to select test cases based on features affected by changes in each commit. After, the test cases are prioritized according to the number of features they cover. Our approach selects a greater number of tests and takes longer to execute than a changed-file-oriented approach, used as baseline, but FeaTestSelPrio performs better regarding detected failures. By adding the approach execution time to the execution time of the selected test cases, we reached a reduction of 50%, in comparison with retest-all. The prioritization step allows reducing the average test budget in 86% of the failed commits.

高度可配置系统演化过程中面向特征的测试用例选择和优先级排序
测试高可配置系统(HCS)是一项极具挑战性的任务,尤其是在功能不断添加、更改或删除的演进场景中,这会妨碍测试用例的选择和优先级的确定。现有的工作通常基于可变性模型,而该模型并不总是可用或更新的。然而,现有的少数方法依赖于测试用例与已更改文件(或代码行)之间的联系,而不考虑功能是如何实现的,这些功能通常分布在多个不变的文件中。为了克服这些局限性,我们引入了 FeaTestSelPrio,这是一种面向 HCS 特征的测试用例选择和优先级排序方法。该方法使用 HCS 预处理器指令将测试用例与特征实现联系起来,根据每次提交中受变更影响的特征选择测试用例。然后,根据测试用例所覆盖功能的数量对其进行优先排序。与作为基准的面向变更文件的方法相比,我们的方法选择的测试数量更多,执行时间更长,但 FeaTestSelPrio 在检测到的故障方面表现更好。通过将该方法的执行时间与所选测试用例的执行时间相加,我们发现与 retest-all 相比,执行时间减少了 ≈50%。在 86% 的失败提交中,优先级排序步骤减少了平均测试预算。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Systems and Software
Journal of Systems and Software 工程技术-计算机:理论方法
CiteScore
8.60
自引率
5.70%
发文量
193
审稿时长
16 weeks
期刊介绍: The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to: •Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution •Agile, model-driven, service-oriented, open source and global software development •Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems •Human factors and management concerns of software development •Data management and big data issues of software systems •Metrics and evaluation, data mining of software development resources •Business and economic aspects of software development processes The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.
×
引用
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学术官方微信