一句话:提出基于复用旧版本程序状态的回归测试加速方法 SRRTA,在 commons-math 上减少 82.7% 的测试时间。
回归测试重要但耗时,现有测试选择、约简与优先级排序方法都通过优化整个测试套件的执行来降低成本。本文从全新角度加速回归测试:通过复用旧版本程序的运行状态,跳过新程序的部分执行。为此提出 SRRTA,包含状态存储与状态加载两个组件。状态存储阶段利用三种基于启发式的策略,在旧版本执行过程中收集程序状态;状态加载阶段则采用效率优化策略,将这些状态载入新版本执行。初步研究在 commons-math 上进行,结果显示 SRRTA 减少了 82.7% 的回归测试时间。该工作表明状态重用是一种有潜力的回归测试加速途径。
Regression testing is widely recognized as an important but time-consuming process. To alleviate this cost issue, test selection, reduction, and prioritization have been widely studied, and they share the commonality that they improve regression testing by optimizing the execution of the whole test suite. In this paper, we attempt to accelerate regression testing from a totally new perspective, i.e., skipping some execution of a new program by reusing program states of an old program. Following this intuition, we propose a state-reuse based acceleration approach SRRTA, consisting of two components: state storage and loading. With the former, SRRTA collects some program states during the execution of an old version through three heuristic-based storage strategies; with the latter, SRRTA loads the stored program states with efficiency optimization strategies. Through the preliminary study on commons-math, SRRTA reduces 82.7% of the regression testing time.
DOI 原文 ·
@inproceedings{paperbot5966,
title = {SRRTA},
author = {Jinhao Dong and Yiling Lou and Dan Hao},
booktitle = {ASE},
year = {2020},
doi = {10.1145/3324884.3418928}
}