中文

Test2Vec:用于测试用例优先排序的执行轨迹嵌入

软件工程 2022-07-01 v1 人工智能

摘要

大多数自动化软件测试任务都可受益于测试用例的抽象表示。传统上,这是基于代码覆盖率对测试用例进行编码来实现的。规约级准则可替代代码覆盖率以更好地表示测试用例的行为,但它们通常不具备成本效益。在本文中,我们假设测试用例的执行轨迹可作为抽象其行为以用于自动化测试任务的良好替代。我们提出了一种新颖的嵌入方法 Test2Vec,将测试执行轨迹映射到潜空间。我们在测试用例优先排序(TP)任务中评估该表示。我们默认的 TP 方法基于嵌入向量与历史失败测试向量的相似度。我们也研究了另一种基于测试向量多样性的方法。最后,我们提出了一种针对给定测试套件决定选择何种 TP 的方法。实验基于多个真实与植入故障,包含超过一百万条执行轨迹。结果表明,我们提出的 TP 在首个失败测试用例(FFR)的中位数归一化排名上比最佳替代方案提升 41.80%。在 median APFD 与中位数归一化 FFR 上,它分别比传统基于代码覆盖率的方法高出 25.05% 与 59.25%。

关键词

引用

@article{arxiv.2206.15428,
  title  = {Test2Vec: An Execution Trace Embedding for Test Case Prioritization},
  author = {Emad Jabbar and Soheila Zangeneh and Hadi Hemmati and Robert Feldt},
  journal= {arXiv preprint arXiv:2206.15428},
  year   = {2022}
}