工作中如何构造测试数据

假装没事ソ 提交于 2020-12-12 21:45:19


在日常的测试工作中,大家是否会遇到类似的问题呢?

1、比如页面数据不够,翻页功能无法测试

2、页面某些功能暂时没有找到满足要求的数据

3、做数据分析的时候,需要用到大量的数据,而现有环境中数据量满足不了

......


怎么去解决数据的问题呢?



1)、基于GUI构造测试数据

好处:

1、不光是在造数据,本质上还是一次端到端的测试

2、没有过多技能要求,熟悉页面,能在页面进行操作就行

缺点:

1、创建数据的效率很低

2、创建数据依赖太多(依赖后台接口、测试环境和开发的支持)

3、基于 GUI 的测试数据创建方法不适合封装成测试数据工具 

4、造数据的成本高,稳定性差,依赖性太强




2)通过api调用(python的faker库,jmeter等方式)

优点:

1、生成的数据可靠

2、效率高

3、构造数据的脚本可以改成接口case

4、能跳过前台,不依赖于前端

缺点:

1、需要学习成本

2、需要整理接口

3、有个别的业务,需要用到接口之外的一些其他参数(可能有部分数据是前端处理之后传给接口的),处理起来非常麻烦



3)通过数据库(sql)生成测试数据  

优点:

1、效率比较高

缺点

1、整理数据库的关系非常困难,整理一个业务对应的所有sql很不容易


4)基于线上现有业务数据脱敏后导入测试环境

在涉及到大数据测试时,往往需要大量的数据用于验证逻辑,这个时候可以考虑将线上数据脱敏后,同步到测试环境的数据库中,同时也可以避免自己构造的数据数据考虑的场景不全面,导致漏测。


5)综合运用 API 和数据库的方式生成测试数据

基于 GUI 操作生成测试数据是最原始的方法,但是效率很低,而且会引入不必要的

依赖;通过 API 调用以及数据库操作的方式生成测试数据是目前主流的做法,通过 API 调

用的方式具有数据准确度高但是创建效率较低的特点,而通过数据库的方式具有创建效率高

但是维护复杂度也高的特点。



往期推荐

测试编程笔试题No.1-输入表格列的英文名称,返回其对应的数字序号

功能测试之"点点点"如何巧妙的获取页面查询sql

Python中使用for循环遍历操作时容易踩的坑

Fiddler Everywhere之AutoResponder功能详解

特定场景下才能复现的bug案例分享之--前端排序字段的锅



本文分享自微信公众号 - 小博测试成长之路(libotest)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!