测试难题:测试数据准备之创建测试数据的时机

以下内容是在阅读茹炳晟老师的《软件测试52讲》之后结合自己工作中遇到的问题的一些思考。


前言

上篇文章记录了测试数据准备的五种方法,这篇文章再记录一下测试数据准备的时机。
由于现在的公司迭代相对比较频繁,留给测试的时间比较少,因此,准备测试数据这种比较耗时的操作到底是放到提测前还是提测后,就成为了一个问题。

在测试工作中,我尝试了从一开始提测前准备所有数据,到之后提测后才开始准备数据,到现在先准备好基础数据,在提测后再在基础数据上构造一些测试需要的特殊场景。

也不知道这样的流程对不对,直到看到了茹炳晟老师在《软件测试52讲》中给出几个创建测试数据的概念后,才觉得找到了光的方向~

下面就记录一下学到的4个概念:on-the-fly(实时创建)、out-of-box(开箱即用)、死水数据、活水数据。


一、创建测试数据的时机

1.on-the-fly(实时创建)

on-the-fly是指实时创建测试数据,即在执行用例时,再根据用例需要创建测试数据。

优点:

  • 数据足够干净。实时生成的数据实时使用,数据不会受到其他操作的干扰;
  • 数据足够可靠。实时根据测试用例构造的数据,产生前提条件遗漏的情况相对比较少,更可靠;

缺点:

  • 耗时长。众所周知,创建测试数据本来就是一件耗费时间的事情,在纯手工创建的情况下更是如此。本来敏捷开发下的测试周期就很短了,再实时创建测试数据,实际测试的时间就很紧张了。
2. out-of-box(开箱即用)

out-of-box是指提前创建好测试数据,在提测后能达到开箱即用的效果。

优点:

  • 节约时间。在提测前创建好数据,直到提测后都保证不会受到干扰的情况下,提测后能马上通过创建好的数据进行测试,是能够节约测试时间。但前提是不会有其他人动你的数据…

缺点:

  • 可能存在脏数据。可能会有其他人不小心动到你的数据,使数据的状态或者其他信息发生改变,导致数据不能用;
  • 一些数据可能无法创建。当测试数据需要通过开发中的功能去创建时,就只能等到开发完成,至少接口完成后才能构建测试数据了;
3.综合on-the-fly和out-of-box

综合on-the-fly和out-of-box去创建测试数据,是指一部分测试数据实时创建,一部分测试数据提前创建。一般死水数据可以提前创建好,活水数据可以在测试时实时创建。

死水数据

死水数据是指对于要测试的需求或场景来说不需要前置条件的基础数据。
一般是商品、用户、用户角色这些一般构造为基础场景的数据。

活水数据

活水数据是指对于要测试的需求或场景来说需要设置前置条件的数据。

死水数据和活水数据是要根据测试需求去定义的。

比如,测试一个ATM机取款的需求,
在测试取款金额大于剩余余额的场景时,账户上不做要求,账户就是死水数据;
在测试同一个账户在不同身份的取款额度不同的场景时,账户又需要修改身份为普通、会员、白金会员等,此时的账户是活水数据;
比如,测试一个使用优惠券下单的需求,
在测试存在有效期内的优惠券能够默认使用的场景时,订单中的商品是什么不做要求,要使用的优惠券有在有效期内还是在有效期外的变化,所以此时订单是死水数据,优惠券是活水数据;
在测试优惠券为指定商品可用的场景时,订单中的商品有是指定商品和不是指定商品的要求,优惠券只要是指定商品可用的优惠券即可,所以此时订单是活水数据,优惠券是死水数据。


总结

这篇文章主要是记录学习到的四个关于测试数据的概念,on-the-fly(实时创建)、out-of-box(开箱即用)、死水数据、活水数据。确定了死水数据尽量提前准备、活水数据尽量实时创建的测试数据准备方案。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值