本公开涉及数据处理、金融或其他相关领域,尤其涉及一种测试数据生成方法、装置、设备、介质和程序产品。
背景技术:
1、在测试过程中,经常遇到测试执行1分钟,但测试数据需要构造1小时的情况,以及为验证1个故障bug,需要构造10多张表的数据的情况。目前随着中台化、服务化的高速发展,服务端的设计越来越复杂,数据库的量级也激增,测试数据的构造就更加耗时耗力,亟需一个通用的测试数据生成方法来释放人力。
2、但相关技术中,生成测试数据的方法中存在创建测试数据的效率低、依赖较多、可用性差等问题。
技术实现思路
1、鉴于上述问题,本公开提供了一种测试数据生成方法、装置、设备、介质和程序产品。
2、根据本公开的第一个方面,提供了一种测试数据生成方法,包括:
3、读取目标数据表中的每个字段和与上述字段对应的字段信息;
4、根据字段规则和每个上述字段的字段类型,得到与上述字段对应的初始字段值,其中,上述字段信息包括上述字段类型;
5、基于字典规则,对上述字段中的字典字段的值重新赋值,得到与每个上述字典字段对应的字典值;
6、对每个上述字段中涉及逻辑规则的字段重新赋值,得到与每个上述字段对应的字段值;以及
7、根据每个上述字段和与上述字段对应的字段值,生成测试数据。
8、根据本公开的实施例,上述根据字段规则和每个上述字段的字段类型,得到与上述字段对应的初始字段值,包括:
9、针对每个上述字段,在上述字段的上述字段类型表征自增字段的情况下,过滤上述字段;
10、在上述字段的上述字段类型表征字符类型的情况下,根据上述字段的字符长度,确定与上述字段对应的初始字段值;
11、在上述字段的上述字段类型表征整型的情况下,根据上述字段的位数,确定与上述字段对应的初始字段值;
12、在上述字段的上述字段类型表征数值类型的情况下,对上述字段进行目标数值以内的加减,得到与上述字段对应的初始字段值;
13、在上述字段的上述字段类型表征日期字段的情况下,在上述字段的初始日期上进行日期的增加,得到与上述字段对应的初始字段值。
14、根据本公开的实施例,上述基于字典规则,对上述字段中的字典字段的值重新赋值,得到与每个上述字典字段对应的字典值,包括:
15、在上述字段表征上述字典字段的情况下,根据上述字典规则,确定与上述字典字段对应的字典值;以及
16、利用与上述字典字段对应的字典值,对与上述字典字段对应的初始字段值重新赋值,得到重新赋值后的字典值。
17、根据本公开的实施例,上述对每个上述字段中涉及逻辑规则的字段重新赋值,得到与每个上述字段对应的字段值,包括:
18、针对每个上述字段,在上述字段与关联字段存在大小关系的情况下,对上述字段的值重新赋值,得到与上述字段对应的字段值;
19、在上述字段存在业务含义的情况下,根据与上述字段对应的上述关联字段,对上述字段的值重新赋值,得到与上述字段对应的字段值。
20、根据本公开的实施例,上述根据每个上述字段和与上述字段对应的字段值,生成测试数据,包括:
21、根据每个上述字段、与上述字段对应的字段值和待构造的测试数据的数量,生成存过脚本;以及
22、执行上述存过脚本,生成上述测试数据。
23、根据本公开的实施例,上述执行上述存过脚本,生成上述测试数据,包括:
24、执行上述存过脚本,将生成的上述测试数据插入数据库中。
25、根据本公开的实施例,上述测试数据生成方法还包括:
26、将上述存过脚本保存至存过文件中;
27、将上述数据库中构造的上述测试数据删除。
28、本公开的第二方面提供了一种测试数据生成装置,包括:读取模块、第一获得模块、第二获得模块、第三获得模块和生成模块。其中,读取模块,用于读取目标数据表中的每个字段和与上述字段对应的字段信息。第一获得模块,用于根据字段规则和每个上述字段的字段类型,得到与上述字段对应的初始字段值,其中,上述字段信息包括上述字段类型。第二获得模块,用于基于字典规则,对上述字段中的字典字段的值重新赋值,得到与每个上述字典字段对应的字典值。第三获得模块,用于对每个上述字段中涉及逻辑规则的字段重新赋值,得到与每个上述字段对应的字段值。生成模块,用于根据每个上述字段和与上述字段对应的字段值,生成测试数据。
29、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
30、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
31、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
32、根据本公开提供的测试数据生成方法、装置、设备、介质和程序产品,通过字段规则,可以生成与字段对应的初始字段值,并基于字典规则,对字典字段重新赋值,得到字典值,再对涉及逻辑规则的字段重新赋值,从而可以得到与每个字段对应的字段值,使得可以根据字段和对应的字段值快速生成测试数据,一定程度上降低了测试人员投入数据构造的人力成本,提高了测试数据的效率,并且该方法通用灵活,适用于所有的项目和产品的同时定制化成程度较高。
1.一种测试数据生成方法,包括:
2.根据权利要求1所述的方法,其中,所述根据字段规则和每个所述字段的字段类型,得到与所述字段对应的初始字段值,包括:
3.根据权利要求1所述的方法,其中,所述基于字典规则,对所述字段中的字典字段的值重新赋值,得到与每个所述字典字段对应的字典值,包括:
4.根据权利要求1所述的方法,其中,所述对每个所述字段中涉及逻辑规则的字段重新赋值,得到与每个所述字段对应的字段值,包括:
5.根据权利要求1所述的方法,其中,所述根据每个所述字段和与所述字段对应的字段值,生成测试数据,包括:
6.根据权利要求5所述的方法,其中,所述执行所述存过脚本,生成所述测试数据,包括:
7.根据权利要求6所述的方法,还包括:
8.一种测试数据生成装置,包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。