CN103455420B - 一种测试数据的构造方法和设备 - Google Patents

一种测试数据的构造方法和设备 Download PDF

Info

Publication number
CN103455420B
CN103455420B CN201310358970.4A CN201310358970A CN103455420B CN 103455420 B CN103455420 B CN 103455420B CN 201310358970 A CN201310358970 A CN 201310358970A CN 103455420 B CN103455420 B CN 103455420B
Authority
CN
China
Prior art keywords
file
original document
group
document group
editor
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
Application number
CN201310358970.4A
Other languages
English (en)
Other versions
CN103455420A (zh
Inventor
顾美营
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HUNAN QIANMENG INDUSTRIAL INTELLIGENT SYSTEM CO., LTD.
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310358970.4A priority Critical patent/CN103455420B/zh
Publication of CN103455420A publication Critical patent/CN103455420A/zh
Application granted granted Critical
Publication of CN103455420B publication Critical patent/CN103455420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例提供一种测试数据的构造方法和设备,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。该方法可以包括:生成初始文件组;以及将初始文件组中的每个文件进行编辑操作,生成编辑后的文件组。

Description

一种测试数据的构造方法和设备
技术领域
本发明涉及软件测试领域,尤其涉及一种测试数据的构造方法和设备。
背景技术
在重复数据删除产品的测试过程中,需要对不同备份主机的数据和同一备份主机多次备份的数据进行测试,得到重复数据删除比率这个指标,具体的,重复数据删除比率的计算方法是重复数据删除前的数据总量:重复数据删除后的数据总量,在测试过程中,生成用于进行测试的数据的方式首选为:生成一组内容随机的文件来模拟得到不同备份主机的数据,然后重复若干次上述的生成过程模拟得到各备份主机多次备份的数据,以此来测试应用在备份系统中的重复数据删除产品的重复数据删除比率。
在实现上述现有技术的过程中,发明人发现现有技术中至少存在如下问题:由于产生的数据都是随机的,因此无法构造出确定相似度的数据来支撑复数据删除产品的测试过程以得到准确的重复数据删除比率这一关键指标,更加无法构造不同类型的数据以支撑应用于不同场景的重复数据删除产品的测试。
发明内容
本发明的实施例提供一种测试数据的构造方法和设备,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种测试数据的构造方法,包括:
生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
将所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例。
根据第一种可能的实现方式,结合第一方面,所述生成初始文件组,包括:
生成内容随机的第一文件;
将所述第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件。
根据第二种可能的实现方式,结合第一方面或者第一种可能的实现方式,所述将所述初始文件组中的每个文件进行编辑操作生成编辑后的文件组,包括:
将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
根据第三种可能的实现方式,结合第二种可能的实现方式,所述随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,包括:
在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,所述预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作。
根据第四种可能的实现方式,结合第一方面、第一种至第三种可能的实现方式中的任一项,所述第一差异率X的取值范围是50%-100%,所述第二差异率Y的取值范围是1%-10%。
根据第五种可能的实现方式,结合第一方面、第一种至第四种可能的实现方式中的任一项,所述编辑操作包括新增、删除或修改。
第二方面,本发明实施例提供了一种测试数据的构造设备,包括:
第一生成单元,用于生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
第二生成单元,用于将所述第一生成单元生成的所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例。
根据第一种可能的实现方式,结合第二方面,所述第一生成单元包括:
生成模块,用于生成内容随机的第一文件;
编辑模块,用于将所述生成模块生成的第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件。
根据第二种可能的实现方式,结合第二方面或第一种可能的实现方式,所述第二生成单元包括,
切分模块,用于将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
编辑模块,用于随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
根据第三种可能的实现方式,结合第二种可能的实现方式,所述编辑模块包括:
随机变量生成子模块,用于在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,所述预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
编辑操作子模块,用于对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作。
根据第四种可能的实现方式,结合第二方面、第一种至第三种可能的实现方式中的任一项,所述第一差异率X的取值范围是50%-100%,所述第二差异率Y的取值范围是1%-10%。
根据第五种可能的实现方式,结合第二方面、第一种至第四种可能的实现方式中的任一项,所述编辑操作包括新增、删除或修改。
第三方面,本发明实施例提供了一种测试数据的构造设备,包括:处理器和存储器,其中,所述存储器用于保存所述处理器运行和处理的结果;
所述处理器用于,生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
以及将所述第一生成单元生成的所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例。
根据第一种可能的实现方式,结合第三方面,
所述处理器用于,生成内容随机的第一文件;
以及将所述第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件。
根据第二种可能的实现方式,结合第三方面或第一种可能的实现方式,
所述处理器用于,将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
以及随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
根据第三种可能的实现方式,结合第二种可能的实现方式,
所述处理器用于在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,所述预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作。
根据第四种可能的实现方式,结合第三方面、第一种至第三种可能的实现方式中的任一项,所述第一差异率X的取值范围是50%-100%,所述第二差异率Y的取值范围是1%-10%。
根据第五种可能的实现方式,结合第三方面、第一种至第四种可能的实现方式中的任一项,所述编辑操作包括新增、删除或修改。
本发明的实施例提供一种测试数据的构造方法和设备,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种测试数据的构造方法的过程示意图;
图2为本发明实施例提供的一种测试数据的构造方法的详细流程图;
图3为本发明实施例提供的一种生成初始文件组的过程示意图;
图4为本发明实施提供的一种生成编辑后的文件组的过程示意图;
图5为本发明实施例提供的一种测试数据的构造设备的结构示意图;
图6为本发明实施例提供的另一种测试数据的构造设备的结构示意图
图7为本发明实施例提供的一种测试数据的构造设备的硬件装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种测试数据的构造方法,其过程可以包括:
S101:生成初始文件组,其中,初始文件组中的每个文件按照固定的顺序进行排列,而且初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,第一差异率为初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
示例性的,生成初始文件组,包括:
生成内容随机的第一文件;
将第一文件切分成等长的预设数量P个文件块,并且对P个文件块中的P*X个文件块进行编辑操作,生成第二文件。
S102:将初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,编辑后的文件组中的文件的顺序与初始文件组中对应的文件的顺序相同,并且编辑后的文件组中每个文件与初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,第二差异率为编辑后的文件组中每个文件与初始文件组中对应的文件之间有差异的内容占所述文件内容的比例;
示例性的,将初始文件组中的每个文件进行编辑操作生成编辑后的文件组,包括:
将初始文件组中的每个文件切分成等长的预设数量Q个数据块;
随机选择Q个数据块中的Q*Y个数据块进行编辑操作,得到编辑后的文件组的对应文件;
进一步的,随机选择Q个数据块中的Q*Y个数据块进行编辑操作,包括:
在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
对Q个数据块中Q*Y个整数变量所对应的编号的数据块进行编辑操作;
示例性的,第一差异率X的取值范围是50%-100%,第二差异率Y的取值范围是1%-10%;
示例性的,编辑操作包括新增、删除或修改。
本发明的实施例提供一种测试数据的构造方法,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。
参见图2,为本发明实施例提供的一种测试数据的构造方法的详细流程图,包括:
S201:生成初始文件组;
示例性的,初始文件组中的每个文件按照固定的顺序进行排列,而且初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,第一差异率为初始文件组中相邻文件之间有差异的内容占所述文件内容的比例,可以理解的,所述文件内容可以是相邻文件中任意一个文件的内容;
示例性的,初始文件组中的每个文件都可以对应的模拟一个备份源备份的数据,其中,备份源的类型可以是需要备份数据的主机、需要备份数据的服务器等,在此本发明实施例不做限定;
可以理解的,不同的备份源之间的数据存在相当大的差异性,因此第一差异率X通常选取较大的数值,优选的,第一差异率X的取值范围可以是50%-100%,在本实施例中,X的取值为90%,表示在得到的初始文件组中,相邻文件之间有90%的内容是不同的;
进一步的,为了实现初始文件组中的相邻文件之间的内容满足第一差异率,具体生成初始文件组的过程如图3所示,可以包括;
301:生成内容随机的第一文件;
在本实施例中,可以生成一个内容随机的大数据文件作为第一文件,例如,生成一个1GB随机的数据的文件1,此时文件1为第一文件。
302:将第一文件切分成等长的预设数量P个文件块,并且对P个文件块中的P*X个文件块进行编辑操作,生成第二文件;
在本实施例中,可以将文件1切分成100个10M的文件块,并且随机的在这100个文件块中选取100*90%=90个文件块进行编辑操作,示例性的,编辑操作可以包括对文件块的内容进行新增、删除或修改,使得经过编辑操作之后得到的90个新的文件块与对应的文件1中随机选取的90个文件块在内容上有差异,并将90个新的文件块与文件1中未选取的文件块按照切分的顺序进行组合,得到新文件,可以认为是文件2,此时文件2和文件1相比较,文件大小仍为1GB,但内容的差异率为90%,并将文件2作为第二文件;
303:判断生成的文件数目是否达到预设的数量N:
若未达到预设的数量N,则对第二文件执行步骤302,具体的过程不再赘述;
若达到预设的数量N,则执行步骤304;
示例性的,N可以表示初始文件组中包含的文件数量;
304:结束生成初始文件组的过程,将生成的文件按照生成的顺序进行排列,得到初始文件组;
示例性的,此时初始文件组中相邻文件之间的第一差异率满足预设的90%。
S202:将初始文件组中的每个文件进行编辑操作,生成编辑后的文件组;
示例性的,编辑后的文件组中的文件的顺序与初始文件组中对应的文件的顺序相同,并且编辑后的文件组中每个文件与初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,第二差异率为编辑后的文件组中每个文件与初始文件组中对应的文件之间有差异的内容占所述文件内容的比例,可以理解的,所述文件内容可以是编辑后的文件组中每个文件与初始文件组中对应的文件的任意一个文件的内容;
示例性的,编辑后的文件组中的每个文件与初始文件组中对应的文件可以用来模拟每个备份源的两次备份的数据,可以理解的,同一个备份源两次备份之间的数据不会发生过大的差异,因此第二差异率Y通常会取比较小的数值,优选的,第二差异率Y的取值范围是1%-10%,在本实施例中,Y的取值可以是6%;
进一步的,为了实现编辑后的文件组中每个文件与初始文件组中对应的文件之间的内容差异率为第二差异率,将初始文件组中的每个文件进行编辑操作,生成编辑后的文件组的具体过程如图4所示,可以包括;
401:将初始文件组中的每个文件切分成等长的预设数量Q个数据块;
在本实施例中,初始文件组中的每个文件大小为1GB,可以将每个文件都分成1000个1M的数据块;
402:随机选择Q个数据块中的Q*Y个数据块进行编辑操作,得到编辑后的文件组的对应文件;
具体的,步骤402还可以进一步的包括:
4021:在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
在本实施例中,可以在1-1000的范围内生成1000*6%=60个满足预设的随机分布的整数变量,其中,预设的随机分布的整数变量可以包括满足正态分布的整数变量或满足均匀分布的整数变量,还可以包括但不限于满足更多种类随机特性的整数变量,可以理解的,整数变量可以通过满足不同的预设的随机分布来构造出不同模型的数据,以支撑不同场景的应用,在此不再赘述。
4022:对Q个数据块中Q*Y个整数变量所对应的编号的数据块进行编辑操作;
在本实施例中,在1-1000的范围内生成的60个整数变量均可以对应数据块的编号,因此可以将这60个整数变量对应编号的数据块进行编辑操作,就可以得到编辑后的文件组对应的文件,其中,编辑操作可以包括新增、删除和修改。
可以理解的,由此得到的编辑后的文件组中的文件与初始文件组中对应的文件的差异率是能够满足预设的第二差异率Y=6%的要求。
S203:判断生成的编辑后的文件组的数量是否达到预设的备份次数M:
若达到预设的备份次数M,则执行步骤S204;
若没有达到预设的备份次数M,则对编辑后的文件组执行步骤S202,具体的过程不再赘述。
S204:将生成的编辑后的文件组按照生成的顺序进行排列,得到用于测试的数据,并结束整个过程。
本发明的实施例提供一种测试数据的构造方法,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。
参见图5、为本发明实施例提供的一种测试数据的构造设备50,可以包括:
第一生成单元501,用于生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
第二生成单元502,用于将所述第一生成单元生成的所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例
示例性的,第一生成单元501得到的初始文件组中的每个文件都可以对应的模拟一个备份源备份的数据,其中,备份源的类型可以是需要备份数据的主机、需要备份数据的服务器等,在此本发明实施例不做限定;
可以理解的,不同的备份源之间的数据存在相当大的差异性,因此第一差异率X通常选取较大的数值,优选的,第一差异率X的取值范围可以是50%-100%,在本实施例中,X的取值为90%,表示在得到的初始文件组中,相邻文件之间有90%的内容是不同的;
进一步的,为了实现初始文件组中的相邻文件之间的内容满足第一差异率,第一生成单元501具体可以包括:
生成模块5011,用于生成内容随机的第一文件;
在本实施例中,生成模块5011可以生成一个内容随机的大数据文件作为第一文件,例如,生成一个1GB随机的数据的文件1,此时文件1为第一文件。
编辑模块5012,用于将所述生成模块生成的第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件;
在本实施例中,编辑模块5012可以将文件1切分成100个10M的文件块,并且随机的在这100个文件块中选取100*90%=90个文件块进行编辑操作,示例性的,编辑操作可以包括对文件块的内容进行新增、删除或修改,使得经过编辑操作之后得到的90个新的文件块与对应的文件1中随机选取的90个文件块在内容上有差异,并将90个新的文件块与文件1中未选取的文件块按照切分的顺序进行组合,得到新文件,可以认为是文件2,此时文件2和文件1相比较,文件大小仍为1GB,但内容的差异率为90%,并将文件2作为第二文件;
此外,如图6所示,第一生成单元501还可以包括:判断模块5013,用于判断生成的文件数目是否达到预设的数量N:
若未达到预设的数量N,则通过编辑模块5012对第二文件进行处理,具体过程不再赘述;
若达到预设的数量N,则通过结束模块5014进行执行;
示例性的,N可以表示初始文件组中包含的文件数量;
结束模块5014,用于结束生成初始文件组的过程,将生成的文件按照生成的顺序进行排列,得到初始文件组;
示例性的,此时初始文件组中相邻文件之间的第一差异率满足预设的90%。
示例性的,第二生成单元502编辑后的文件组中的文件的顺序与初始文件组中对应的文件的顺序相同,并且编辑后的文件组中每个文件与初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,第二差异率为编辑后的文件组中每个文件与初始文件组中对应的文件之间有差异的内容占所述文件内容的比例,可以理解的,所述文件内容可以是编辑后的文件组中每个文件与初始文件组中对应的文件的任意一个文件的内容;
示例性的,编辑后的文件组中的每个文件与初始文件组中对应的文件可以用来模拟每个备份源的两次备份的数据,可以理解的,同一个备份源两次备份之间的数据不会发生过大的差异,因此第二差异率Y通常会取比较小的数值,优选的,第二差异率Y的取值范围是1%-10%,在本实施例中,Y的取值可以是6%;
进一步的,为了实现编辑后的文件组中每个文件与初始文件组中对应的文件之间的内容差异率为第二差异率,第二生成单元502具体可以包括:
切分模块5021,用于将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
在本实施例中,初始文件组中的每个文件大小为1GB,切分模块5021可以将每个文件都分成1000个1M的数据块;
编辑模块5022,用于随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
具体的,编辑模块5022进一步可以包括:
随机变量生成子模块50221,用于在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,所述预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
在本实施例中,随机变量生成子模块50221可以在1-1000的范围内生成1000*6%=60个满足预设的随机分布的整数变量,其中,预设的随机分布的整数变量可以包括满足正态分布的整数变量或满足均匀分布的整数变量,还可以包括但不限于满足更多种类随机特性的整数变量,可以理解的,整数变量可以通过满足不同的预设的随机分布来构造出不同模型的数据,以支撑不同场景的应用,在此不再赘述。
编辑操作子模块50222,用于对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作;
在本实施例中,在1-1000的范围内生成的60个整数变量均可以对应数据块的编号,因此编辑操作子模块50222可以将这60个整数变量对应编号的数据块进行编辑操作,就可以得到编辑后的文件组对应的文件,其中,编辑操作可以包括新增、删除和修改。
可以理解的,编辑操作子模块50222由此得到的编辑后的文件组中的文件与初始文件组中对应的文件的差异率是能够满足预设的第二差异率Y=6%的要求。
除此之外,参见图6,第二生成单元502还可以包括:
判断模块5023,用于判断生成的编辑后的文件组的数量是否达到预设的备份次数M:
若达到预设的备份次数M,则指示编辑模块5022执行处理,具体过程不再赘述;
若没有达到预设的备份次数M,则执行结束模块5024;
结束模块5024,用于将生成的编辑后的文件组按照生成的顺序进行排列,得到用于测试的数据,并结束整个过程。
本发明的实施例提供一种测试数据的构造设备50,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。
参见图7,为本发明实施例提供的一种测试数据的构造设备50的硬件装置图,可以包括:
包括:至少一个处理器701、存储器702和总线703,该至少一个处理器701、存储器702通过总线703连接并完成相互间的通信。
该总线703可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。该总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器702用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器702可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储设备中存储:操作系统、应用程序,用于实现本发明实施例的程序代码。操作系统用于控制和实现处理单元执行的处理功能。应用程序包含程序代码,如字处理软件、email软件。
处理器701可能是一个中央处理器(CentralProcessingUnit,简称为CPU),或者是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器702可以用于保存处理器701运行和处理的结果;
处理器701可以用于,生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
以及将所述第一生成单元生成的所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例。
示例性的,处理器701可以用于,生成内容随机的第一文件;
以及将所述第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件。
示例性的,处理器701可以用于,将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
以及随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
进一步的,处理器701可以用于在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作。
示例性的,第一差异率X的取值范围是70%-100%,第二差异率Y的取值范围是1%-10%。
示例性的,编辑操作包括新增、删除或修改。
本发明的实施例提供一种测试数据的构造设备50,可以模拟出不同备份源进行备份的数据情况,还可以模拟出同一个备份源进行多次备份的数据情况,并且构造出的数据具有一定的差异度,而且该差异度还可以指定;此外,还可以构造出不同模型的数据,以支撑应用于不同场景下的重复数据删除产品的测试。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种测试数据的构造方法,其特征在于,包括:
A、生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
B、将所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例;
C、若没有达到预设的备份次数M,则将所述编辑后的文件组作为初始文件组,重复执行步骤B;
D、若达到预设的备份次数M,则将生成的编辑后的文件组按照生成的顺序进行排列,得到所述测试数据。
2.根据权利要求1所述的方法,其特征在于,所述初始文件组包含N个文件,所述生成初始文件组,包括:
A1、生成内容随机的第一文件;
A2、将所述第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件;
A3、若生成的文件数目小于所述N,则将所述第二文件作为第一文件,重复执行步骤B;
A4、若生成的文件数目等于所述N,则结束生成初始文件组的过程,将生成的文件按照生成的顺序进行排列,得到所述初始文件组。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述初始文件组中的每个文件进行编辑操作生成编辑后的文件组,包括:
将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
4.根据权利要求3所述的方法,其特征在于,所述随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,包括:
在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,所述预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作。
5.根据权利要求1或4所述的方法,其特征在于,所述第一差异率X的取值范围是50%-100%,所述第二差异率Y的取值范围是1%-10%。
6.根据权利要求1或4所述的方法,其特征在于,所述编辑操作包括新增、删除或修改。
7.一种测试数据的构造设备,其特征在于,包括:
第一生成单元,用于生成初始文件组,其中,所述初始文件组中的每个文件按照固定的顺序进行排列,而且所述初始文件组中相邻文件之间的内容差异率为预设的第一差异率X,所述第一差异率为所述初始文件组中相邻文件之间有差异的内容占所述文件内容的比例;
第二生成单元,用于将所述第一生成单元生成的所述初始文件组中的每个文件进行编辑操作,生成编辑后的文件组,其中,所述编辑后的文件组中的文件的顺序与所述初始文件组中对应的文件的顺序相同,并且所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间的内容差异率为预设的第二差异率Y,所述第二差异率为所述编辑后的文件组中每个文件与所述初始文件组中对应的文件之间有差异的内容占所述文件内容的比例;以及若没有达到预设的备份次数M,将所述编辑后的文件组作为初始文件组,重复执行将初始文件组中的每个文件进行编辑操作,生成编辑后的文件组;若达到预设的备份次数M,则将生成的编辑后的文件组按照生成的顺序进行排列,得到所述测试数据。
8.根据权利要求7所述的设备,其特征在于,所述初始文件组包含N个文件,所述第一生成单元包括:
生成模块,用于生成内容随机的第一文件;
第一编辑模块,用于将所述生成模块生成的第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件;若生成的文件数目小于所述N,则将所述第二文件作为第一文件,重复执行将所述第一文件切分成等长的预设数量P个文件块,并且对所述P个文件块中的P*X个文件块进行编辑操作,生成第二文件;若生成的文件数目等于所述N,则结束生成初始文件组的过程,将生成的文件按照生成的顺序进行排列,得到所述初始文件组。
9.根据权利要求7或8所述的设备,其特征在于,所述第二生成单元包括,
切分模块,用于将所述初始文件组中的每个文件切分成等长的预设数量Q个数据块;
第二编辑模块,用于随机选择所述Q个数据块中的Q*Y个数据块进行编辑操作,得到所述编辑后的文件组的对应文件。
10.根据权利要求9所述的设备,其特征在于,所述第二编辑模块包括:
随机变量生成子模块,用于在整数1-Q范围内生成Q*Y个满足预设的随机分布的整数变量,其中,所述预设的随机分布的整数变量包括满足正态分布的整数变量或满足均匀分布的整数变量;
编辑操作子模块,用于对所述Q个数据块中所述Q*Y个整数变量所对应的编号的数据块进行编辑操作。
11.根据权利要求7或10所述的设备,其特征在于,所述第一差异率X的取值范围是50%-100%,所述第二差异率Y的取值范围是1%-10%。
12.根据权利要求7或10所述的设备,其特征在于,所述编辑操作包括新增、删除或修改。
CN201310358970.4A 2013-08-16 2013-08-16 一种测试数据的构造方法和设备 Active CN103455420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310358970.4A CN103455420B (zh) 2013-08-16 2013-08-16 一种测试数据的构造方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310358970.4A CN103455420B (zh) 2013-08-16 2013-08-16 一种测试数据的构造方法和设备

Publications (2)

Publication Number Publication Date
CN103455420A CN103455420A (zh) 2013-12-18
CN103455420B true CN103455420B (zh) 2016-06-15

Family

ID=49737820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310358970.4A Active CN103455420B (zh) 2013-08-16 2013-08-16 一种测试数据的构造方法和设备

Country Status (1)

Country Link
CN (1) CN103455420B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760291B (zh) * 2014-12-17 2019-08-09 阿里巴巴集团控股有限公司 一种回归测试方法和系统
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置
CN107577549A (zh) * 2017-08-24 2018-01-12 郑州云海信息技术有限公司 一种存储重删功能的测试方法
CN110806981B (zh) * 2019-11-05 2023-03-31 北京博睿宏远数据科技股份有限公司 一种应用程序测试方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065098A (zh) * 2010-12-31 2011-05-18 网宿科技股份有限公司 网络节点之间数据同步的方法和系统
CN102323958A (zh) * 2011-10-27 2012-01-18 上海文广互动电视有限公司 重复数据删除方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224792B2 (en) * 2009-08-28 2012-07-17 International Business Machines Corporation Generation of realistic file content changes for deduplication testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065098A (zh) * 2010-12-31 2011-05-18 网宿科技股份有限公司 网络节点之间数据同步的方法和系统
CN102323958A (zh) * 2011-10-27 2012-01-18 上海文广互动电视有限公司 重复数据删除方法

Also Published As

Publication number Publication date
CN103455420A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
CN105224237B (zh) 一种数据存储方法及装置
CN103455420B (zh) 一种测试数据的构造方法和设备
JP2019061690A (ja) 車載制御装置及びプログラム書き込み装置
CN102866954B (zh) 内存分配的方法及装置
CN104503957B (zh) 一种公式图形自动生成方法和装置
US20140149926A1 (en) Apparatus, method and computer readable recording medium for arranging a plurality of items automatically in a canvas
CN110493342B (zh) 文件传输方法、装置、电子设备及可读存储介质
CN105430478A (zh) 一种网络视频缓冲播放方法、装置及电视机
CN103914474A (zh) 一种数据迁移方法及系统
CN105264488A (zh) 使用数组对来合并有序列表
CN105045350A (zh) 一种pcie扩展方法及pcie扩展系统
CN112466378A (zh) 一种固态硬盘运行纠错方法、装置及相关组件
CN112435157A (zh) 包括不同类型的存储器装置的图形处理系统及其操作方法
CN111124433B (zh) 程序烧写设备、系统及方法
CN105574909A (zh) 一种图片组合模板处理方法、装置及终端
CN105320662A (zh) 网页生成方法及装置
CN102393838A (zh) 数据处理方法及装置、pci-e总线系统、服务器
CN111813339A (zh) 闪存Nand Flash的数据写入方法、装置、电子设备及存储介质
CN104967906A (zh) 一种随机播放方法及装置
CN104598662A (zh) 工艺设计类型之间的电路设计移植
CN104932982A (zh) 一种消息访存的编译方法及相关装置
CN105808556A (zh) 一种数据库的操作方法及数据库引擎
CN103559106A (zh) 一种数据的备份方法、装置及系统
CN107704340A (zh) Pe镜像文件生成方法、装置及电子设备
CN106202262A (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170510

Address after: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee after: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Xianliang

Inventor after: Peng Yi

Inventor after: Lu Chenghua

Inventor after: Huang Tianhong

Inventor after: Chen Yongbo

Inventor before: Gu Meiying

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170522

Address after: 414000 Hunan Province, Yueyang City Economic Development Zone Industrial Park qikang Montevideo Road No. 28

Patentee after: HUNAN QIANMENG INDUSTRIAL INTELLIGENT SYSTEM CO., LTD.

Address before: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee before: Guangdong Gaohang Intellectual Property Operation Co., Ltd.