CN111611174B - 一种测试数据的构造方法、装置、计算机设备及存储介质 - Google Patents
一种测试数据的构造方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111611174B CN111611174B CN202010469081.5A CN202010469081A CN111611174B CN 111611174 B CN111611174 B CN 111611174B CN 202010469081 A CN202010469081 A CN 202010469081A CN 111611174 B CN111611174 B CN 111611174B
- Authority
- CN
- China
- Prior art keywords
- data
- construction
- test data
- target
- template
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种测试数据的构造方法、装置、计算机设备及存储介质,其中,该方法包括:接收用户端发送的数据构造指令;数据构造指令中携带有待构造测试数据组及对应的模板标识信息;基于数据构造指令中携带的模板标识信息,为待构造测试数据组选取对应的数据构造模板;基于选取的数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对待构造测试数据组进行构造,得到构造后的测试数据组。采用上述方案无需人工编写测试数据,通过数据构造规则的预先配置实现了测试数据的自动构造,省时省力。
Description
技术领域
本公开涉及测试技术领域,具体而言,涉及一种测试数据的构造方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的飞速发展,大数据产品应运而生,而测试数据的生成则是决定大数据产品性能好坏的关键。
为了满足大数据产品的测试需求,可以根据预先构建的各种数据结构体中的属性来实现海量测试数据的构造。例如,针对一个包含姓名、性别、年龄等属性的用户这一数据结构体,可以基于上述属性的不同取值构造测试数据。
通常情况下,每次测试均需要人工编写测试数据。考虑到大数据产品中,一个数据结构体所包含的属性较为丰富,不同数据结构体所关注的属性可能并不相同,采用上述人工编写方式需要兼顾上述各种情形,这将导致数据构造的效率极为低下,进而无法满足大数据产品的测试需求。
发明内容
本公开至少提供一种测试数据的构造方案,无需人工编写测试数据,通过数据构造规则的预先配置实现了测试数据的自动构造,省时省力。
第一方面,本公开实施例提供了一种测试数据的构造方法,所述方法包括:
接收用户端发送的数据构造指令;所述数据构造指令中携带有待构造测试数据组及对应的模板标识信息;所述模板标识信息用于指示采用的数据构造模板,所述数据构造模板为所述用户端预先根据与所述待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
基于所述数据构造指令中携带的模板标识信息,为所述待构造测试数据组选取对应的数据构造模板;
基于选取的所述数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对所述待构造测试数据组进行构造,得到构造后的测试数据组。
在一种实施方式中,所述基于所述数据构造指令中携带的模板标识信息,为所述待构造测试数据组选取对应的数据构造模板,包括:
基于所述数据构造指令中携带的模板标识信息,从预先生成的模板数据库中查找与所述模板标识信息匹配的数据构造模板;
将查找到的所述数据构造模板确定为与所述待构造测试数据组对应的数据构造模板。
在一种实施方式中,按照以下步骤生成所述模板数据库:
响应用户端针对目标构造测试数据组发起的模板生成指令,针对所述目标构造测试数据组中的每个目标构造测试数据,确定该目标构造测试数据是否属于随机构造数据;若不属于随机构造数据,则指示用户输入一个测试数据值;若属于随机构造数据,则指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型;以及,确定各个所述目标构造测试数据之间的排列顺序;
针对不属于随机构造数据的目标构造测试数据,获取用户输入的测试数据值;针对属于随机构造数据的目标构造测试数据,获取用户从至少一个候选数据构造类型中选取的数据构造类型;
按照各个所述目标构造测试数据之间的排列顺序,将具有确定的数据构造类型的目标构造测试数据,和/或输入有测试数据值的目标构造测试数据进行组合,得到与所述目标构造测试数据组对应的数据构造模板,将该数据构造模板及该数据构造模板的模板标识信息存储至所述模板数据库。
在一种实施方式中,按照以下步骤确定与目标构造测试数据对应的至少一个候选数据构造类型:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据的基本数据类型;
基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,所述基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据在对应的目标构造测试数据组中的属性表征信息;
基于所述属性表征信息对该目标构造测试数据的基本数据类型所对应的基本数据长度进行限定,得到限定基本数据长度后的基本数据类型;
将限定基本数据长度后的基本数据类型确定为与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,所述基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,基于该目标构造测试数据的基本数据类型、以及所述用户端针对该目标构造测试数据确定的自定义类型构造信息,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,所述指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,确定其他客户端针对该目标构造测试数据提供的至少一个候选数据构造类型中每个候选数据构造类型的选取次数;
按照选取次数由大到小的顺序,展示与该目标构造测试数据对应的至少一个候选数据构造类型,以指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型。
在一种实施方式中,所述基于选取的所述数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对所述待构造测试数据组进行构造,得到构造后的测试数据组,包括:
基于选取的所述数据构造模板所包括的各个目标构造测试数据的数据构造规则及排列顺序,确定所述待构造测试数据组中每个待构造测试数据的数据构造规则及各个待构造测试数据之间的排列顺序;
针对所述待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值;
按照各个待构造测试数据之间的排列顺序,将针对每个待构造测试数据生成的测试数据值进行排列组合,得到构造后的测试数据组。
在一种实施方式中,所述针对所述待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值,包括:
针对所述待构造测试数据组中的每个待构造测试数据,基于各预设构造规则与各规则解释器之间的对应关系,确定与该待构造测试数据的数据构造规则所对应的规则解释器;
利用确定的所述规则解释器对该待构造测试数据的数据构造规则进行规则解释,得到可执行的数据类型;
通过执行所述可执行的数据类型,生成该待构造测试数据的测试数据值。
第二方面,本公开还提供了一种测试数据的构造装置,所述装置包括:
指令接收模块,用于接收用户端发送的数据构造指令;所述数据构造指令中携带有待构造测试数据组及对应的模板标识信息;所述模板标识信息用于指示采用的数据构造模板,所述数据构造模板为所述用户端预先根据与所述待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
模板选取模块,用于基于所述数据构造指令中携带的模板标识信息,为所述待构造测试数据组选取对应的数据构造模板;
数据构造模块,用于基于选取的所述数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对所述待构造测试数据组进行构造,得到构造后的测试数据组。
第三方面,本公开还提供了一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的测试数据的构造方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的测试数据的构造方法的步骤。
采用上述方案,其首先接收用户端发送的数据构造指令;所述数据构造指令中携带有待构造测试数据组及对应的模板标识信息,然后可以基于数据构造指令中携带的模板标识信息,为待构造测试数据组选取对应的数据构造模板,最后基于选取的数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对待构造测试数据组进行构造,得到构造后的测试数据组。上述方向响应数据构造指令之后,即可以自动选取与待构造测试数据组对应的数据构造模板,由于该数据构造模板是预先根据用户端的配置操作完成的,因此,可以在数据构造模板被选取之后,直接利用构造该数据构造模板的各个目标构造测试数据的数据构造规则及排列顺序对上述待构造测试数据组进行自动构造,避免了人工编写测试数据所存在的构造效率低下的问题,省时省力。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例一所提供的一种测试数据的构造方法的流程图;
图2示出了本公开实施例一所提供的一种测试数据的构造方法中,生成模板数据库具体方法的流程图;
图3示出了本公开实施例一所提供的一种测试数据的构造方法中,确定候选数据构造类型具体方法的流程图;
图4示出了本公开实施例一所提供的一种测试数据的构造方法中,生成测试数据组具体方法的流程图;
图5示出了本公开实施例一所提供的一种测试数据的构造方法中,生成测试数据组具体方法的流程图;
图6示出了本公开实施例一所提供的一种测试数据的构造方法的流程示意图;
图7示出了本公开实施例二所提供的一种测试数据的构造装置的示意图;
图8示出了本公开实施例三所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现通常情况下,每次测试均需要人工编写测试数据。考虑到大数据产品中,一个数据结构体所包含的属性较为丰富,不同数据结构体所关注的属性可能并不相同,采用上述人工编写方式需要兼顾上述各种情形,这将导致数据构造的效率极为低下,进而无法满足大数据产品的测试需求。
基于上述研究,本公开提供了至少一种测试数据的构造方案,无需人工编写测试数据,通过数据构造规则的预先配置实现了测试数据的自动构造,省时省力。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种测试数据的构造方法进行详细介绍,本公开实施例所提供的测试数据的构造方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该测试数据的构造方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面对本公开实施例提供的测试数据的构造方法加以说明。
实施例一
参见图1所示,为本公开实施例一提供的测试数据的构造方法的流程图,方法包括步骤S101~S103,其中:
S101、接收用户端发送的数据构造指令;数据构造指令中携带有待构造测试数据组及对应的模板标识信息;模板标识信息用于指示采用的数据构造模板,数据构造模板为用户端预先根据与待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
S102、基于数据构造指令中携带的模板标识信息,为待构造测试数据组选取对应的数据构造模板;
S103、基于选取的数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对待构造测试数据组进行构造,得到构造后的测试数据组。
这里,为了便于理解本公开实施例所提供的测试数据的构造方法,首先对该构造方法的应用场景进行简单说明。以大数据产品应用为例,需要构造适应大数据产品的海量测试数据,且构造的测试数据所涉及到的数据属性及类别各有不同,假如仍是按照人工编写测试数据的方式进行测试数据的构造,将对人工带来极大的挑战。正是为了解决上述各种问题,本公开实施例才提供了一种基于预先配置的数据构造规则来实现测试数据自动构造的方案,该方法可以在基于数据构造指令对应的数据构造模板被选取之后,直接利用构造该数据构造模板的各个目标构造测试数据的数据构造规则及排列顺序对上述待构造测试数据组进行自动构造,避免了人工编写测试数据所存在的构造效率低下的问题,省时省力。
本公开实施例中,基于构造后的测试数据组可以进行数据调用,还可以应用于接口测试中,也即,将构造的测试数据组输入至大数据产品中的特定接口中进行接口测试,以验证接口是否正常运行,除此之外,本公开实施例所构造的测试数据组还可以应用于其它应用场景中,本公开实施例对此不做具体的限制。
为了实现待构造测试数据组的构造,本公开实施例需要先基于接收到的数据构造指令中携带的模板标识信息基于预先生成的模板数据库为待构造测试数据中选取对应的数据构造模板,而后可以基于选取的数据构造模板所包括的目标构造数据组中各个目标构造测试数据的数据构造规则和排列顺序进行测试数据组的构造。
其中,上述数据构造指令可以是基于相关按钮的触发而生成的,也可以是在业务系统存在数据构造的需求后,自动触发生成的,例如,在一个用户管理业务系统需要进行用户这一数据结构体的构造时,自动触发生成数据构造指令。考虑到本公开实施例是基于预先生成的模板数据库实现的数据构造,因此,上述数据构造指令中可以携带有用于选取特定数据构造模板的模板标识信息以从模板数据库中提取对应的数据构造模板。
上述模板标识信息能够指示采用的是模板数据库中的哪个数据构造模板,而对于选中的数据构造模板而言,该数据构造模板是基于对目标构造测试数据组进行数据构造规则的配置后得到的,由于目标构造测试数据组所对应的模板标识与待构造测试数据组所对应的模板标识一致,因此,可以基于目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序来对待构造测试数据组进行一致性的构造,从而能够得到构造后的测试数据组,可见,本公开实施例提供的测试数据的构造方法依赖于预先配置的数据构造规则,基于该数据构造规则可以直接进行数据构造,且这一数据构造过程是可重复执行的,且由于仅通过据构造规则的调用即可以实现数据构造,而无需直接对构造的测试数据进行更改以实现各个测试数据的构造,从而进一步提升了测试数据构造的效率。
在进行待构造测试数据组的构造时,构造后的测试数据组可以是按照待构造测试数据组所对应选取的数据构造模板所包括的数据构造规则所构造完成的,除此之外,针对该数据构造模板中各个目标构造测试数据之间的排列顺序对待构造测试数据组所包括的各个待构造测试数据进行排列,即可以得到构造后的测试数据组。
为了便于理解上述测试数据的构造过程,接下来可以结合一个具体的示例进行说明。
为了构造用户这一待构造测试数据组,可以在确定该待构造测试数据组对应的模板标识信息为模板1的情况下,从预先生成的模板数据库中查找与模板1匹配的数据构造模板。这样,在确定与模板1匹配的数据构造模板中包括的目标构造测试数据组中各个目标构造测试数据分别为姓名、性别、年龄时,可以按照上述目标构造测试数据的数据构造规则构造待构造测试数据组中的各个待构造测试数据,且可以是按照上述姓名、性别、年龄的先后顺序进行各个待构造测试数据的构造,从而得到构造后的用户所对应的测试数据组。
本公开实施例中,在为待构造测试数据组选取对应的数据构造模板时,首先可以基于数据构造指令中携带的模板标识信息,从预先生成的模板数据中查找与上述模板标识信息匹配的数据构造模板,由于该数据构造模板是针对与待构造测试数据组对应的目标构造测试数据组预先配置生成的,因此,可以将上述查找到的数据构造模板确定为与待构造测试数据组对应的数据构造模板。
其中,上述模板数据库可以是基于用户端预先进行数据构造规则的配置而预先生成的,本公开实施例中,如图2所示,可以按照如下步骤生成模板数据库。
S201、响应用户端针对目标构造测试数据组发起的模板生成指令,针对目标构造测试数据组中的每个目标构造测试数据,确定该目标构造测试数据是否属于随机构造数据;若不属于随机构造数据,则指示用户输入一个测试数据值;若属于随机构造数据,则指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型;以及,确定各个目标构造测试数据之间的排列顺序;
S202、针对不属于随机构造数据的目标构造测试数据,获取用户输入的测试数据值;针对属于随机构造数据的目标构造测试数据,获取用户从至少一个候选数据构造类型中选取的数据构造类型;
S203、按照各个目标构造测试数据之间的排列顺序,将具有确定的数据构造类型的目标构造测试数据,和/或输入有测试数据值的目标构造测试数据进行组合,得到与目标构造测试数据组对应的数据构造模板,将该数据构造模板及该数据构造模板的模板标识信息存储至模板数据库。
这里,可以在响应用户端针对目标构造测试数据组发起的模板生成指令之后,针对该目标构造测试数据中的每个目标构造测试数据是否属于随机构造数据的判断结果实现对各个目标构造测试数据的数据构造规则的配置。
其中,在确定一个目标构造测试数据不属于随机数据时,即可以指示用户输入一个测试数据值,这样,一旦确定用户输入了测试数据值即可以按照这一配置实现该目标构造测试数据的构造;在确定一个目标构造测试数据属于随机数据时,即可以指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型,这样,一旦确定用户从至少一个候选数据构造类型中选取出据构造类型即可以按照这一配置实现该目标构造测试数据的构造。
在针对各个目标构造测试数据进行上述构造之后,即可以按照各个目标构造测试数据之间的排列顺序,将上述各个目标构造测试数据进行组合,以确定与目标构造测试数据组对应的数据构造模板。
值的说明的是,在确定与目标构造数据组对应的数据构造模板之后,即可以将构造得到的数据构造模板连带模板标识信息存储至模板数据中。有关模板数据库中存储的各个目标构造数据组,可以执行复制、删除等操作。
本公开实施例中,针对与目标构造测试数据组对应的数据构造模板而言,该数据构造模板不仅可以是仅包含测试数据值的目标构造测试数据,还可以是仅包括具有确定的数据构造类型的目标构造测试数据,还可以是既包含测试数据值又包含数据构造类型的目标构造测试数据,本公开实施例对此不做具体的限制,以适应更多应用场景的需求。
本公开实施例中,针对属于随机构造数据的目标构造测试数据,该目标构造测试数据对应的至少一个候选数据构造类型可以是基于目标构造测试数据的基本数据类型构造而成的。
为了实现有关目标构造测试数据组的数据构造,该目标构造测试数据组所包括的各个目标构造测试数据的数据类型可以是符合特定规范的,也即,可以支持基本数据类型下的类型构造,而不是随意设置数据类型。本公开实施例中,一方面可以按照属性表征信息进行类型构造,另一方面则可以基于自定义类型构造信息进行类型构造,接下来通过如下两个方面分别进行描述。
第一方面:如图3所示,本公开实施例可以按照如下步骤确定与该目标构造测试数据对应的至少一个候选数据构造类型:
S301、针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据在对应的目标构造测试数据组中的属性表征信息;
S302、基于属性表征信息对该目标构造测试数据的基本数据类型所对应的基本数据长度进行限定,得到限定基本数据长度后的基本数据类型;
S303、将限定基本数据长度后的基本数据类型确定为与该目标构造测试数据对应的至少一个候选数据构造类型。
这里,对于属于随机构造数据的目标构造测试数据而言,首先可以确定该目标构造测试数据在对应的目标构造测试数据中的属性表征信息,然后基于该属性表征信息可以对上述目标构造测试数据的基本数据类型所对应的基本数据长度进行限定,以得到限定长度后的基本数据类型。
这里,以用户这一目标构造测试数据组为例,与上述构建用户所对应的待构造测试数据组一致的是,这里的姓名、性别、年龄的基本数据类型可以分别对应字符串类型(string)、字符类型(char)、整数类型(int),考虑到在实际的业务需求中,用户所对应的姓名的长度是有限的,这时,对于姓名这一目标构造测试数据而言,可以基于其属性表征信息,对其基本数据类型——字符串类型进行限定,如限定到10位,也即可以将string(10)确定为与姓名这一目标构造测试数据对应的一个候选数据构造类型。同理,对于年龄这一目标构造测试数据而言,可以基于其属性表征信息,对其基本数据类型——整数类型进行限定,如限定到3位,也即可以将int(3)确定为与年龄这一目标构造测试数据对应的一个候选数据构造类型。
上述有关候选数据构造类型的确定仅为一些具体的示例,对于同一目标构造测试数据组中的不同目标构造测试数据而言,即使基本数据类型相同,但在目标构造测试数据组中的属性表征信息不同时,所最终构造的候选数据构造类型也可以不同,除此之外,对于不同目标构造测试数据中的同一目标构造测试数据而言,在基本数据类型相同,以及目标构造测试数据组中的属性表征信息相同的情况下,所最终构造的候选数据构造类型也可以相同。
在针对属于随机构造数据的目标构造测试数据确定对应的至少一个候选数据构造类型之后,若需要构造与该目标构造测试数据对应的待构造测试数据,即可以按照上述目标构造测试数据的数据构造规则随机生成与上述候选数据构造类型对应的测试数据。
第二方面:本公开实施例,针对属于随机构造数据的目标构造测试数据,基于该目标构造测试数据的基本数据类型、以及用户端针对该目标构造测试数据确定的自定义类型构造信息,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
其中,上述自定义类型构造数据可以是用户端针对目标构造测试数据所确定的。这里,仍以用户这一目标构造测试数据组为例,在进行用户的电话这一目标构造测试数据进行类型构造的过程中,可以适应于用户端的业务需求进行构造。这里,可以针对业务需求确定电话这一目标构造测试数据所对应的自定义类型构造信息,包括电话信息所对应的数据长度,所属运营商的字段等等均可以进行自定义的构造,例如,可以构造一个首字段为131、132、155、156的11位电话号码,也即,可以构造得到与电话这一目标构造测试数据对应的候选数据构造类型。
在针对属于随机构造数据的目标构造测试数据确定对应的至少一个候选数据构造类型之后,若需要构造与该目标构造测试数据对应的待构造测试数据,即可以基于上述有关目标构造测试数据的上述数据构造规则随机生成与上述候选数据构造类型对应的测试数据。
不管采用上述那种方式确定与目标构造测试数据对应的至少一个候选数据构造类型,在进行上述候选数据构造类型的展示时,均可以基于对候选数据构造类型的选取次数的排列顺序进行展示,如下步骤所示:
步骤一、针对属于随机构造数据的目标构造测试数据,确定其他客户端针对该目标构造测试数据提供的至少一个候选数据构造类型中每个候选数据构造类型的选取次数;
步骤二、按照选取次数由大到小的顺序,展示与该目标构造测试数据对应的至少一个候选数据构造类型,以指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型。
这里,本公开实施例针对属于随机构造数据的目标构造测试数据,首先可以确定其它客户端对该目标构造测试数据提供的至少一个候选数据构造类型中每个候选数据构造类型的选取次数,然后即可以基于选取次数由大到小的顺序进行对应候选数据构造类型的展示,由于这里的展示操作是基于多用户的历史选取行为习惯所确定的,因此,更有利用当前用户端的选取操作。
在具体应用的过程中,为了便于实现目标构造测试数据组的数据构造,在响应用户端所发起的模板生成指令之后,可以推送相应的模板生成界面,以便用户利用界面完成有关目标构造测试数据的数据构造。例如,可以基于系统自带的符合规范的schema格式来生成有关目标构造测试数据的数据构造模板。
其中,上述schema格式可以是固定格式的,也可以是非固定格式的。对于固定格式可以对应不属于随机构造数据的目标构造测试数据,对于非固定格式则可以对应属于随机构造数据的目标构造测试数据。在实际应用中,可以通过随机数据开关实现上述固定格式与非固定格式的选取,也即,在打开随机数据开关时,可以对应构造属于随机构造数据的目标构造测试数据,在关闭随机数据开关时,则可以对应构造不属于随机构造数据的目标构造测试数据。
这里,固定格式可以是已经设计好字段,这时需要用户指定一个测试数据值。不固定格式的则需要用户添加一个字段,包含名称、数据类型、描述信息,然后系统可以根据基本数据类型提供可使用的数据构造类型。如用户选择string类型,那么系统会根据string找到可支持的数据构造类型,在对应的测试数据列展示。
本公开实施例中,在选取了与待构造测试数据组所对应的模板标识信息所对应的数据构造模板之后,即可以基于选取的该数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序实现待构造测试数据组的构造。如图4所示,上述待构造测试数据组的构造过程具体包括如下步骤:
S401、基于选取的数据构造模板所包括的各个目标构造测试数据的数据构造规则及排列顺序,确定待构造测试数据组中每个待构造测试数据的数据构造规则及各个待构造测试数据之间的排列顺序;
S402、针对待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值;
S403、按照各个待构造测试数据之间的排列顺序,将针对每个待构造测试数据生成的测试数据值进行排列组合,得到构造后的测试数据组。
这里,首先可以基于选取的数据构造模板所包括的各个目标构造测试数据的数据构造规则及排列顺序,确定待构造测试数据组中每个待构造测试数据的数据构造规则及各个待构造测试数据之间的排列顺序,这样,针对每个待构造测试数据,均可以基于其数据构造规则生成对应该待构造测试数据的测试数据值,之后,即可以按照各个待构造测试数据之间的排列顺序,将针对每个待构造测试数据生成的测试数据值进行排列组合,即可得到构造后的测试数据组。
这里,仍以上述用户这一目标构造测试数据组为例,在确定其各个目标构造测试数据为姓名、年龄时,其所对应的数据构造类型分别为string(10)、int(3),这时,根据构造的数据构造类型可以对应生成的测试数据值分别为一个10位的字符串、以及一个3位的整数。其中,有关数据构造类型的相关定义,上述描述仅为一个具体的示例,在具体的应用中可以按照不同的用户需求进行调整,本公开实施例对此不做具体的限制。
考虑到上述有关数据构造规则是基于数据构造规则完成的,因此,生成待构造测试数据的测试数据值时,需要依赖于规则解释器的解释操作,如图5,上述生成测试数据值的过程可以包括如下步骤:
S501、针对待构造测试数据组中的每个待构造测试数据,基于各预设构造规则与各规则解释器之间的对应关系,确定与该待构造测试数据的数据构造规则所对应的规则解释器;
S502、利用确定的规则解释器对该待构造测试数据的数据构造规则进行规则解释,得到可执行的数据类型;
S503、通过执行可执行的数据类型,生成该待构造测试数据的测试数据值。
这里,首先可以基于各个预设构造规则与各个规则解释器之间的对应关系,确定与待构造测试数据组中的每个待构造测试数据的数据构造规则所对应的规则解释器,例如,针对string(10)而言,是解释成随机构造一个10位的字符串类型数据,还是解释成随机构造一个10位以内的字符串类型数据,还是解释成其它数据,本公开实施例可以基于不同的业务需求进行解释,这样,在针对每个待构造测试数据的数据构造规则进行解释之后,即可以得到可执行的数据类型,例如,确定string(10)是10位的字符串类型数据,此时,通过执行该可执行的数据类型,即可以随机生成一个10位的字符串,将该随机生成的字符串返回至用户端,即可进行构造好的该待测试数据的展示。
值得说明的是,在进行有关待测试数据组的构造的过程中,还可以基于上述提供的测试数据的构造方法实现有关嵌套的测试数据的构造,也即,针对一个待测试数据组的某一个待测试数据为一个数据组合的方式时,仍可以按照上述构造方法对该数据组合进行嵌套构造,在此不做赘述。
为了便于进一步理解本公开实施例提供的测试数据的构造方法,接下来结合图6进行示例说明。
如图6所示,本公开实施例提供的测试数据的构造方法包括两个关键环节,一个是有关数据模板(对应于上述数据构造模板)入库的过程,一个是有关获取到数据构造指令,进行指定待构造测试数据组的构造过程。
在进行数据构造模板入库的过程中,首先可以基于指定schema的方式或自定义schema的方式进行目标构造测试数据的数据构造,即可以针对该数据构造形式,确定是否包含随机数据,针对属于随机数据的目标构造测试数据,判断该数据是否属于自定义构造类型(对应于用户端针对该目标构造测试数据确定的自定义类型构造信息),若是,则将确定有自定义构造类型的数据存储至数据模板库,即数据模板数据库 (DataBase,DB),若否,则将系统提供的构造类型(对应于限定基本数据长度后的基本数据类型)也存储至数据模板DB;针对不属于随机数据的目标构造测试数据,确定固定值的数据模板(即确定输入有测试数据值的目标构造测试数据),也存储至对应的数据模板DB即可。
这样,在获取到数据构造指令之后,即可以从数据模板DB中提取出对应的数据构造模板,并将数据模板进行实例化数据组装,这里,可以分别将自定义构造类型生成对应的测试数据以及将系统的构造类型生成对应的测试数据,通过数据组装即可得到构造得到测试数据组。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与测试数据的构造方法对应的测试数据的构造装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述测试数据的构造方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
实施例二
参照图7所示,为本公开实施例二提供的一种测试数据的构造装置的示意图,装置包括:
指令接收模块701,用于接收用户端发送的数据构造指令;数据构造指令中携带有待构造测试数据组及对应的模板标识信息;模板标识信息用于指示采用的数据构造模板,数据构造模板为用户端预先根据与待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
模板选取模块702,用于基于数据构造指令中携带的模板标识信息,为待构造测试数据组选取对应的数据构造模板;
数据构造模块703,用于基于选取的数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对待构造测试数据组进行构造,得到构造后的测试数据组。
在一种实施方式中,模板选取模块702,用于按照以下步骤为待构造测试数据组选取对应的数据构造模板:
基于数据构造指令中携带的模板标识信息,从预先生成的模板数据库中查找与模板标识信息匹配的数据构造模板;
将查找到的数据构造模板确定为与待构造测试数据组对应的数据构造模板。
在一种实施方式中,模板选取模块702,用于按照以下步骤生成模板数据库:
响应用户端针对目标构造测试数据组发起的模板生成指令,针对目标构造测试数据组中的每个目标构造测试数据,确定该目标构造测试数据是否属于随机构造数据;若不属于随机构造数据,则指示用户输入一个测试数据值;若属于随机构造数据,则指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型;以及,确定各个目标构造测试数据之间的排列顺序;
针对不属于随机构造数据的目标构造测试数据,获取用户输入的测试数据值;针对属于随机构造数据的目标构造测试数据,获取用户从至少一个候选数据构造类型中选取的数据构造类型;
按照各个目标构造测试数据之间的排列顺序,将具有确定的数据构造类型的目标构造测试数据,和/或输入有测试数据值的目标构造测试数据进行组合,得到与目标构造测试数据组对应的数据构造模板,将该数据构造模板及该数据构造模板的模板标识信息存储至模板数据库。
在一种实施方式中,模板选取模块702,用于按照以下步骤确定与目标构造测试数据对应的至少一个候选数据构造类型:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据的基本数据类型;
基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,模板选取模块702,用于按照以下步骤确定与该目标构造测试数据对应的至少一个候选数据构造类型:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据在对应的目标构造测试数据组中的属性表征信息;
基于属性表征信息对该目标构造测试数据的基本数据类型所对应的基本数据长度进行限定,得到限定基本数据长度后的基本数据类型;
将限定基本数据长度后的基本数据类型确定为与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,模板选取模块702,用于按照以下步骤确定与该目标构造测试数据对应的至少一个候选数据构造类型:
针对属于随机构造数据的目标构造测试数据,基于该目标构造测试数据的基本数据类型、以及用户端针对该目标构造测试数据确定的自定义类型构造信息,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,模板选取模块702,用于按照以下步骤指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型:
针对属于随机构造数据的目标构造测试数据,确定其他客户端针对该目标构造测试数据提供的至少一个候选数据构造类型中每个候选数据构造类型的选取次数;
按照选取次数由大到小的顺序,展示与该目标构造测试数据对应的至少一个候选数据构造类型,以指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型。
在一种实施方式中,数据构造模块703,用于按照以下步骤对待构造测试数据组进行构造,得到构造后的测试数据组:
基于选取的数据构造模板所包括的各个目标构造测试数据的数据构造规则及排列顺序,确定待构造测试数据组中每个待构造测试数据的数据构造规则及各个待构造测试数据之间的排列顺序;
针对待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值;
按照各个待构造测试数据之间的排列顺序,将针对每个待构造测试数据生成的测试数据值进行排列组合,得到构造后的测试数据组。
在一种实施方式中,数据构造模块703,用于按照以下步骤生成该待构造测试数据的测试数据值:
针对待构造测试数据组中的每个待构造测试数据,基于各预设构造规则与各规则解释器之间的对应关系,确定与该待构造测试数据的数据构造规则所对应的规则解释器;
利用确定的规则解释器对该待构造测试数据的数据构造规则进行规则解释,得到可执行的数据类型;
通过执行可执行的数据类型,生成该待构造测试数据的测试数据值。
实施例三
本公开实施例三所提供了一种计算机设备,如图8所示,该计算机设备包括:处理器801、存储器802和总线803,存储器802存储有处理器801可执行的机器可读指令(比如图7中的测试数据的构造装置中指令接收模块701、模板选取模块702、以及数据构造模块703对应的执行指令等),当计算机设备运行时,处理器801与存储器802之间通过总线803通信,机器可读指令被处理器801执行时执行如下处理:
接收用户端发送的数据构造指令;数据构造指令中携带有待构造测试数据组及对应的模板标识信息;模板标识信息用于指示采用的数据构造模板,数据构造模板为用户端预先根据与待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
基于数据构造指令中携带的模板标识信息,为待构造测试数据组选取对应的数据构造模板;
基于选取的数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对待构造测试数据组进行构造,得到构造后的测试数据组。
在一种实施方式中,上述处理器801执行的指令中,基于数据构造指令中携带的模板标识信息,为待构造测试数据组选取对应的数据构造模板,包括:
基于数据构造指令中携带的模板标识信息,从预先生成的模板数据库中查找与模板标识信息匹配的数据构造模板;
将查找到的数据构造模板确定为与待构造测试数据组对应的数据构造模板。
在一种实施方式中,上述处理器801执行的指令中,按照以下步骤生成模板数据库:
响应用户端针对目标构造测试数据组发起的模板生成指令,针对目标构造测试数据组中的每个目标构造测试数据,确定该目标构造测试数据是否属于随机构造数据;若不属于随机构造数据,则指示用户输入一个测试数据值;若属于随机构造数据,则指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型;以及,确定各个目标构造测试数据之间的排列顺序;
针对不属于随机构造数据的目标构造测试数据,获取用户输入的测试数据值;针对属于随机构造数据的目标构造测试数据,获取用户从至少一个候选数据构造类型中选取的数据构造类型;
按照各个目标构造测试数据之间的排列顺序,将具有确定的数据构造类型的目标构造测试数据,和/或输入有测试数据值的目标构造测试数据进行组合,得到与目标构造测试数据组对应的数据构造模板,将该数据构造模板及该数据构造模板的模板标识信息存储至模板数据库。
在一种实施方式中,上述处理器801执行的指令中,按照以下步骤确定与目标构造测试数据对应的至少一个候选数据构造类型:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据的基本数据类型;
基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,上述处理器801执行的指令中,基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据在对应的目标构造测试数据组中的属性表征信息;
基于属性表征信息对该目标构造测试数据的基本数据类型所对应的基本数据长度进行限定,得到限定基本数据长度后的基本数据类型;
将限定基本数据长度后的基本数据类型确定为与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,上述处理器801执行的指令中,基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,基于该目标构造测试数据的基本数据类型、以及用户端针对该目标构造测试数据确定的自定义类型构造信息,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
在一种实施方式中,上述处理器801执行的指令中,指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,确定其他客户端针对该目标构造测试数据提供的至少一个候选数据构造类型中每个候选数据构造类型的选取次数;
按照选取次数由大到小的顺序,展示与该目标构造测试数据对应的至少一个候选数据构造类型,以指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型。
在一种实施方式中,上述处理器801执行的指令中,基于选取的数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对待构造测试数据组进行构造,得到构造后的测试数据组,包括:
基于选取的数据构造模板所包括的各个目标构造测试数据的数据构造规则及排列顺序,确定待构造测试数据组中每个待构造测试数据的数据构造规则及各个待构造测试数据之间的排列顺序;
针对待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值;
按照各个待构造测试数据之间的排列顺序,将针对每个待构造测试数据生成的测试数据值进行排列组合,得到构造后的测试数据组。
在一种实施方式中,上述处理器801执行的指令中,针对待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值,包括:
针对待构造测试数据组中的每个待构造测试数据,基于各预设构造规则与各规则解释器之间的对应关系,确定与该待构造测试数据的数据构造规则所对应的规则解释器;
利用确定的规则解释器对该待构造测试数据的数据构造规则进行规则解释,得到可执行的数据类型;
通过执行可执行的数据类型,生成该待构造测试数据的测试数据值。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器801运行时执行上述方法实施例中所述的测试数据的构造方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的测试数据的构造方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的测试数据的构造方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种测试数据的构造方法,其特征在于,所述方法包括:
接收用户端发送的数据构造指令;所述数据构造指令中携带有待构造测试数据组及对应的模板标识信息;所述模板标识信息用于指示采用的数据构造模板,所述数据构造模板为所述用户端预先根据与所述待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
基于所述数据构造指令中携带的模板标识信息,从预先生成的模板数据库中查找与所述模板标识信息匹配的数据构造模板,将查找到的所述数据构造模板确定为与所述待构造测试数据组对应的数据构造模板;
基于所述数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对所述待构造测试数据组进行构造,得到构造后的测试数据组;
所述模板数据库通过以下步骤生成:
响应用户端针对所述目标构造测试数据组发起的模板生成指令,针对所述目标构造测试数据组中的每个目标构造测试数据,确定该目标构造测试数据是否属于随机构造数据;若不属于随机构造数据,则指示用户输入一个测试数据值;若属于随机构造数据,则指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型;以及,确定各个所述目标构造测试数据之间的排列顺序;
针对不属于随机构造数据的目标构造测试数据,获取用户输入的测试数据值;针对属于随机构造数据的目标构造测试数据,获取用户从至少一个候选数据构造类型中选取的数据构造类型;
按照各个所述目标构造测试数据之间的排列顺序,将具有确定的数据构造类型的目标构造测试数据,和/或输入有测试数据值的目标构造测试数据进行组合,得到与所述目标构造测试数据组对应的数据构造模板,将所述数据构造模板及该数据构造模板的模板标识信息存储至所述模板数据库。
2.根据权利要求1所述的方法,其特征在于,按照以下步骤确定与目标构造测试数据对应的至少一个候选数据构造类型:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据的基本数据类型;
基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
3.根据权利要求2所述的方法,其特征在于,所述基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,确定该目标构造测试数据在对应的目标构造测试数据组中的属性表征信息;
基于所述属性表征信息对该目标构造测试数据的基本数据类型所对应的基本数据长度进行限定,得到限定基本数据长度后的基本数据类型;
将限定基本数据长度后的基本数据类型确定为与该目标构造测试数据对应的至少一个候选数据构造类型。
4.根据权利要求2所述的方法,其特征在于,所述基于该目标构造测试数据的基本数据类型,确定与该目标构造测试数据对应的至少一个候选数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,基于该目标构造测试数据的基本数据类型以及所述用户端针对该目标构造测试数据确定的自定义类型构造信息,确定与该目标构造测试数据对应的至少一个候选数据构造类型。
5.根据权利要求1所述的方法,其特征在于,所述指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型,包括:
针对属于随机构造数据的目标构造测试数据,确定其他客户端针对该目标构造测试数据提供的至少一个候选数据构造类型中每个候选数据构造类型的选取次数;
按照选取次数由大到小的顺序,展示与该目标构造测试数据对应的至少一个候选数据构造类型,以指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型。
6.根据权利要求1~5任一所述的方法,其特征在于,所述基于所述数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对所述待构造测试数据组进行构造,得到构造后的测试数据组,包括:
基于所述数据构造模板所包括的各个目标构造测试数据的数据构造规则及排列顺序,确定所述待构造测试数据组中每个待构造测试数据的数据构造规则及各个待构造测试数据之间的排列顺序;
针对所述待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值;
按照各个待构造测试数据之间的排列顺序,将针对每个待构造测试数据生成的测试数据值进行排列组合,得到构造后的测试数据组。
7.根据权利要求6所述的方法,其特征在于,所述针对所述待构造测试数据组中的每个待构造测试数据,基于该待构造测试数据的数据构造规则,生成该待构造测试数据的测试数据值,包括:
针对所述待构造测试数据组中的每个待构造测试数据,基于各预设构造规则与各规则解释器之间的对应关系,确定与该待构造测试数据的数据构造规则所对应的规则解释器;
利用确定的所述规则解释器对该待构造测试数据的数据构造规则进行规则解释,得到可执行的数据类型;
通过执行所述可执行的数据类型,生成该待构造测试数据的测试数据值。
8.一种测试数据的构造装置,其特征在于,所述装置包括:
指令接收模块,用于接收用户端发送的数据构造指令;所述数据构造指令中携带有待构造测试数据组及对应的模板标识信息;所述模板标识信息用于指示采用的数据构造模板,所述数据构造模板为所述用户端预先根据与所述待构造测试数据组对应的目标构造测试数据组进行数据构造规则的配置得到的;
模板选取模块,用于基于所述数据构造指令中携带的模板标识信息,从预先生成的模板数据库中查找与所述模板标识信息匹配的数据构造模板,将查找到的所述数据构造模板确定为与所述待构造测试数据组对应的数据构造模板;
数据构造模块,用于基于所述数据构造模板所包括的目标构造测试数据组中各个目标构造测试数据的数据构造规则及排列顺序,对所述待构造测试数据组进行构造,得到构造后的测试数据组;
所述模板选取模块还用于:
响应用户端针对所述目标构造测试数据组发起的模板生成指令,针对所述目标构造测试数据组中的每个目标构造测试数据,确定该目标构造测试数据是否属于随机构造数据;若不属于随机构造数据,则指示用户输入一个测试数据值;若属于随机构造数据,则指示用户从与该目标构造测试数据对应的至少一个候选数据构造类型中选取数据构造类型;以及,确定各个所述目标构造测试数据之间的排列顺序;
针对不属于随机构造数据的目标构造测试数据,获取用户输入的测试数据值;针对属于随机构造数据的目标构造测试数据,获取用户从至少一个候选数据构造类型中选取的数据构造类型;
按照各个所述目标构造测试数据之间的排列顺序,将具有确定的数据构造类型的目标构造测试数据,和/或输入有测试数据值的目标构造测试数据进行组合,得到与所述目标构造测试数据组对应的数据构造模板,将所述数据构造模板及该数据构造模板的模板标识信息存储至所述模板数据库。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的测试数据的构造方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的测试数据的构造方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469081.5A CN111611174B (zh) | 2020-05-28 | 2020-05-28 | 一种测试数据的构造方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469081.5A CN111611174B (zh) | 2020-05-28 | 2020-05-28 | 一种测试数据的构造方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611174A CN111611174A (zh) | 2020-09-01 |
CN111611174B true CN111611174B (zh) | 2023-08-11 |
Family
ID=72201620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010469081.5A Active CN111611174B (zh) | 2020-05-28 | 2020-05-28 | 一种测试数据的构造方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611174B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199302A (zh) * | 2020-12-07 | 2021-01-08 | 望海康信(北京)科技股份公司 | 测试数据生成方法、系统及相应设备和存储介质 |
CN113986747A (zh) * | 2021-11-05 | 2022-01-28 | 京东科技信息技术有限公司 | 一种数据生成方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016081235A (ja) * | 2014-10-15 | 2016-05-16 | 日本電信電話株式会社 | 不等号誤りを検出する境界値テストデータ生成装置、方法及びプログラム |
CN106066828A (zh) * | 2016-05-30 | 2016-11-02 | 北京奇艺世纪科技有限公司 | 一种生成Protobuf格式测试数据的方法及装置 |
CN107844421A (zh) * | 2017-10-31 | 2018-03-27 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN108228441A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种应用程序评测报告的生成方法、装置以及评测报告 |
CN108776642A (zh) * | 2018-06-01 | 2018-11-09 | 平安普惠企业管理有限公司 | 测试报告生成方法、装置、计算机设备和存储介质 |
CN109522228A (zh) * | 2018-11-15 | 2019-03-26 | 深圳乐信软件技术有限公司 | 接口自动化测试数据构造方法、装置、平台及存储介质 |
CN109815122A (zh) * | 2018-12-15 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、电子设备及存储介质 |
CN109922063A (zh) * | 2019-03-05 | 2019-06-21 | 南方电网科学研究院有限责任公司 | 多功能电表通信协议模糊测试的污数据生成方法 |
CN110018829A (zh) * | 2019-04-01 | 2019-07-16 | 北京东方国信科技股份有限公司 | 提高pl/sql语言解释器执行效率的方法及装置 |
CN110837471A (zh) * | 2019-11-06 | 2020-02-25 | 中国农业银行股份有限公司 | 一种测试方法、装置、服务器及存储介质 |
CN111078545A (zh) * | 2019-12-05 | 2020-04-28 | 贝壳技术有限公司 | 测试数据自动生成方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862557B2 (en) * | 2009-12-23 | 2014-10-14 | Adi, Llc | System and method for rule-driven constraint-based generation of domain-specific data sets |
US10339485B2 (en) * | 2012-12-14 | 2019-07-02 | International Business Machines Corporation | Efficiently generating test cases |
US9529699B2 (en) * | 2013-06-11 | 2016-12-27 | Wipro Limited | System and method for test data generation and optimization for data driven testing |
CN106534356B (zh) * | 2016-12-12 | 2018-05-22 | 腾讯科技(深圳)有限公司 | 模板数据处理、请求模板数据、模板数据展示的方法和装置 |
-
2020
- 2020-05-28 CN CN202010469081.5A patent/CN111611174B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016081235A (ja) * | 2014-10-15 | 2016-05-16 | 日本電信電話株式会社 | 不等号誤りを検出する境界値テストデータ生成装置、方法及びプログラム |
CN106066828A (zh) * | 2016-05-30 | 2016-11-02 | 北京奇艺世纪科技有限公司 | 一种生成Protobuf格式测试数据的方法及装置 |
CN108228441A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种应用程序评测报告的生成方法、装置以及评测报告 |
CN107844421A (zh) * | 2017-10-31 | 2018-03-27 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN108776642A (zh) * | 2018-06-01 | 2018-11-09 | 平安普惠企业管理有限公司 | 测试报告生成方法、装置、计算机设备和存储介质 |
CN109522228A (zh) * | 2018-11-15 | 2019-03-26 | 深圳乐信软件技术有限公司 | 接口自动化测试数据构造方法、装置、平台及存储介质 |
CN109815122A (zh) * | 2018-12-15 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、电子设备及存储介质 |
CN109922063A (zh) * | 2019-03-05 | 2019-06-21 | 南方电网科学研究院有限责任公司 | 多功能电表通信协议模糊测试的污数据生成方法 |
CN110018829A (zh) * | 2019-04-01 | 2019-07-16 | 北京东方国信科技股份有限公司 | 提高pl/sql语言解释器执行效率的方法及装置 |
CN110837471A (zh) * | 2019-11-06 | 2020-02-25 | 中国农业银行股份有限公司 | 一种测试方法、装置、服务器及存储介质 |
CN111078545A (zh) * | 2019-12-05 | 2020-04-28 | 贝壳技术有限公司 | 测试数据自动生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘江红.EJB测试平台测试数据生成和管理子系统的设计与实现.信息科技辑.2007,(第03期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111611174A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590214B (zh) | 搜索关键词的推荐方法、装置及电子设备 | |
US10873900B2 (en) | Method for wireless fidelity connection and related products | |
CN106973384B (zh) | 一种无线保真Wi-Fi连接方法及移动终端 | |
CN111611174B (zh) | 一种测试数据的构造方法、装置、计算机设备及存储介质 | |
CN109542878B (zh) | 一种列表创建方法及装置 | |
CN111510909A (zh) | 通信模块配置处理方法、装置、计算机设备和存储介质 | |
CN104980887A (zh) | 蓝牙连接建立方法及智能终端 | |
CN109829073B (zh) | 一种图像搜索的方法及装置 | |
CN105187632A (zh) | 一种手机号码的确定方法及装置 | |
CN111352782A (zh) | 一种接口测试方法、装置、计算机设备及存储介质 | |
CN105100244B (zh) | 头像设置方法及装置 | |
CN110990008B (zh) | 更新页面的方法、装置、存储介质以及电子设备 | |
CN112379946A (zh) | 基于yaml的模板配置方法、装置及计算机设备 | |
US11323873B2 (en) | Method for wireless fidelity connection and related products | |
US11044766B2 (en) | Method for Wi-Fi connection and related products | |
CN109684196B (zh) | 一种测试方法及装置 | |
CN110620841B (zh) | 一种信息处理方法及多屏终端、计算机可读存储介质 | |
CN112668300B (zh) | 一种公式编辑方法、装置、计算机设备和存储介质 | |
CN106506805A (zh) | 联系人头像图片生成方法及装置 | |
CN111356169B (zh) | 移动终端试验装置及其测试用例提取方法 | |
CN106897312A (zh) | 应用程序搜索方法及装置 | |
CN112433798A (zh) | 一种基于模式切换的页面适配方法及装置 | |
CN111225005A (zh) | 推送内容生成方法、装置、电子设备及计算机存储介质 | |
CN113127692B (zh) | 一种数据存储结构、检索方法、数据存储方法及终端设备 | |
CN112883315A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201224 Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing Applicant after: Beijing volcano Engine Technology Co.,Ltd. Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |