一种测试数据生成方法、装置、计算机设备和可读存储介质制造方法及图纸

技术编号:38254721 阅读:9 留言:0更新日期:2023-07-27 10:18
本发明专利技术提供一种测试数据生成方法,包括步骤:S1:获取业务逻辑模型所需的至少一个数据库表的表名信息;S2:通过所述表名信息,获取至少一个所述数据库表中的每一个所述数据库表的表结构信息、至少一个校验规则信息和测试数据单元文件数量信息;S3:针对每一个所述数据库表,执行如下步骤:S31,根据所述数据库表的所述表结构信息和每一个所述校验规则信息,生成与每一个所述校验规则信息一对一对应的至少一个测试数据,将至少一个所述测试数据存储为所述数据库表的一个测试数据单元文件;32:根据所述数据库表的所述测试数据单元文件数量信息,重复执行所述步骤S31,以为所述数据库表生成多个测试数据单元文件;S33:合并多个所述测试数据单元文件,以形成所述数据库表的测试数据聚合文件。本发明专利技术的测试数据生成方法具有高效、不遗漏校验规则、避免系统异常和配置灵活等有益的技术效果。灵活等有益的技术效果。灵活等有益的技术效果。

【技术实现步骤摘要】
一种测试数据生成方法、装置、计算机设备和可读存储介质


[0001]本专利技术总体上涉及电数字数据处理领域,具体来说,涉及一种测试数据生成方法、装置、计算机设备和可读存储介质。

技术介绍

[0002]软件测试是软件开发过程中的一个不可或缺的环节,是保障软件质量的有效手段。从测试内容上看,软件测试包括功能测试和压力测试等。功能测试通常是测试软件产品的所有特性和功能都符合规范和用户需求。压力测试通常是模拟软件实际应用的软硬件环境及用户使用过程的系统负荷,超大负荷地运行测试软件,以测试软件系统的可靠性和稳定性等。测试数据是软件测试的一个重要的方面。生成完备的测试数据是成功进行高质量软件功能测试和压力测试的关键。
[0003]随着计算机软硬件技术的发展和应用,涉及金融、保险、电子商务和社交网络等的业务应用系统也越来越庞大和复杂。一方面,这些业务应用系统通常需要几十个甚至几百个数据库表,而每一个数据库表会包括许多字段。根据业务逻辑的需要,几乎所有数据库表的若干字段都会有相应的规范或校验规则,这使校验规则的数量很庞大。在进行软件功能测试时,需要针对每一个校验规则设计和生成相应的测试数据。数量庞大的校验规则使得设计和生成测试数据的成为很大的负担。另一方面,在这些系统的实际应用中,每一个数据库表中的记录数量也可能会到达几千万条甚至更多,在进行软件压力测试时,也需要生成如此庞大数量的测试数据。
[0004]现有的测试数据的生成方法主要是通过人工每次生成单个测试数据或通过软件批量地生成测试数据。在人工方式中,测试人员每次输入期望的一个测试数据,然后利用命令或程序其插入数据库表中。这种人工的方式存在效率低,费时长,并且容易遗漏需要测试的校验规则的技术问题。在软件方式中,测试人员首先设置好测试数据的生成规则和生成数量,然后利用软件重复地进行测试数据的生成和数据库表的插入过程,进而获得所需数量的测试数据。这种软件的方式虽然可以生成大批量的测试数据,但仍至少如下问题:第一、这种方式通常仅针对单个数据库表生成测试数据,难以同时针对具有关联关系的多个数据库表同时生成测试数据;第二、由于针对每一个测试数据都需要执行数据表的插入过程,故当测试数据的数量达到一定级数时,会给系统带来很大的负担,容易造成内存溢出或其它系统异常。

技术实现思路

