Feature-oriented Test Case Selection and Prioritization During the Evolution of Highly-Configurable Systems

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Mendonça, Willian D. F, Assunção, Wesley K. G, Vergilio, Silvia R
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Mendonça, Willian D. F
Assunção, Wesley K. G
Vergilio, Silvia R
description 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 $\approx$50%, in comparison with retest-all. The prioritization step allows reducing the average test budget in 86% of the failed commits.
doi_str_mv 10.48550/arxiv.2406.15296
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2406_15296</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2406_15296</sourcerecordid><originalsourceid>FETCH-LOGICAL-a676-72a0f6e7c842f0edcdc4d42d61487ba2b21c231fc4a2e6c204e2211c5ac48d793</originalsourceid><addsrcrecordid>eNotj8FKxDAURbNxIaMf4Mr8QGvymqadpdQZRxhQsPvymrx0gp1W0nRw_HrH6urC4XLgMHYnRarKPBcPGL78KQUldCpzWOtr9rEljHOgZAyehkiW1zRFXuFE_J16MtGPA8fB8rfgL5_ov3FBT3PwQ8fjgfjmNPbzAkfHd7479OekGgfnuzlg219E5ynScbphVw77iW7_d8Xq7aaudsn-9fmletwnqAudFIDCaSpMqcAJssYaZRVYLVVZtAgtSAOZdEYhkDYgFAFIaXI0qrTFOlux-z_tUtt8Bn_EcG5-q5ulOvsBghVUbA</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Feature-oriented Test Case Selection and Prioritization During the Evolution of Highly-Configurable Systems</title><source>arXiv.org</source><creator>Mendonça, Willian D. F ; Assunção, Wesley K. G ; Vergilio, Silvia R</creator><creatorcontrib>Mendonça, Willian D. F ; Assunção, Wesley K. G ; Vergilio, Silvia R</creatorcontrib><description>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 $\approx$50%, in comparison with retest-all. The prioritization step allows reducing the average test budget in 86% of the failed commits.</description><identifier>DOI: 10.48550/arxiv.2406.15296</identifier><language>eng</language><subject>Computer Science - Software Engineering</subject><creationdate>2024-06</creationdate><rights>http://creativecommons.org/licenses/by/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,778,883</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2406.15296$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2406.15296$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Mendonça, Willian D. F</creatorcontrib><creatorcontrib>Assunção, Wesley K. G</creatorcontrib><creatorcontrib>Vergilio, Silvia R</creatorcontrib><title>Feature-oriented Test Case Selection and Prioritization During the Evolution of Highly-Configurable Systems</title><description>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 $\approx$50%, in comparison with retest-all. The prioritization step allows reducing the average test budget in 86% of the failed commits.</description><subject>Computer Science - Software Engineering</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotj8FKxDAURbNxIaMf4Mr8QGvymqadpdQZRxhQsPvymrx0gp1W0nRw_HrH6urC4XLgMHYnRarKPBcPGL78KQUldCpzWOtr9rEljHOgZAyehkiW1zRFXuFE_J16MtGPA8fB8rfgL5_ov3FBT3PwQ8fjgfjmNPbzAkfHd7479OekGgfnuzlg219E5ynScbphVw77iW7_d8Xq7aaudsn-9fmletwnqAudFIDCaSpMqcAJssYaZRVYLVVZtAgtSAOZdEYhkDYgFAFIaXI0qrTFOlux-z_tUtt8Bn_EcG5-q5ulOvsBghVUbA</recordid><startdate>20240621</startdate><enddate>20240621</enddate><creator>Mendonça, Willian D. F</creator><creator>Assunção, Wesley K. G</creator><creator>Vergilio, Silvia R</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20240621</creationdate><title>Feature-oriented Test Case Selection and Prioritization During the Evolution of Highly-Configurable Systems</title><author>Mendonça, Willian D. F ; Assunção, Wesley K. G ; Vergilio, Silvia R</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a676-72a0f6e7c842f0edcdc4d42d61487ba2b21c231fc4a2e6c204e2211c5ac48d793</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Computer Science - Software Engineering</topic><toplevel>online_resources</toplevel><creatorcontrib>Mendonça, Willian D. F</creatorcontrib><creatorcontrib>Assunção, Wesley K. G</creatorcontrib><creatorcontrib>Vergilio, Silvia R</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Mendonça, Willian D. F</au><au>Assunção, Wesley K. G</au><au>Vergilio, Silvia R</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Feature-oriented Test Case Selection and Prioritization During the Evolution of Highly-Configurable Systems</atitle><date>2024-06-21</date><risdate>2024</risdate><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 $\approx$50%, in comparison with retest-all. The prioritization step allows reducing the average test budget in 86% of the failed commits.</abstract><doi>10.48550/arxiv.2406.15296</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.2406.15296
ispartof
issn
language eng
recordid cdi_arxiv_primary_2406_15296
source arXiv.org
subjects Computer Science - Software Engineering
title Feature-oriented Test Case Selection and Prioritization During the Evolution of Highly-Configurable Systems
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-15T23%3A02%3A47IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Feature-oriented%20Test%20Case%20Selection%20and%20Prioritization%20During%20the%20Evolution%20of%20Highly-Configurable%20Systems&rft.au=Mendon%C3%A7a,%20Willian%20D.%20F&rft.date=2024-06-21&rft_id=info:doi/10.48550/arxiv.2406.15296&rft_dat=%3Carxiv_GOX%3E2406_15296%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true