在日常的软件测试工作中,大家是否会遇到类似的问题呢?
1、比如页面数据不够,翻页功能无法测试;
2、页面某些功能暂时没有找到满足要求的数据;
3、做数据分析的时候,需要用到大量的数据,而现有环境中数据量满足不了;
......
怎么去解决数据的问题呢?
1、基于GUI构造测试数据
好处:
①不光是在造数据,本质上还是一次端到端的测试;
②没有过多技能要求,熟悉页面,能在页面进行操作就行;
缺点:
①创建数据的效率很低;
②创建数据依赖太多(依赖后台接口、测试环境和开发的支持);
③基于 GUI 的测试数据创建方法不适合封装成测试数据工具;
④造数据的成本高,稳定性差,依赖性太强;
2、通过api调用(python的faker库,jmeter等方式)
优点:
①生成的数据可靠;
②效率高;
③构造数据的脚本可以改成接口case;
④能跳过前台,不依赖于前端;
缺点:
①需要学习成本;
②需要整理接口;
③有个别的业务,需要用到接口之外的一些其他参数(可能有部分数据是前端处理之后传给接口的),处理起来非常麻烦;
3、通过数据库(sql)生成测试数据
优点:
①效率比较高;
缺点
①整理数据库的关系非常困难,整理一个业务对应的所有sql很不容易;
4、基于线上现有业务数据脱敏后导入测试环境
在涉及到大数据测试时,往往需要大量的数据用于验证逻辑,这个时候可以考虑将线上数据脱敏后,同步到测试环境的数据库中,同时也可以避免自己构造的数据数据考虑的场景不全面,导致漏测。
5、综合运用 API 和数据库的方式生成测试数据
基于 GUI 操作生成测试数据是最原始的方法,但是效率很低,而且会引入不必要的依赖;通过 API 调用以及数据库操作的方式生成测试数据是目前主流的做法,通过 API 调用的方式具有数据准确度高但是创建效率较低的特点,而通过数据库的方式具有创建效率高但是维护复杂度也高的特点。