Optimizing test case prioritization using machine learning algorithms

Sheetal Sharma, Swati V. Chande
{"title":"Optimizing test case prioritization using machine learning algorithms","authors":"Sheetal Sharma, Swati V. Chande","doi":"10.32629/jai.v6i2.661","DOIUrl":null,"url":null,"abstract":"Software testing is an important aspect of software development to ensure the quality and reliability of the software. With the increasing complexity of software systems, the number of test cases has also increased significantly, making it challenging to execute all the test cases in a limited amount of time. Test case prioritization techniques have been proposed to tackle this problem by identifying and executing the most important test cases first. In this research paper, we propose the use of machine learning algorithms for prioritization of test cases. We explore different machine learning algorithms, including decision trees, random forests, and neural networks, and compare their performance with traditional prioritization techniques such as code coverage-based and risk-based prioritization. We evaluate the effectiveness of these algorithms on various datasets and metrics such as the number of test cases executed, the fault detection rate, and the execution time. Our experimental results demonstrate that machine learning algorithms can effectively prioritize test cases and outperform traditional techniques in terms of reducing the number of test cases executed while maintaining high fault detection rates. Furthermore, we discuss the potential limitations and future research directions of using machine learning algorithms for test case prioritization. Our research findings contribute to the development of more efficient and effective software testing techniques that can improve the quality and reliability of software systems.","PeriodicalId":70721,"journal":{"name":"自主智能(英文)","volume":" ","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-07-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"自主智能(英文)","FirstCategoryId":"1093","ListUrlMain":"https://doi.org/10.32629/jai.v6i2.661","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Software testing is an important aspect of software development to ensure the quality and reliability of the software. With the increasing complexity of software systems, the number of test cases has also increased significantly, making it challenging to execute all the test cases in a limited amount of time. Test case prioritization techniques have been proposed to tackle this problem by identifying and executing the most important test cases first. In this research paper, we propose the use of machine learning algorithms for prioritization of test cases. We explore different machine learning algorithms, including decision trees, random forests, and neural networks, and compare their performance with traditional prioritization techniques such as code coverage-based and risk-based prioritization. We evaluate the effectiveness of these algorithms on various datasets and metrics such as the number of test cases executed, the fault detection rate, and the execution time. Our experimental results demonstrate that machine learning algorithms can effectively prioritize test cases and outperform traditional techniques in terms of reducing the number of test cases executed while maintaining high fault detection rates. Furthermore, we discuss the potential limitations and future research directions of using machine learning algorithms for test case prioritization. Our research findings contribute to the development of more efficient and effective software testing techniques that can improve the quality and reliability of software systems.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
使用机器学习算法优化测试用例优先级
软件测试是软件开发的一个重要方面,以确保软件的质量和可靠性。随着软件系统复杂性的增加,测试用例的数量也显著增加,这使得在有限的时间内执行所有测试用例变得具有挑战性。已经提出了测试用例优先级技术,通过首先识别和执行最重要的测试用例来解决这个问题。在这篇研究论文中,我们建议使用机器学习算法来确定测试用例的优先级。我们探索了不同的机器学习算法,包括决策树、随机森林和神经网络,并将其性能与传统的优先级排序技术(如基于代码覆盖率和基于风险的优先级排序)进行了比较。我们在各种数据集和指标上评估这些算法的有效性,如执行的测试用例数量、故障检测率和执行时间。我们的实验结果表明,机器学习算法可以有效地对测试用例进行优先级排序,并且在减少执行的测试用例数量的同时保持高故障检测率方面优于传统技术。此外,我们还讨论了使用机器学习算法进行测试用例优先级排序的潜在局限性和未来的研究方向。我们的研究结果有助于开发更高效、更有效的软件测试技术,从而提高软件系统的质量和可靠性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
CiteScore
0.40
自引率
0.00%
发文量
25
期刊最新文献
Conditioning and monitoring of grinding wheels: A state-of-the-art review Design and implementation of secured file delivery protocol using enhanced elliptic curve cryptography for class I and class II transactions An improved fuzzy c-means-raindrop optimizer for brain magnetic resonance image segmentation Key management and access control based on combination of cipher text-policy attribute-based encryption with Proxy Re-Encryption for cloud data Novel scientific design of hybrid opposition based—Chaotic little golden-mantled flying fox, White-winged chough search optimization algorithm for real power loss reduction and voltage stability expansion
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1