摘要

本文是一篇综述,总结了27篇paper中36个empirical studies,21个实验和15个case studies。
评价了共28个RTS技术

1. 绪论

回归测试用例选择需要权衡重跑测试的开销和遗漏变更导致的风险
已有的研究主要包括基于代码变更和规范变更的测试用例选择方法,评价选择技术,变更影响分析和不同应用中的回归测试(数据库应用,GUI应用),测试自动化和测试流程增强
回归测试分为四个领域:

  • 测试用例选择
  • 修改识别
  • 测试执行
  • 测试套件维护
    本文主要集中于测试用例选择技术

2. 研究方法

2.1 研究问题

  • 哪些回归测试用例选择技术被实证评估了
  • 这些技术如何分类
  • 使用实证证据能否得出这些技术间的显著差异
  • 能否基于实证证据证明技术A优于技术B

2.2 研究对象(具体技术的论文)信息

从7个数据库中找

2.3 研究指标

关键字包括regressiontesttestingsoftware,发文时间段为1969-2006。最后找到2923篇论文。

2.4 研究对象选择

A systematic review on regression test selection techniques
分三阶段筛选,最后挑选出符合研究特征的27篇paper

2.5 数据提取和生成

2.6 实证结果的定性分析

不同研究的结果使用为4个主要指标:

  • 测试执行时间的约减
  • 测试用例选择的开销
  • 总开销
  • bug检测能力

2.7 效度威胁

3. 结果

3.1 已有研究

3.2 已有研究分析

3.3 实证评价技术(RQ1)

3.4 技术分类(RQ2)

A systematic review on regression test selection techniques

  • 根据输入的类型分类:
  1. 源代码文本
  2. 虚拟机上生成的中间代码
  3. 机器码
  • 根据分析语言的类型分类:
  1. Java
  2. c++
  • 根据编程范式分类:
  1. 面向过程
  2. 面向对象
  3. 独立于特定语言
  • 根据依赖关系粒度分类:
  1. 语句级别
  2. 方法/函数级别
  3. 类/模块级别
  4. 组件级别

最常见的分类方法是测试用例选择技术是safe还是unsafesafe的技术能覆盖到所有能发现缺陷的测试用例。RetestAll是一种最简单的safe技术。Random selection是一种unsafe的技术。

3.5 实证结果分析(RQ3)

3.5.2 评价指标

A systematic review on regression test selection techniques

  • 开销约减
  1. 测试用例约减
  2. 测试执行时间约减
  3. 测试用例选择时间
  4. 总时间(end-to-end time)
  5. 精度

其中测试用例约减这个指标用的最为频繁,为76%。

  • 错误检测效果
  1. 测试用例相关的检测效果
  2. 错误相关的检测效果

错误检测效果包括:

  1. 能检测到错误的测试用例能检测出多少(对应上面的1)
  2. 选择的测试用例能检测出多少已知的错误
  • Baseline选择
  1. Retest all

只有30%的研究同时评估了开销约减和错误检测能力。

3.6 技术对比(RQ4)

4. 讨论

5. 总结和未来工作

对于研究问题进行回答:
RQ1:本文评估了28个回归测试用例选择技术
RO2:这些技术可以根据以下标准分类:应用软件的类型和语言的类型;有关方法的细节,比如输入要求,选择的方法,变更的粒度等;还有选择方法是safe还是unsafe
RQ3:这些技术间实证结论各不相同,有时候是相反的
RQ4:hence there is no basis for selecting one superior technique.(不知怎么理解)技术选择依赖于特定的场景
【未来的工作】

  1. 专注于更一般化的回归测试概念而不是特定技术的变体
  2. 鼓励研究在不同上下文中系统化地复现
  3. 确定回归测试用例选择的实证评估应该如何报告

相关文章:

  • 2021-04-19
  • 2021-08-28
  • 2021-10-21
  • 2022-12-23
  • 2021-11-08
  • 2022-12-23
  • 2021-05-20
猜你喜欢
  • 2021-10-07
  • 2022-01-23
  • 2021-09-21
  • 2021-08-05
  • 2021-07-03
  • 2022-01-09
  • 2021-12-19
相关资源
相似解决方案