CN115658510A - 一种测试数据生成方法、装置、电子设备和存储介质 - Google Patents
一种测试数据生成方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115658510A CN115658510A CN202211323868.6A CN202211323868A CN115658510A CN 115658510 A CN115658510 A CN 115658510A CN 202211323868 A CN202211323868 A CN 202211323868A CN 115658510 A CN115658510 A CN 115658510A
- Authority
- CN
- China
- Prior art keywords
- data
- relation
- relationship
- data generation
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种测试数据生成方法、装置、电子设备和存储介质。其中,该方法包括:读取在待测应用系统的数据库表的样本数据,根据所述样本数据的数据特征确定数据生成规则,其中,所述数据特征至少包括数据类型和数据关系,根据所述数据生成规则在对应的所述数据库表生成测试数据。本发明实施例利用样本数据的数据特征自动化生成测试数据,可降低测试数据生成的复杂度,无需人工进行操作,降低了误操作风险,实现了测试数据批量生成,可提高测试数据的生成效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试数据生成方法、装置、电子设备和存储介质。
背景技术
随着大数据的飞速发展,涉及金融、互联网和电信等领域的应用系统变得越来越复杂,为确保应用系统的稳定性以及探究其性能瓶颈,应用系统需要在上线前进行压力测试。在做压测之前,需要在数据库表中造出百万级甚至千万级的数据来模拟应用系统运行一段时间后的数据库情况,然后再利用相关的压测工具来压测该系统。
目前诸如银行业务系统等应用系统的一个业务数据会分散在多个数据库表中,存在主/子关系或业务关联关系,因此银行业务系统在进行压测时,生成的测试数据要无限接近于实际用户操作产生的业务数据才能更好地测试,进而发现业务系统可能存在的问题。现有的测试数据生成工具,例如TestBytes,只能针对数据库表来孤立生成数据,即生成的测试数据不具备业务关系,这会导致实际业务的数据问题难以被发现,为了满足银行复杂业务和数据关联性,需要提前人工准备有关联关系的字段的数据集,这势必增加了测试数据生成的复杂度和人工误操作风险,同时数据生成效率较低。
发明内容
本发明提供了一种测试数据生成方法、装置、电子设备和存储介质,以解决现有测试数据生成方法中具有较高的数据生成复杂度和人工误操作风险,以及数据生成效率较低的问题。
根据本发明的一方面,提供了一种测试数据生成方法,其中,该方法包括:
读取在待测应用系统的数据库表的样本数据;
根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系;
根据数据生成规则在对应的数据库表生成测试数据。
根据本发明的另一方面,提供了一种测试数据生成装置,包括:
数据读取模块,用于读取在待测应用系统的数据库表的样本数据;
数据生成规则确定模块,用于根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系;
数据生成模块,用于根据数据生成规则在对应的数据库表生成测试数据。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的测试数据生成方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的测试数据生成方法。
本发明实施例的技术方案,通过读取在待测应用系统的数据库表的样本数据,根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系,根据数据生成规则在对应的数据库表生成测试数据。本发明实施例利用样本数据的数据特征自动化生成测试数据,可降低测试数据生成的复杂度,无需人工进行操作,降低了误操作风险,实现了测试数据批量生成,可提高测试数据的生成效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种测试数据生成方法的流程图;
图2是根据本发明实施例二提供的一种测试数据生成方法的流程图;
图3是本发明实施例二中的一种按照预设数据关系权重筛选第三数据关系的流程示意图;
图4是本发明实施例二中的一种将数据关系权重对应的第三数据关系剔除的流程示意图;
图5是根据本发明实施例三提供的一种测试数据生成方法的流程图;
图6是根据本发明实施例三所适用的测试数据生成装置的结构示意图;
图7是根据本发明实施例三所适用的数据源连接的装置界面截图;
图8是根据本发明实施例三所适用的技术元数据探测的装置界面截图;
图9是根据本发明实施例三所适用的业务元数据探测的装置界面截图;
图10是根据本发明实施例三所适用的数据关系解析的装置界面截图;
图11是根据本发明实施例三所适用的测试数据生成的装置界面截图;
图12是根据本发明实施例四提供的一种测试数据生成装置的结构示意图;
图13是实现本发明实施例的测试数据生成方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种测试数据生成方法的流程图,本实施例可适用于根据待测应用系统的样本数据自动化批量生成测试数据的情况,该方法可以由测试数据生成装置来执行,该测试数据生成装置可以采用硬件和/或软件的形式实现,该测试数据生成装置可配置于电子设备中。如图1所示,本实施例一提供的一种测试数据生成方法,具体包括如下步骤:
S110、读取在待测应用系统的数据库表的样本数据。
在本发明实施例中,待测应用系统可以理解为用于测试的业务系统,待测应用系统可以包括银行业务系统、通信业务系统和电子商务业务系统等。数据库表可以理解为待测应用系统包含的若干数据库中的数据表,数据库表的类型在此不做限制,例如可以包括Oracle数据库表、MySQL数据库表和DB2数据库表等。样本数据可以理解为用于测试数据生成的模板数据,样本数据的数据类型可以对应于待测应用系统的数据库表。
具体地,根据实际待测应用系统存储业务数据的数据库类型的不同,例如银行业务系统的业务数据通常存储在Oracle和MySQL等关系型数据库中,可以利用测试数据生成装置读取与该待测应用系统相关的所有数据库表中的样本数据,进一步地,针对不同类型的数据库,可以采取不同的样本数据获取方法,例如对于读取Oracle数据库表中的样本数据,可以采用全表扫描等方式读取数据库表中的样本数据。在一些实施例中,可以采用SELECT语句从银行业务系统的相关MySQL数据库表中读取到对应的样本数据,进一步地,样本数据可以从历史业务数据中获取,或者由测试人员进行若干次业务后获取,样本数据的具体获取方式可以根据实际需求进行获取,本发明实施例对此不进行限制。
S120、根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系。
在本发明实施例中,数据特征可以理解为样本数据的特征,数据特征可以包括数据类型和数据特征等。数据类型可以理解为样本数据的类型,数据类型可以包括以下至少之一:字段类型、字段长度、字段是否为空、外键约束。数据关系可以理解为样本数据之间存在的关系,数据关系可以包括业务关系和操作关系等。数据生成规则可以理解为用于生成测试数据的规则,数据生成规则可以包括利用样本数据之间的数据关系生成数据,以及测试人员根据待测应用系统的数据库表中的样本数据自定义的生成数据规则等。
具体地,在读取所有样本数据后,可以根据其包含的数据类型和数据关系等信息确定样本数据的数据特征,进而根据该数据特征确定对应的数据生成规则,示例性地,可以通过分析样本数据中有业务关联的字段即数据关系,再结合数据库表字段自身的定义即数据类型,确定可以生成具有数据关系的数据生成规则。在一些实施例中,可以通过分析样本数据,找出可以标识数据间业务关联的字段,再结合数据库表中对应的字段信息,进而确定能够得到符合业务关系的测试数据的数据生成规则。
S130、根据数据生成规则在对应的数据库表生成测试数据。
在本发明实施例中,测试数据可以理解为根据数据生成规则随机生成的数据。
具体地,可以根据数据生成规则在对应的数据库表的相应位置,随机生成符合规则的测试数据,示例性地,可以根据数据生成规则中的具有数据关系的字段之间的数据生成比例,在数据库表的相应位置随机生成具有相同比例的测试数据。在一些实施例中,可以根据数据生成规则中的具有业务关系的数据库表的字段值比例,并结合测试人员指定的数据生成量,在对应的数据库表中随机生成符合业务关系的测试数据。
本发明实施例的技术方案,通过读取在待测应用系统的数据库表的样本数据,根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系,根据数据生成规则在对应的数据库表生成测试数据。本发明实施例利用样本数据的数据特征自动化生成测试数据,可降低测试数据生成的复杂度,无需人工进行操作,降低了误操作风险,实现了测试数据批量生成,可提高测试数据的生成效率。
实施例二
图2为本发明实施例二提供的一种测试数据生成方法的流程图,基于上述实施方式进一步进行优化与扩展,并可以与上述实施方式中各个可选技术方案结合。如图2所示,本实施例二提供的一种测试数据生成方法,具体包括如下步骤:
S210、读取样本数据中的技术元数据并作为第一数据关系。
在本发明实施例中,技术元数据可以理解为数据类型的进一步限定,技术元数据可以包括以下至少之一:字段类型、字段长度、字段是否为空、外键约束。
第一数据关系可以理解为由技术元数据相关的表及字段信息构成的数据关系,第一数据关系可以对应于样本数据中的技术元数据。
具体地,可以利用Oracle数据库表或者MySQL数据库中相关的SELECT语句,读取样本数据中的技术元数据,其中,技术元数据可以包括字段类型、字段长度、字段是否为空和外键约束等信息,并将技术元数据包含的表及字段信息作为第一数据关系。
S220、提取样本数据中的字段关系并确定为第二数据关系。
在本发明实施例中,字段关系可以理解为技术元数据中包含的字段之间的关系,字段关系可以包括字段值相同和字段值相似度符合某个预设阈值等。第二数据关系可以理解为由样本数据的字段关系构成的数据关系,第二数据关系可以对应于样本数据的字段关系。
具体地,可以通过比对不同数据库表中的数据字段值,将字段值相同或者字段值的相似度满足某个预设阈值(例如大于80%)的字段筛选出来,并构成表及字段的第二数据关系。在一些实施例,可以利用各种数据库数据匹配方法比对不同数据库表中的数据字段值,并通过字段值相同的字段形成表及字段的第二数据关系。
S230、按照第二数据关系将第一数据关系内对应技术元数据进行连接以生成第三数据关系。
在本发明实施例中,第三数据关系可以理解为由第一数据关系和第二数据关系合并后的数据关系,第二数据关系可以对应于第一数据关系和第二数据关系。
具体地,可以根据第一数据关系中的技术元数据例如表及字段信息,与具有字段关系的第二数据关系进行合并连接,进而得到第三数据关系。
S240、按照预设数据关系权重筛选第三数据关系。
在本发明实施例中,预设数据关系权重可以理解为用于确定满足第三数据关系的权重比例,预设数据关系权重可以包括不同数据库表中相同字段对应的字段值的相似度,以及不同数据库表中字段信息的平均相似度等。
具体地,可以按照预设数据关系权重,对第三数据关系进行筛选,示例性地,可以将不同数据库表中相同字段对应的字段值相似度作为第三数据关系重筛选的标准,当字段值相似度满足预设数据关系权重时,则保留对应的第三数据关系,若不满足,则将该关系从第三数据关系中剔除。
进一步地,图3为本发明实施例二提供的一种按照预设数据关系权重筛选第三数据关系的流程示意图,如图3所示,具体包括如下步骤:
S241、在至少两个数据库表提取第三数据关系对应的目标数据库表字段。
在本发明实施例中,目标数据库表字段可以理解为满足第三数据关系的对应的数据库表字段。
具体地,可以根据合并后的第三数据关系,将满足该数据关系的所有数据库表字段提取出来。
S242、将目标数据库表字段内目标样本数据的相似度作为第三数据关系的数据关系权重。
在本发明实施例中,目标样本数据的相似度可以理解为满足第三数据关系的数据库表字段内样本数据的相似度,目标样本数据的相似度可以包括具有相同字段的样本数据的相似度,以及具有其他相同预设字段信息的样本数据的相似度。数据关系权重可以理解为目标样本数据对应的相似度。
具体地,可以将目标数据库表字段内目标样本数据的相似度,例如可以将所有具有相同字段的所有目标数据库表内的目标样本数据所占比例,作为目标样本数据的相似度,并将其作为第三数据关系的数据关系权重。在一些实施例中,可以将所有具有相同字段的所有数据库表内的目标样本数据的相似度作为第三数据关系的数据关系权重,作为示例,若在表1中字段User_name对应的字段值有10个,在表2中相同字段User_name对应的字段值有6个,则可以认为目标样本数据的相似度为60%,即第三数据关系的数据关系权重为60%。
S243、若数据关系权重不满足预设数据关系权重,则将数据关系权重对应的第三数据关系剔除。
具体地,如果第三数据关系的数据关系权重不满足满足预设数据关系权重,例如S242中获取到的数据关系权重为40%,低于为50%的预设数据关系权重,则将该数据关系权重对应的第三数据关系剔除。
进一步地,图4为本发明实施例二提供的一种将数据关系权重对应的第三数据关系剔除的流程示意图,如图4所示,具体包括如下步骤:
S2431、判断是否存在与第三数据关系对应的预设关系规则。
在本发明实施例中,预设关系规则可以理解为由测试人员自定义的数据关系规则,预设关系规则可以包括测试人员认可的具有业务关系的第三数据关系,以及测试人员根据历史业务数据确定的业务关系等。
具体地,可以根据第三数据关系判断是否存在与其对应的预设关系规则,例如字段User_id和字段User_name,尽管二者字段名不同,各自对应的字段值也不一定相同,但是二者均在同一个公共数据库表(比如用户数据库表)中,因此可以认为二者之间存在业务关系,并可以将该关系作为预设关系规则。
S2432、若存在,则不剔除第三数据关系,若不存在,则剔除第三数据关系。
S250、生成筛选后的第三数据关系对应的数据生成规则。
具体地,可以根据重新筛选后的第三数据关系确定对应的数据生成规则,例如可以将具有业务关系的字段对应的字段值比例作为对应的数据生成规则。
S260、提取数据生成规则包括的数据生成字段、数据生成表和数据生成量。
在本发明实施例中,数据生成字段可以理解为具有业务关系的字段。数据生成表可以理解为具有业务关系的数据库表。数据生成量可以理解为测试人员自定义的测试数据的生成数量,数据生成量可以包括百万级别和千万级别等。
具体地,可以通过一些数据提取方法从数据生成规则中提取出用于下一步生成测试数据所需的数据生成字段、数据生成表和数据生成量。
S270、按照数据生成字段、数据生成表和数据生成量在数据库表随机生成测试数据。
具体地,按照提取出的数据生成字段、数据生成表和数据生成量,在数据库表的相应位置随机生成满足业务关系和数据置顶数据量的测试数据。
本发明实施例的技术方案,通过读取样本数据中的技术元数据并作为第一数据关系,提取样本数据中的字段关系并确定为第二数据关系,按照第二数据关系将第一数据关系内对应技术元数据进行连接以生成第三数据关系,按照预设数据关系权重筛选第三数据关系,生成筛选后的第三数据关系对应的数据生成规则,提取数据生成规则包括的数据生成字段、数据生成表和数据生成量,按照数据生成字段、数据生成表和数据生成量在数据库表随机生成测试数据。本发明实施例通过分析样本数据中存在业务关联的字段关系,再经过预设数据关系权重筛选后确定相应的数据生成规则,进而实现了自动化生成大量新的符合规则的有业务关系的数据,可降低测试数据生成的复杂度,无需人工进行操作,降低了误操作风险,实现了测试数据批量生成,可提高测试数据的生成效率。
实施例三
图5为本发明实施例三提供的一种测试数据生成方法的流程图。本实施例在上述实施例的基础上,提供了一种测试数据生成方法的一个实施方式,能够根据待测应用系统的样本数据自动化批量生成测试数据。图6为本发明实施例三所适用的关系型数据生成装置的结构示例图。该关系型数据生成装置包括技术元数据探测模块、业务元数据探测模块、数据关系规则解析器和数据生成器,其中,技术元数据探测装置,用于读取所有数据库中的表结构定义信息,并形成表及字段的第一层数据关系,表结构定义信息包括字段类型、字段长度、字段是否为空和外键约束等;业务元数据探测模块,用于读取所有数据库表中的样本数据,对比不同数据库表中的数据字段值,通过字段值相同的字段形成表及字段的第二层数据关系;数据关系规则解析器,用于将技术元数据业务元数据初步形成的数据关系合并,并判断该数据关系是否存在业务关系;数据生成器,用于根据解析出的数据关系规则,生成用户指定数据量的新数据。
如图5所示,本发明实施例三提供的一种测试数据生成方法,具体包括如下步骤:
S310、测试人员将待测业务系统使用到的数据库地址、账号密码等连接用的配置信息输入到关系型数据生成装置中,使该装置可以远程连接上所有相关的数据库。图7示出了本发明实施例三所适用的数据源连接的装置界面截图。
S320、利用技术元数据探测模块读取所有数据库中的表及字段信息,形成第一层数据关系。图8示出了本发明实施例三所适用的技术元数据探测的装置界面截图。
S330、测试人员正常完成几次业务,使数据库表中生成业务数据并作为样本数据。
S340、业务元数据探测模块读取数据库表中的样本数据,比对不同表中的数据字段值,通过值相同的字段形成表及字段的第二层数据关系。图9示出了本发明实施例三所适用的业务元数据探测的装置界面截图。
S350、利用数据关系规则解析器将技术元数据和业务元数据初步形成的数据关系合并。
具体地,如果业务数据关系权重低于默认的权重比例且没有其他规则,则此数据关系无效;如果业务数据关系权重低于默认的权重比例,但自定义规则明确关系成立,则此数据关系仍有效。图10示出了本发明实施例三所适用的数据关系解析的装置界面截图。
S360、利用数据生成器根据解析出的数据关系规则,生成测试人员指定数据量的新数据,作为业务测试数据,然后批量导入到各数据库对应的表中。图11示出了本发明实施例三所适用的测试数据生成的装置界面截图。
本发明实施例的技术方案,通过测试人员将待测业务系统使用到的数据库地址、账号密码等连接用的配置信息输入到关系型数据生成装置中,使该装置可以远程连接上所有相关的数据库,利用技术元数据探测模块读取所有数据库中的表及字段信息,形成第一层数据关系,测试人员正常完成几次业务,使数据库表中生成业务数据并作为样本数据,业务元数据探测模块读取数据库表中的样本数据,比对不同表中的数据字段值,通过值相同的字段形成表及字段的第二层数据关系,利用数据关系规则解析器将技术元数据和业务元数据初步形成的数据关系合并,利用数据生成器根据解析出的数据关系规则,生成测试人员指定数据量的新数据,作为业务测试数据,然后批量导入到各数据库对应的表中。本发明实施例通过分析业务数据来自动寻找能标识数据间业务关联的字段即业务元数据,再结合表字段自身的定义即技术元数据,进而自动化生成大量新的符合规则的有业务关系的数据,可降低测试数据生成的复杂度,无需人工进行操作,降低了误操作风险,实现了测试数据批量生成,可提高测试数据的生成效率。
实施例四
图12为本发明实施例四提供的一种测试数据生成装置的结构示意图。如图12所示,该装置包括:
数据读取模块41,用于读取在待测应用系统的数据库表的样本数据。
数据生成规则确定模块42,用于根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系。
数据生成模块43,用于根据数据生成规则在对应的数据库表生成测试数据。
本发明实施例的技术方案,通过数据读取模块读取在待测应用系统的数据库表的样本数据,数据生成规则确定模块根据样本数据的数据特征确定数据生成规则,其中,数据特征至少包括数据类型和数据关系,数据生成模块根据数据生成规则在对应的数据库表生成测试数据。本发明实施例利用样本数据的数据特征自动化生成测试数据,可降低测试数据生成的复杂度,无需人工进行操作,降低了误操作风险,实现了测试数据批量生成,可提高测试数据的生成效率。
进一步地,在上述发明实施例的基础上,数据读取模块41包括:
第一数据关系读取单元,用于读取样本数据中的技术元数据并作为第一数据关系。
第二数据关系提取单元,用于提取样本数据中的字段关系并确定为第二数据关系。
进一步地,在上述发明实施例的基础上,数据生成规则确定模块42包括:
第三数据关系生成单元,用于按照第二数据关系将第一数据关系内对应技术元数据进行连接以生成第三数据关系。
第三数据关系筛选单元,用于按照预设数据关系权重筛选第三数据关系。
数据生成规则生成单元,用于生成筛选后的第三数据关系对应的数据生成规则。
进一步地,第三数据关系筛选单元,还可以包括:
字段提取子单元,用于在至少两个数据库表提取第三数据关系对应的目标数据库表字段。
数据关系权重确定子单元,用于将目标数据库表字段内目标样本数据的相似度作为第三数据关系的数据关系权重。
第三数据关系剔除子单元,用于若数据关系权重不满足预设数据关系权重,则将数据关系权重对应的第三数据关系剔除。
进一步地,第三数据关系剔除子单元具体用于:
判断是否存在与第三数据关系对应的预设关系规则;若存在,则不剔除第三数据关系,若不存在,则剔除第三数据关系。
进一步地,在上述发明实施例的基础上,数据生成模块43包括:
生成信息提取单元,用于提取数据生成规则包括的数据生成字段、数据生成表和数据生成量。
测试数据生成单元,用于按照数据生成字段、数据生成表和数据生成量在数据库表随机生成测试数据。
在一些实施例中,数据类型包括以下至少之一:
字段类型、字段长度、字段是否为空、外键约束。
本发明实施例所提供的测试数据生成装置可执行本发明任意实施例所提供的测试数据生成方法,具备执行方法相应的功能模块和有益效果。
实施例五
图13示出了可以用来实施本发明的实施例的电子设备50的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图13所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、ROM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
电子设备50中的多个部件连接至I/O接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如测试数据生成方法。
在一些实施例中,测试数据生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM 53并由处理器51执行时,可以执行上文描述的测试数据生成方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行测试数据生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种测试数据生成方法,其特征在于,包括:
读取在待测应用系统的数据库表的样本数据;
根据所述样本数据的数据特征确定数据生成规则,其中,所述数据特征至少包括数据类型和数据关系;
根据所述数据生成规则在对应的所述数据库表生成测试数据。
2.根据权利要求1所述的方法,其特征在于,所述读取在待测应用系统的数据库表的样本数据,包括:
读取所述样本数据中的技术元数据并作为第一数据关系;
提取所述样本数据中的字段关系并确定为第二数据关系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述样本数据的数据特征确定数据生成规则,包括:
按照所述第二数据关系将所述第一数据关系内对应所述技术元数据进行连接以生成第三数据关系;
按照预设数据关系权重筛选所述第三数据关系;
生成筛选后的所述第三数据关系对应的所述数据生成规则。
4.根据权利要求3所述的方法,其特征在于,所述按照预设数据关系权重筛选所述第三数据关系,包括:
在至少两个所述数据库表提取所述第三数据关系对应的目标数据库表字段;
将所述目标数据库表字段内目标样本数据的相似度作为所述第三数据关系的数据关系权重;
若所述数据关系权重不满足所述预设数据关系权重,则将所述数据关系权重对应的所述第三数据关系剔除。
5.根据权利要求4所述方法,其特征在于,所述将所述数据关系权重对应的所述第三数据关系剔除,包括:
判断是否存在与所述第三数据关系对应的预设关系规则;
若存在,则不剔除所述第三数据关系,若不存在,则剔除所述第三数据关系。
6.根据权利要求1所述方法,其特征在于,所述根据所述数据生成规则在对应的所述数据库表生成测试数据,包括:
提取所述数据生成规则包括的数据生成字段、数据生成表和数据生成量;
按照所述数据生成字段、所述数据生成表和所述数据生成量在所述数据库表随机生成所述测试数据。
7.根据权利要求1-6中任一所述的方法,其特征在于,所述数据类型包括以下至少之一:
字段类型、字段长度、字段是否为空、外键约束。
8.一种测试数据生成装置,其特征在于,包括:
数据读取模块,用于读取在待测应用系统的数据库表的样本数据;
数据生成规则确定模块,用于根据所述样本数据的数据特征确定数据生成规则,其中,所述数据特征至少包括数据类型和数据关系;
数据生成模块,用于根据所述数据生成规则在对应的所述数据库表生成测试数据。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的测试数据生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的测试数据生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211323868.6A CN115658510A (zh) | 2022-10-27 | 2022-10-27 | 一种测试数据生成方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211323868.6A CN115658510A (zh) | 2022-10-27 | 2022-10-27 | 一种测试数据生成方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658510A true CN115658510A (zh) | 2023-01-31 |
Family
ID=84994043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211323868.6A Pending CN115658510A (zh) | 2022-10-27 | 2022-10-27 | 一种测试数据生成方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658510A (zh) |
-
2022
- 2022-10-27 CN CN202211323868.6A patent/CN115658510A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116167352A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115794744A (zh) | 一种日志展示方法、装置、设备和存储介质 | |
CN115344627A (zh) | 数据筛选方法、装置、电子设备及存储介质 | |
CN115658510A (zh) | 一种测试数据生成方法、装置、电子设备和存储介质 | |
CN114443802A (zh) | 一种接口文档处理方法、装置、电子设备和存储介质 | |
CN115511014B (zh) | 信息匹配方法、装置、设备及存储介质 | |
CN116629620B (zh) | 一种风险等级确定方法、装置、电子设备及存储介质 | |
CN116467198A (zh) | 性能实测必要性确定方法、装置、电子设备和存储介质 | |
CN116340831B (zh) | 一种信息分类方法、装置、电子设备及存储介质 | |
CN115827743A (zh) | 一种审核方法、装置、设备及存储介质 | |
CN117370213A (zh) | 一种测试数据的生成方法、装置、电子设备及存储介质 | |
CN116150031A (zh) | 一种程序性能测试预警方法、装置、设备及存储介质 | |
CN115757928A (zh) | 数据查询方法、装置、电子设备和存储介质 | |
CN115757538A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN115617983A (zh) | 基于文本的缺陷分析方法、装置、电子设备及存储介质 | |
CN115392399A (zh) | 流程超时预测模型的训练和使用方法、装置、设备及介质 | |
CN115794830A (zh) | 数据值确定方法、装置、电子设备及存储介质 | |
CN117632734A (zh) | 一种数据库的性能测试方法、电子设备和存储介质 | |
CN117632617A (zh) | 确定混沌实验处置方式的方法、装置、设备及介质 | |
CN114580896A (zh) | 一种碳排放量数据分类方法、装置、电子设备及存储介质 | |
CN117764052A (zh) | 一种检验文本相似程度的方法、装置、设备及介质 | |
CN114840510A (zh) | 数据质量的校验方法、装置、设备、介质和程序产品 | |
CN115129538A (zh) | 一种事件处理方法、装置、设备及介质 | |
CN117611011A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN117670411A (zh) | 模型训练、流失预测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |