回归测试用例选择(Regression Test Case Selection,RTs)问题是回归测试研究中的一个热点,旨在从已有测试用例集中选择出所有可检测代码修改的测试用例。但迄今为止,国内研究人员并未对RTS问题的已有研究成果进行系统总结和比较。首先在回归测试活动和测试用例划分基础上,引出RTS问题和相关假设。随后从源代码和模型角度对已有RTS技术进行分类,从源代码角度出发,又进一步将其细分为线性规划法、数据流分析法、图遍历法、程序切片法和防火墙法等。接着对常见评测数据集和评测指标进行总结,最后对该问题的未来研究方向进行了展望。
Regression test case selection(RTS)is a hot research topic in the study of regression testing. This technique aims to identify modification-revealing test cases from existing test suite. But to date, researchers in China do not sys-tematically summarize and compare existing research work for RTS problem. This paper firstly formulated the RTS problem and its underlying assumptions based on the classification on regression testing activities and test cases. It se- condly classified existing RTS techniques into two categories: code-based RTS and model-based RTS. It further classi- fied these code-based RTS techniques into subcategories, such as integer programming approach, data-flow analysis ap-proach, graph-walk approach, program slicing approach, and firewall approach. It thirdly summarizd commonly-used ex-periment subjects and evaluation metrics. It finally suggested some potential future work of this topic.