一句话:提出不依赖代码覆盖率的失败测试聚类方法,并为每个簇选取代表性测试,以加速汽车回归测试中的故障分析。
汽车软件回归测试中,大量硬件在环(HIL)测试会因少数故障而失败,逐一分析失败测试代价高昂。本文提出一种不依赖代码覆盖率的失败聚类技术:从三类来源抽取非代码特征,对失败 HIL 测试进行聚类,并为每个簇选取一个代表性测试。测试人员只需检查代表性测试,而无需分析全部失败测试,以定位底层故障。作者在某大型汽车公司使用 86 次回归测试运行、8743 个失败测试和 1531 个故障进行评估。结果表明,该工具可减少超过 60% 的分析时间,并且仅检查代表性测试即可发现超过 80% 的故障。
Developing and integrating software in the automotive industry is a complex task and requires extensive testing. An important cost factor in testing and debugging is the time required to analyze failing tests. In the context of regression testing, usually, large numbers of tests fail due to a few underlying faults. Clustering failing tests with respect to their underlying faults can, therefore, help in reducing the required analysis time. In this paper, we propose a clustering technique to group failing hardware-in-the-loop tests based on non-code-based features, retrieved from three different sources. To effectively reduce the analysis effort, the clustering tool selects a representative test for each cluster. Instead of analyzing all failing tests, testers only inspect the representative tests to find the underlying faults. We evaluated the effectiveness and efficiency of our solution in a major automotive company using 86 regression test runs, 8743 failing tests, and 1531 faults. The results show that utilizing our clustering tool, testers can reduce the analysis time more than 60% and find more than 80% of the faults only by inspecting the representative tests.
DOI 原文 ·
@inproceedings{paperbot5341,
title = {Failure clustering without coverage},
author = {Mojdeh Golagha and Constantin Lehnhoff and Alexander Pretschner and Hermann Ilmberger},
booktitle = {ISSTA},
year = {2019},
doi = {10.1145/3293882.3330561}
}