-
测试人员为了测试某个特定场景,往往需要在测试环境数据库中插入特定的测试数据来满足需求;
-
性能测试时,常需要在测试环境生成大量可用测试数据来支持性能测试;
-
建设持续集成持续交付体系时,我们往往也需要在测试环境生成测试数据来保障自动化用例可以持续稳定的运行。
因此,如何在测试数据库批量生成大量可用的测试数据就成为了测试领域一个关键而难解决的问题,本文就来讲讲测试数据批量生成工具的一种实现方案。
测试数据生成的难点
测试数据生成主要难点大致可以归结为以下几个方面:
<1>编写大量的sql语句费事耗力。
<2>由于主键、外键和业务本身的逻辑约束,很难通过写sql一次性大批量插入测试数据,往往的情况是需要对sql的一些关键字段进行一些修改,如对id字段进行修改避免重复。
<3>造数sql脚本复用性差。
传统数据生成工具的问题
传统批量数据生成工具基本思路有两大类:
-
方式1
通过程序随机的生成测试数据,而实际的实现过程中,对随机的方式没有精准的控制,往往造成以下结果,导致工具无法满足实际需要:
<1>数据随机性太大,造出来的数据和真实数据差别太大。
<2>随机生成的数据往往存在大量不可用的脏数据。
<3>很难解决多表关联的数据生成。
<4>生成的数据往往无法满足特定场景的数据要求。
-
方式2
<