[0005]有鉴于此,本专利技术的实施例旨在提供一种测试数据生成方法、装置、计算机设备和计算机可读的存储介质,其能够解决现有技术中存在的上述部分或全部技术问题。
[0006]根据本专利技术的一个实施例,提供一种测试数据生成方法,包括:
[0007]S1:获取业务逻辑模型所需的至少一个数据库表的表名信息;
[0008]S2:通过所述表名信息,获取至少一个所述数据库表中的每一个所述数据库表的
表结构信息、至少一个校验规则信息和测试数据单元文件数量信息;
[0009]S3:针对每一个所述数据库表,执行如下步骤:
[0010]S31:根据所述数据库表的所述表结构信息和每一个所述校验规则信息,生成与每一个所述校验规则信息一对一对应的至少一个测试数据,将生成的至少一个所述测试数据存储为所述数据库表的一个测试数据单元文件;
[0011]S32:根据所述数据库表的所述测试数据单元文件数量信息,重复执行所述步骤S31,以为所述数据库表生成多个测试数据单元文件;
[0012]S33:合并多个所述测试数据单元文件,以形成所述数据库表的测试数据聚合文件。
[0013]根据本专利技术的又一个实施例,所述表名信息、所述表结构信息、所述校验规则信息和所述测试数据单元文件数量信息包含在配置文件中,通过读取所述配置文件信息获取所述表名信息、所述表结构信息、所述校验规则信息和所述测试数据单元文件数量信息。
[0014]可选择地,所述表名信息、所述表结构信息、所述校验规则信息和所述测试数据单元文件数量信息包含在同一个配置文件中。
[0015]可选择地,所述配置文件包括XLS格式文件。
[0016]可选择地,所述表名信息、所述表结构信息、所述校验规则信息和所述测试数据单元文件数量信息包含在同一个XLS格式的配置文件的不同的工作表中。
[0017]根据本专利技术的又一个实施例,所述数据库表的所述表结构信息包括所述数据库表的字段信息,所述字段信息包括字段名称、字段数据类型、字段长度,字段是否允许为空以及字段是否为关联外键等。
[0018]根据本专利技术的又一个实施例,至少一个所述数据库表中的每一个所述数据库表的所述测试数据单元文件数量信息为同一个值。
[0019]根据本专利技术的又一个实施例,至少一个所述数据库表中的每一个所述数据库表的所述测试数据单元文件数量信息具有各自的值。
[0020]根据本专利技术的又一个实施例,根据测试数据的需求数量和至少一个所述数据库表的校验规则的数量获取所述测试数据单元文件数量信息。
[0021]根据本专利技术的又一个实施例,根据测试数据的需求数量和至少一个所述数据库表的测试数据单元文件中的测试数据的数量获取所述测试数据单元文件数量信息。
[0022]根据本专利技术的又一个实施例,测试数据的需求数量表示所述业务逻辑模型所需的测试数据的总量,换句话说,所述测试数据的需求数量表示至少一个所述数据库表中的各个数据库表所需的测试数据的数量的总和。可选择地,至少一个所述数据库表的校验规则的数量表示至少一个所述数据库表中的各个所述数据库表的校验规则的数量的总和。可选择地,至少一个所述数据库表的测试数据单元文件中的测试数据的数量表示至少一个所述数据库表中的各个所述数据库表的单元测试文件中测试数据的数量的总和。
[0023]根据本专利技术的又一个实施例,所述测试数据的需求数量表示至少一个所述数据库中某一个所述数据库表所需的测试数据的数量。可选择地,至少一个所述数据库表的校验规则的数量表示至少一个所述数据库表中的某一个对应的所述数据库表的校验规则的数量。可选择地,至少一个所述数据库表的测试数据单元文件中的测试数据的数量表示至少一个所述数据库表中的某一个对应的所述数据库表的单元测试文件中测试数据的数量的
总和。
[0024]根据本专利技术的又一个实施例,所述测试数据的需求数量表示至少一个所述数据库中一部分所述数据库表所需的测试数据的数量的总和。可选择地,至少一个所述数据库表的校验规则的数量表示至少一个所述数据库表中的一部分对应的所述数据库表的校验规则的数量。可选择地,至少一个所述数据库表的测试数据单元文件中的测试数据的数量表示至少一个所述数据库表中的一部分对应的所述数据库表的单元测试文件中测试数据的数量的总和。
[0025]根据本专利技术的又一个实施例,所述校验规则信息包含相应的示例数据信息,所述示例数据信息包括字段的预设值、用于生成字段值的函数,用于生成字段值的数据源等中的至少一项。
[0026]可选择地,其中根据所述数据库表的所述表结构信息和每一个所述校验规则信息,生成与每一个所述校验规则信息一对一对应的至少一个测试数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试数据生成方法,其特征在于,包括步骤:S1:获取业务逻辑模型所需的至少一个数据库表的表名信息;S2:通过所述表名信息,获取至少一个所述数据库表中的每一个所述数据库表的表结构信息、至少一个校验规则信息和测试数据单元文件数量信息;S3:针对每一个所述数据库表,执行如下步骤:S31:根据所述数据库表的所述表结构信息和每一个所述校验规则信息,生成与每一个所述校验规则信息一对一对应的至少一个测试数据,将生成的至少一个所述测试数据存储为所述数据库表的一个测试数据单元文件;S32:根据所述数据库表的所述测试数据单元文件数量信息,重复执行所述步骤S31,以为所述数据库表生成多个测试数据单元文件;S33:合并多个所述测试数据单元文件,以形成所述数据库表的测试数据聚合文件。2.如权利要求1所述的测试数据生成方法,其特征在于,根据测试数据的需求数量和至少一个所述数据库表的校验规则的数量获取所述测试数据单元文件数量信息,或者,根据测试数据的需求数量和至少一个所述数据库表的测试数据单元文件中的测试数据的数量获取所述测试数据单元文件数量信息。3.如权利要求1所述的测试数据生成方法,其特征在于,所述校验规则信息仅包括用于生成反向的测试数据的校验规则信息,并且,步骤S3还包括步骤:S311:根据所述数据库表的所述表结构信息,生成至少一个所述数据库表的正向的测试数据,将生成的至少一个正向的测试数据存储到所述数据库表的所述测试数据单元文件中。4.如权利要求1所述的测试数据生成方法,其特征在于,其中步骤S2还包括获取每一个所述数据库表在至少一个所述数据库表中的排序信息,并根据所述排序信息的先后顺序,针对每一个所述数据库表执行所述步骤S3。5.如权利要求4所述的测试数据生成方法,其特征在于,其中所述表名信息、所述排序信息、所述表结构信息、所述校验规则信息和测试数据单元文件数量信息包含在同一个配置文件中。6.如权利要求1

5所述的任一种测试数据生成方法,其特征在于,每一个所述数据库表的所述测试数...

【专利技术属性】
技术研发人员:赵孟全
申请(专利权)人:北京宏远贵德科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1