One Test to Rule Them All-一种通过规范化减少语义复杂性从而简化用例集的方法

本文发表于 ISSTA 2017
原文PDF下载

简要

一种通过规范化减少语义复杂性从而简化用例集的方法

背景

软件测试中经常会编写大量冗余的用例,主要是因为:

  1. 难以准确识别和区分不同的故障
  2. 测试用例中可能存在大量的冗余信息(不同操作序列语义上可能是相同的)
  3. 无法区分测试用例中的数值是无关紧要的随机数,还是关键的输入值
    同时,对于复杂的软件系统,测试用例的长度可能很长,导致测试过程变得耗时且不可行.

论文内容

本文提出了一种规范化和泛化方法,其目的是找出一个函数f(t),其中t为测试用例

  • 如果t导致失败,则f(t)失败
  • 如果tt'是由于相同故障导致的失效,则f(t)=f(t')
  • 如果tt'是由于不同故障导致的失效,则f(t)≠f(t')

这样我们就能实现每个潜在故障都由单个测试唯一表示
但是这个函数实际上很难(精确的)实现,如果能(精确的)实现,则几乎能够实现故障自动定位和修复(软件测试领域的另一重大目标)

因此,本文的目标是通过提供一组简单的转换来接近目标:

  1. f将许多测试更改为同一测试
  2. f将两个因不同原因失败的测试更改为相同测试的概率很低
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值