CN116501635A - 一种测试数据的批量生成方法、装置、设备及存储介质 - Google Patents
一种测试数据的批量生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116501635A CN116501635A CN202310467090.4A CN202310467090A CN116501635A CN 116501635 A CN116501635 A CN 116501635A CN 202310467090 A CN202310467090 A CN 202310467090A CN 116501635 A CN116501635 A CN 116501635A
- Authority
- CN
- China
- Prior art keywords
- test data
- data
- value
- target
- determining
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 255
- 238000000034 method Methods 0.000 title claims abstract description 50
- 125000004122 cyclic group Chemical group 0.000 claims description 31
- 238000010367 cloning Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种测试数据的批量生成方法、装置、设备及存储介质,可应用于金融领域或其他领域。该方法包括:获取用于测试的原始数据,在原始数据的键值前设置拓展位,得到目标源数据,确定待生成的测试数据的循环次数序列,根据目标源数据和所述循环次序列确定目标测试数据;其中目标测试数据为预设循环值对应的数据,将目标测试数据作为批量生成测试数据的结果。其中,通过在原始数据的键值前设置拓展位,并根据循环次数和目标源数据确定目标测试数据,最终实现批量生成测试数据,在保留原有测试数据的特性的基础上,生成不同的测试数据,既保证了关联性,又保证了测试数据的可靠性,且不需要依赖外设软件进行数据生成。
Description
技术领域
本申请涉及测试数据技术领域,特别是涉及一种测试数据的批量生成方法、装置、设备及存储介质。
背景技术
随着科学技术的发展,各种各样的系统丰富和方便了人们的生活。由于在系统的开发测试中需要大量的测试数据的支持,因此在现有技术中,通常利用第三方软件制作测试数据,以银行系统为例,第三方软件得到测试需要的交易数据之前,需要自动模拟交易界面并且执行交易流程才能得到测试所需的交易数据,这种方法在生成大量的测试数据时会耗费很多的时间,并且利用第三方软件生成测试数据时,由于自动模拟交易流程会存在不同的操作顺序或步骤,导致可能会破坏数据之间的关联性。
基于此,如何提高测试数据生成的效率,是本领域技术人员亟待解决的技术问题。
发明内容
基于上述问题,本申请提供了一种测试数据的批量生成方法、装置、设备及存储介质,以提高测试数据的生成效率。
本申请实施例公开了如下技术方案:
第一方面,本申请实施提供一种测试数据的批量生成方法,所述方法包括:
获取用于测试的原始数据;
在所述原始数据的键值前设置拓展位,得到目标源数据;
确定待生成的测试数据的循环次数序列;其中所述循环次数序列是由1到预设循环值的按照从小到大排列的正整数组成的循环次数序列;
根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据;
将所述目标测试数据作为批量生成测试数据的结果。
可选地,所述根据所述目标源数据和所述循环次序列确定目标测试数据,包括:
根据所述目标源数据和循环值为1确定第一测试数据;其中所述第一测试数据中包括所述目标源数据和对所述目标源数据克隆得到的数据;
根据所述第一测试数据和循环值为2确定第二测试数据;其中所述第二测试数据包括所述第一测试数据和对所述第一测试数据克隆得到的数据;
按照所述第二测试数据的确定过程,依次确定所述循环次数序列中的剩余循环值对应的测试数据;
将预设循环值对应的测试数据作为目标测试数据。
可选地,所述在所述原始数据的键值前设置拓展位,得到目标源数据,包括:
根据待批量生成的测试数据的数量确定所述拓展位的位数值;
在所述原始数据的键值前设置所述位数值的数量的拓展位。
可选地,所述根据待批量生成的测试数据的数量确定所述拓展位的位数值,通过以下公式得到:
x=floor(lg(n+1))
其中,x表示位数值,floor表示向上取整,n表示待批量生成的测试数据的数量。
可选地,所述在所述原始数据的键值前设置所述位数值的数量的拓展位,通过以下公式得到:
y=(10x)|原始数据
其中,x表示位数值,|表示字符串拼接。
可选地,所述根据所述目标源数据和循环值为1确定第一测试数据,包括:
根据循环值为1确定待生成的目标测试数据与目标源数据之间的第一键值差;
根据所述目标源数据、第一键值差和位数值确定第一测试数据。
可选地,所述根据循环值为1确定待生成的目标测试数据与目标源数据之间的第一键值差,通过以下公式得到:
d=2i-1
其中,d表示第一键值差,i表示第i次循环对应的次数。
可选地,所述根据所述目标源数据、第一键值差和位数值确定第一测试数据,通过以下公式得到:
y=(a+d)|原始数据的键值
其中,y表示输出结果,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示第一键值差,|表示字符串拼接,(10x+d)表示拓展位上的数值。
第二方面,本申请实施例提供一种测试数据的批量生成装置,所述装置包括:原始数据获取模块,目标源数据确定模块,循环次数序列确定模块,目标测试数据确定模块和测试数据批量生成模块;
所述原始数据获取模块,用于获取用于测试的原始数据;
所述目标源数据确定模块,用于在所述原始数据的键值前设置拓展位,得到目标源数据;
所述循环次数序列确定模块,用于确定待生成的测试数据的循环次数序列;其中所述循环次数序列是由1到预设循环值的按照从小到大排列的正整数组成的循环次数序列;
所述目标测试数据确定模块,用于根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据;
所述测试数据批量生成模块,用于将所述目标测试数据作为批量生成测试数据的结果。
第三方面,本申请实施例提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面所述的测试数据的批量生成方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面所述的测试数据的批量生成方法。
相较于现有技术,本申请具有以下有益效果:
本申请实施例通过获取用于测试的原始数据,在所述原始数据的键值前设置拓展位,得到目标源数据,确定待生成的测试数据的循环次数序列,根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据,将目标测试数据作为批量生成测试数据的结果。其中,通过在原始数据的键值前设置拓展位,并根据循环次数和目标源数据确定目标测试数据,最终实现批量生成测试数据,在保留原有测试数据的特性的基础上,生成不同的测试数据,既保证了关联性,又保证了测试数据的可靠性,且不需要依赖外设软件进行数据生成。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种测试数据的批量生成方法的流程图;
图2为本申请实施例提供的一种测试数据的批量生成方法的示意图;
图3为本申请实施例提供的一种测试数据的批量生成装置的结构示意图。
具体实施方式
正如前文描述,发明人在针对测试数据的研究中发现,在现有技术中,通常利用第三方软件制作测试数据,以银行系统为例,第三方软件得到测试需要的交易数据之前,需要自动模拟交易界面并且执行交易流程才能得到测试所需的交易数据,这种方法在生成大量的测试数据时会耗费很多的时间,并且利用第三方软件生成测试数据时,由于自动模拟交易流程会存在不同的操作顺序或步骤,导致可能会破坏数据之间的关联性。
为了解决上述问题,本申请实施例提供一种测试数据的批量生成方法。该方法包括:获取用于测试的原始数据,在所述原始数据的键值前设置拓展位,得到目标源数据,确定待生成的测试数据的循环次数序列,根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据,将目标测试数据作为批量生成测试数据的结果。
如此,其中,通过在原始数据的键值前设置拓展位,并根据循环次数和目标源数据确定目标测试数据,最终实现批量生成测试数据,在保留原有测试数据的特性的基础上,生成不同的测试数据,既保证了关联性,又保证了测试数据的可靠性,且不需要依赖外设软件进行数据生成。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种测试数据的批量生成方法的流程图,结合图1所示,本申请实施例提供的测试数据的批量生成方法,可以包括:
S101:获取用于测试的原始数据。
其中,原始数据是指用于测试的未经过处理的数据,是由常规交易或常规操作所产生的数据。
其中,需要理清相关测试涉及到的所有数据表、数据表之间关联性,需要对那些数据表进行铺底,哪些交易数据有关联,有何种关联,得到原始数据,并进行交易铺底数据,为后续生成目标源数据做准备。
其中,原始数据的条数可以为1条或多条,在此并不作具体限定。
S102:在所述原始数据的键值前设置拓展位,得到目标源数据。
其中,目标源数据中的数据条数可以为任意整数值,比如1,2,10,13等等,在此并不作具体限定。
作为一种可选的实施方式,步骤S102具体可以包括:
步骤11:根据待批量生成的测试数据的数量确定所述拓展位的位数值。作为一种可实现的实施方式,步骤11具体可以通过以下公式得到:
x=floor(lg(n+1))
其中,x表示位数值,floor表示向上取整,n表示待批量生成的测试数据的数量。
作为一种示例,以批量生成89组数据为例,那么由公式可得出拓展位的位数值应该为2。
步骤12:在所述原始数据的键值前设置所述位数值的数量的拓展位。
其中,通过在原始数据的键值前设置拓展位可以在后续生成测试数据时进行位拓展。
作为一种可实现的实施方式,在步骤11的基础上,步骤22,具体可以通过以下公式得到:
y=(10x)|原始数据
其中,x表示位数值,|表示字符串拼接,(10x)表示拓展位上的数值。
S103:确定待生成的测试数据的循环次数序列。
其中,所述循环次数序列是由1到预设循环值的按照从小到大排列的正整数组成的循环次数序列。
其中,循环次数序列对应的需要循环的次数,比如,数据需要循环3次,那么对应的循环次数序列应该包括1,2,3三个数值,分别代表循环第几次。
其中,通过设置循环次数序列可以保证后续在批量生成测试数据时不会循环错误。
S104:根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据。
作为一种可选的实施方式,步骤S104具体可以包括以下步骤一至三:
步骤一:根据所述目标源数据和循环值为1确定第一测试数据。
其中,所述第一测试数据中包括所述目标源数据和对所述目标源数据克隆得到的数据。
作为一种可实现的实施方式,步骤一具体可以包括:
步骤21:根据循环值为1确定待生成的目标测试数据与目标源数据之间的第一键值差。
作为一种可选的实施方式,步骤21中的键值差具体可以通过以下公式得到:
d=2i-1
其中,d表示第一键值差,i表示第i次循环对应的次数。
步骤22:根据所述目标源数据、第一键值差和位数值确定第一测试数据。
作为一种可选的实施方式,步骤22中确定第一测试数据,具体可以通过以下公式得到:
y=(a+d)|原始数据的键值
其中,y表示第一测试数据,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示第一键值差,|表示字符串拼接。其中所述字符串分隔符号仅用于区分前后字符的关系,实际场景下的测试数据中并不存在此字符串分隔符;(a+d)表示拓展位上的数值。
其中,目标源数据的条数可以为1条或多条,在此并不做具体限定。
其中,输入集表示输入的数据,当确定第一测试数据时,输入集表示目标源数据中的数据;当确定第n测试数据时,输入集表示第n-1测试数据中的数据。
其中,a表示输入集键值前x+1位的字符对应的数值大小,比如位数值为x=2,输入集为100111和101111,那么a就表示输入集中的前三位的字符对应的数值大小,即100111对应的100,101111对应的101。
其中,(a+d)表示拓展位上的数值,举例来说,位数值为x=2,输入集为100111和101111,第一键值差为2,那么(a+d)为102111(与100111对应),103111(与101111对应)。
作为一种可选的实施方式,如果是生成第二测试数据,那么上述公式可以为:
y=(a+d)|原始数据的键值
其中,y表示第二测试数据,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示第二键值差,|表示字符串拼接,例如000|111表示000111,(a+d)表示拓展位上的数值。
步骤二:根据所述第一测试数据和循环值为2确定第二测试数据。
其中,所述第二测试数据包括所述第一测试数据和对所述第一测试数据克隆得到的数据。
作为一种可实现的实施方式,在步骤22生成第一测试数据的基础上,步骤二具体可以包括:
步骤31:根据循环值为2确定待生成的目标测试数据与目标源数据之间的第二键值差。
步骤32:根据所述第一测试数据、第二键值差和位数值确定第二测试数据。
其中,第二测试数据的生成是在第一测试数据的基础上进行生成的,而不是使用目标源数据进行生成。
步骤三:按照所述第二测试数据的确定过程,依次确定所述循环次数序列中的剩余循环值对应的目标测试数据。
其中,在第一次循环中,输入的数据集为目标源数据,对应的输出数据集为第一测试数据,其中第一测试数据包括目标源数据和第一次克隆得到的数据,且目标源数据的数据大小与第一次克隆得到的数据的数据大小相同。
此后每一次循环输入的数据集为上一次的测试数据,也就是上一次循环中的输入数据集与克隆得到的数据的并集,对应的,该次循环得到的克隆得到的数据的数据大小与输入数据集大小相同,即与上一次循环的输出的测试数据的数据大小相同。
其中,作为一种可选的实施方式,根据上述步骤S104中的列举的一些具体实施方式,可以将上述涉及的公式表示为通式来得到每次循环对应的测试数据:
(1)d=2i-1;
其中,d表示前一次循环与本次循环之间的键值差,i表示循环次数表示第i次循环对应的次数。
(2)y=(a+d)|原始数据的键值
其中,y表示本次循环得到测试数据,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示前一次循环与本次循环之间的键值差,|表示字符串拼接,(a+d)表示拓展位上的数值。
其中,每次循环得到的数据都是上一次循环得到的数据的一倍,举例来说,比如目标源数据的数据条数为1,第3次循环得到的测试数据为8条,那么第4次循环得到的数据的条数为16条,n循环的测试数据为目标源数据条数×2n条,实现批量生成测试数据。
S105:将目标测试数据作为批量生成测试数据的结果。
其中,由于每次循环得到的目标测试数据都是基于前一个目标测试数据得到的(第一测试数据除外,第一测试数据是基于目标源数据得到的),所以最后一个循环值对应的目标测试数据就是最后批量生成的测试数据。
作为一种示例,假设循环次序列的预设值为1,那么只需要对目标源数据进行一次循环,得到第一将预设循环值对应的测试数据作为目标测试数据;若循环次序列的预设值为3,那么需要进行3次循环,根据目标源数据和循环值为1确定第一测试数据,根据第一测试数据和循环值为2确定第二测试数据,根据第二测试数据和循环值为2确定第三测试数据,将所述第三将预设循环值对应的测试数据作为目标测试数据。其中,根据不同的循环值,由循环值为1依次进行循环,用于循环的数据为前一循环得到的数据。
其中,步骤11~12、步骤21~22、步骤31~32的标号仅做为区分不同步骤或步骤的不同顺序,并未在附图中展示。
本申请实施例提供的测试数据的批量生成方法,通过在原始数据的键值前设置拓展位,并根据循环次数确定目标测试数据,依次进行循环,最终实现批量生成测试数据,在保留原有测试数据的特性的基础上,生成不同的测试数据,既保证了关联性,又保证了测试数据的可靠性,且不需要依赖外设软件进行数据生成。
基于上述实施例提供的测试数据的批量生成方法,本申请实施例另外提出一种测试数据的批量生成方法,参见图2,图2为本申请是实施例提供的一种测试数据的批量生成方法的示意图,结合图2所示,所述方法具体流程如下:
1、进行常规交易产生原始数据(两条),根据源数据进行数据克隆。
2、采用数据表键值位长度拓展,得到目标源数据。例如:由1组数据克隆成100组数据,数据表键值需预留3位拓展位,在键值前拼接上拓展位作为新键值。
位数值公式:x=floor(lg(n+1));
其中,x表示位数值,floor表示向上取整,n表示待批量生成的测试数据的数量。
键差值公式:d=2i-1;
其中,d表示第一键值差,i表示第i次循环对应的次数。
新的目标测试数据为:
y=(a+d)|原始数据的键值;
其中,y表示第一测试数据,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示第一键值差,(a+d)表示拓展位上的数值。
如图2所示,原始数据的键值为1111、1112,首先进行数据位拓展得到生成的目标源数据的键值为1001111、1001112;
第1次循环生成的第一测试数据的键值为1011111(由1001111克隆而来)、1011112(由1001112克隆而来);
第2次循环生成的第二测试数据的键值为1021111(由1001111克隆而来)、1031111(由1011111克隆而来)、1021112(由1001112克隆而来)、1031112(由1011112克隆而来);
剩余的循环生成的目标测试数据的键值以此类推。
3、多个表按照以上算法采用自动化的方式同时批量生成相关数据(相关键),其他属性数据如金额等保持不变,即可延续数据表之间的关联性。
基于上述实施例提供的测试数据的批量生成方法,参见图3,图3为本申请实施例提供的一种测试数据的批量生成装置的结构示意图,结合图3所示,本申请实施例提供的测试数据的批量生成装置300,可以包括:
原始数据获取模块301,用于获取用于测试的原始数据。
目标源数据确定模块302,用于在所述原始数据的键值前设置拓展位,得到目标源数据。
循环次数序列确定模块303,用于确定待生成的测试数据的循环次数序列;其中所述循环次数序列是由1到预设循环值的按照从小到大排列的正整数组成的循环次数序列。
目标测试数据确定模块304,用于根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据。
测试数据批量生成模块305,用于将目标测试数据作为批量生成测试数据的结果。
作为一种可选的实施的方式,所述目标测试数据确定模块304,可以包括:
第一测试数据确定模块,用于根据所述目标源数据和循环值为1确定第一测试数据;其中所述第一测试数据中包括所述目标源数据和对所述目标源数据克隆得到的数据。
第二测试数据确定模块,用于根据所述第一测试数据和循环值为2确定第二测试数据;其中所述第二测试数据包括所述第一测试数据和对所述第一测试数据克隆得到的数据;
循环目标测试数据确定模块,用于按照所述第二测试数据的确定过程,依次确定所述循环次数序列中的剩余循环值对应的目标测试数据;
目标测试数据确定子模块,用于将预设循环值对应的测试数据作为目标测试数据。
作为一种可选的实施方式,所述目标源数据确定模块302,包括:
位数值确定模块,用于根据待批量生成的测试数据的数量确定所述拓展位的位数值。
目标源数据确定子模块,用于在所述原始数据的键值前设置所述位数值的数量的拓展位。
作为一种可选的实施方式,所述位数值确定模块,具体通过以下公式确定位数值:
x=floor(lg(n+1))
其中,x表示位数值,floor表示向上取整,n表示待批量生成的测试数据的数量。
作为一种示例,基于上述公式,所述目标源数据确定子模块,可以通过以下公式得到:
y=(10x)|原始数据
其中,x表示位数值,|表示字符串拼接
作为一种可选的实施方式,所述第一测试数据确定模块,包括:
第一键值差确定模块,用于根据循环值为1确定待生成的目标测试数据与目标源数据之间的第一键值差;
第一测试数据确定子模块,用于根据所述目标源数据、第一键值差和位数值确定第一测试数据。
作为一种可选的实施方式,所述第一键值差确定模块,具体可以通过以下公式得到第一键值差:
d=2i-1
其中,d表示第一键值差,i表示第i次循环对应的次数。
作为一种可选的实施方式,所述根据所述目标源数据、第一键值差和位数值确定第一测试数据,通过以下公式得到:
y=(a+d)|原始数据的键值
其中,y表示第一测试数据,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示第一键值差,|表示字符串拼接,(a+d)表示拓展位上的数值。
本申请实施例提供的测试数据的批量生成装置与上述实施例提供的测试数据的批量生成方法具有相同的有益效果,因此不再赘述。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本申请任一实施例所述的测试数据的批量生成方法。
所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本申请任一实施例所述的测试数据的批量生成方法。
本发明提供的测试数据的批量生成方法可用于金融领域或其他领域,例如,可用于金融领域中的交易数据生成应用场景。其他领域为除金融领域之外的任意领域,例如,测试数据的批量生成领域。上述仅为示例,并不对本发明提供的测试数据的批量生成方法的应用领域进行限定。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例所提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (11)
1.一种测试数据的批量生成方法,其特征在于,所述方法包括:
获取用于测试的原始数据;
在所述原始数据的键值前设置拓展位,得到目标源数据;
确定待生成的测试数据的循环次数序列;其中所述循环次数序列是由1到预设循环值的按照从小到大排列的正整数组成的循环次数序列;
根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据;
将所述目标测试数据作为批量生成测试数据的结果。
2.根据权利要求1所述的测试数据的批量生成方法,其特征在于,所述根据所述目标源数据和所述循环次序列确定目标测试数据,包括:
根据所述目标源数据和循环值为1确定第一测试数据;其中所述第一测试数据中包括所述目标源数据和对所述目标源数据克隆得到的数据;
根据所述第一测试数据和循环值为2确定第二测试数据;其中所述第二测试数据包括所述第一测试数据和对所述第一测试数据克隆得到的数据;
按照所述第二测试数据的确定过程,依次确定所述循环次数序列中的剩余循环值对应的测试数据;
将预设循环值对应的测试数据作为目标测试数据。
3.根据权利要求1所述的测试数据的批量生成方法,其特征在于,所述在所述原始数据的键值前设置拓展位,得到目标源数据,包括:
根据待批量生成的测试数据的数量确定所述拓展位的位数值;
在所述原始数据的键值前设置所述位数值的数量的拓展位。
4.根据权利要求3所述的测试数据的批量生成方法,其特征在于,所述根据待批量生成的测试数据的数量确定所述拓展位的位数值,通过以下公式得到:
x=floor(lg(n+1))
其中,x表示位数值,floor表示向上取整,n表示待批量生成的测试数据的数量。
5.根据权利要求4所述的测试数据的批量生成方法,其特征在于,所述在所述原始数据的键值前设置所述位数值的数量的拓展位,通过以下公式得到:
y=(10x)|原始数据
其中,x表示位数值,|表示字符串拼接。
6.根据权利要求2所述的测试数据的批量生成方法,其特征在于,所述根据所述目标源数据和循环值为1确定第一测试数据,包括:
根据循环值为1确定待生成的目标测试数据与目标源数据之间的第一键值差;
根据所述目标源数据、第一键值差和位数值确定第一测试数据。
7.根据权利要求6所述的测试数据的批量生成方法,其特征在于,所述根据循环值为1确定待生成的目标测试数据与目标源数据之间的第一键值差,通过以下公式得到:
d=2i-1
其中,d表示第一键值差,i表示第i次循环对应的次数。
8.根据权利要求7所述的测试数据的批量生成方法,其特征在于,所述根据所述目标源数据、第一键值差和位数值确定第一测试数据,通过以下公式得到:
y=(a+d)|原始数据的键值
其中,y表示输出结果,a表示输入集键值前x+1位的字符对应的数值大小,x表示位数值,d表示第一键值差,|表示字符串拼接。
9.一种测试数据的批量生成装置,其特征在于,所述装置包括:原始数据获取模块,目标源数据确定模块,循环次数序列确定模块,目标测试数据确定模块和测试数据批量生成模块;
所述原始数据获取模块,用于获取用于测试的原始数据;
所述目标源数据确定模块,用于在所述原始数据的键值前设置拓展位,得到目标源数据;
所述循环次数序列确定模块,用于确定待生成的测试数据的循环次数序列;其中所述循环次数序列是由1到预设循环值的按照从小到大排列的正整数组成的循环次数序列;
所述目标测试数据确定模块,用于根据所述目标源数据和所述循环次序列确定目标测试数据;其中所述目标测试数据为预设循环值对应的数据;
所述测试数据批量生成模块,用于将所述目标测试数据作为批量生成测试数据的结果。
10.一种计算机设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-8任一项所述的测试数据的批量生成方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-8任一项所述的测试数据的批量生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310467090.4A CN116501635A (zh) | 2023-04-26 | 2023-04-26 | 一种测试数据的批量生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310467090.4A CN116501635A (zh) | 2023-04-26 | 2023-04-26 | 一种测试数据的批量生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501635A true CN116501635A (zh) | 2023-07-28 |
Family
ID=87329799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310467090.4A Pending CN116501635A (zh) | 2023-04-26 | 2023-04-26 | 一种测试数据的批量生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501635A (zh) |
-
2023
- 2023-04-26 CN CN202310467090.4A patent/CN116501635A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656544B (zh) | 一种基于执行路径相似度的云服务api适配方法 | |
CN109871382A (zh) | 一种数据表接入标准库的实现方法和装置 | |
CN110096263A (zh) | Web前端代码自动生成方法及装置 | |
CN109710224A (zh) | 页面处理方法、装置、设备及存储介质 | |
TWI672967B (zh) | 一種輔同步序列的生成方法、檢測方法、基地台及使用者設備 | |
CN111158680A (zh) | 一种页面构建的方法、装置、设备及存储介质 | |
CN110457224B (zh) | 生成测试数据的方法及装置 | |
CN106953937B (zh) | 一种统一资源定位符url转换方法及装置 | |
CN113705816B (zh) | 流程图生成方法、电子装置、装置及可读存储介质 | |
CN110717050A (zh) | 一种知识图谱数据库的访问方法及装置 | |
CN116501635A (zh) | 一种测试数据的批量生成方法、装置、设备及存储介质 | |
CN113703753B (zh) | 用于产品开发的方法、装置和产品开发系统 | |
CN113469284B (zh) | 一种数据分析的方法、装置及存储介质 | |
CN115329383A (zh) | 一种基于适配器模型的数据脱敏方法、系统及装置 | |
CN115113870A (zh) | 一种网页表单生成方法、装置、电子设备和可读存储介质 | |
CN107644103A (zh) | 一种可追溯信息来源的信息存储的方法和系统 | |
CN114020640A (zh) | 自动化测试方法及装置 | |
CN109189833B (zh) | 一种知识库的挖掘方法及装置 | |
CN113051178A (zh) | 测试数据构造方法、装置、设备及介质 | |
CN111985188A (zh) | 一种数据转换方法、装置、终端和存储介质 | |
CN111368750A (zh) | 基于深度学习的手写体数学公式识别方法 | |
CN111026371A (zh) | 一种游戏开发方法、装置、电子设备及存储介质 | |
CN113792247B (zh) | 基于代码特征生成功能流程图的方法、装置、设备和介质 | |
CN115250231B (zh) | 应用配置方法及装置 | |
CN111860831B (zh) | 一种基于PyTorch框架的自动重计算方法、装置 |
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 |