基于部分注意力的测试用例优先级排序
软件工程
2022-06-23 v1
摘要
测试用例优先级排序(TCP)旨在对回归测试套件重新排序,以提高故障检测率。基于不同优先级策略已提出多种TCP技术。其中,基于贪婪的技术是应用最广泛的TCP技术。然而,现有基于贪婪的技术通常在每次优先级迭代中对所有候选测试用例重排序,导致效率与效果两方面问题。本文提出一种通用的部分注意力机制,其利用先前的优先级值(即额外覆盖的代码单元数)以避免考虑所有候选测试用例。将该机制与额外贪婪策略结合,我们实现了一种基于划分排序(OCP)的新型覆盖型TCP技术。OCP首先将候选测试用例分组到不同划分中,并按降序更新划分。我们在19个Java程序版本和30个C程序版本上开展综合实验,将OCP与六种前沿TCP技术比较有效性及效率:total-greedy、additional-greedy、lexicographical-greedy、unify-greedy、基于art的和基于搜索的。实验结果表明OCP比前沿技术取得更好的故障检测率。此外,OCP的时间开销相比大多数前沿技术有85%–99%的提升。
引用
@article{arxiv.2206.11026,
title = {Test Case Prioritization Using Partial Attention},
author = {Quanjun Zhang and Chunrong Fang and Weisong Sun and Shengcheng Yu and Yutao Xu},
journal= {arXiv preprint arXiv:2206.11026},
year = {2022}
}