一种测试数据的构建方法及装置制造方法及图纸

技术编号:19543190 阅读:33 留言:0更新日期:2018-11-24 20:31
本发明专利技术实施例提供了一种测试数据的构建方法及装置,方法为:获得目标测试数据的构建参数,其中,目标测试数据为:存储于待测试设备且用于对该待测试设备所属待测试系统进行测试的测试数据,构建参数是基于待测试系统的数据结构确定的,构建参数包括:要在待测试设备中生成的数据文件的第一数量、各个数据文件中要写入的数据的第一数据量;在待测试设备中生成预设文件格式的第一数量个数据文件,其中,预设文件格式是由待测试系统的数据结构确定的;针对每一数据文件,生成该数据文件对应的第一数据量的数据,并将生成的数据写入该数据文件,得到用于对待测试系统进行测试的测试数据。应用本发明专利技术实施例可以减少构建测试数据的时间。

A Method and Device for Constructing Test Data

The embodiment of the present invention provides a method and device for constructing test data. The method is to obtain the construction parameters of the target test data, in which the target test data is the test data stored in the equipment to be tested and used for testing the system to be tested, and the construction parameters are based on the system to be tested. The data structure of the system determines that the construction parameters include: the first number of data files to be generated in the device to be tested, the first amount of data to be written in each data file; the first number of data files to be generated in the device to be tested, in which the default file format is from the system to be tested. The data structure of the system is determined. For each data file, the first data volume corresponding to the data file is generated, and the generated data is written into the data file to obtain the test data for testing the test system. The application of embodiments of the present invention can reduce the time required to construct test data.

【技术实现步骤摘要】
一种测试数据的构建方法及装置
本专利技术涉及数据测试
,特别是涉及一种测试数据的构建方法及装置。
技术介绍
现有技术中,对于软件、系统的测试,都是基于测试用例完成的,其中,测试用例(TestCase)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。执行测试用例的目的在于,核实某个程序(比如软件的单元,或者由单元组成的集成系统)是否满足特定需求。以分布式存储系统为例,分布式存储系统将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用多台数据服务器(DataServer)分担存储负荷,利用位置服务器(NameServer)定位存储信息。在分布式存储系统中,执行与数据恢复有关的测试用例时,需要用测试数据对系统的数据恢复功能进行测试,测试数据就是为了进行测试而构建的相关数据。利用测试数据对分布式存储系统的数据恢复功能进行测试,如关闭数据服务器、移除数据服务器、移除磁盘、移除副本等删除数据的操作会触发系统数据恢复。例如,移除一数据服务器的删除操作会将该数据服务器中的所有测试数据都移除,而位置服务器在监控到该数据服务器中的所有测试数据都移除后,触发系统的数据恢复机制(假设该系统为三副本存储方式,移除一数据服务器后该数据服务器所存储的副本丢失,即三副本少了一个副本),根据均衡策略找到合适的数据服务器,从丢失的副本所对应的其它两个副本所在的数据服务器中将测试数据复制到新的数据服务器中。由以上可见,对系统进行测试之前需要构建测试数据,现有技术中,可以采用自动化方式构建测试数据,也可以采用人工方式构建测试数据。其中,自动化构建测试数据,可以有效提高测试效率。与人工构建测试数据相比,自动化数据构建有如下特点:与自动化测试结合后,可以不间断的进行测试,通过长时间多轮测试,往往能发现难以发现的故障。近年来,自动化构建测试数据的技术得到快速的发展,大量的自动化测试数据构建方法及工具被研发出来,从而可以不间断自动地检测软件中的故障,并且在对一些大型商业软件和开源软件的测试中发现了大量在手动测试中没有发现的软件故障和安全隐患。在分布式存储系统的自动化测试中,构建测试数据有两种方式:一种是随机生成的方式,通过调用系统写入、修改、删除接口,在系统中写入随机大小的测试数据,删除随机比例的测试数据;另一种是基于线上实际情况,按照线上的数据大小、删除比例,通过调用系统写入、修改、删除接口,在系统中写入对应大小的测试数据,以及删除比例的测试数据,使测试数据尽量反映线上情况。这两种方式都是使用分布式存储系统提供的写入、修改、删除接口来实现测试数据的构建。在分布式存储系统中,每一个数据服务器包含多个磁盘(如36个),每一个磁盘中按照目录的方式存储多个数据块(block),一个数据块表示一个副本(replica)。在使用自动化测试数据构建方法及工具生成数据后,将生成的数据反馈给分布式存储系统,以使分布式存储系统按照自身的数据存储逻辑将数据写入到各个数据服务器的数据块中。以使用分布式存储系统提供的写入接口实现测试数据的构建为例,调用每个数据服务器的写入接口在数据块中写入数据时,需要将一个数据块写满后才能触发系统逻辑生成下一个数据块,然后在所生成的下一个数据块中写入数据,一个数据块的数据容量一般为8GB。实际上,测试时为了保证测试的准确性,通常需要在每个磁盘中生成多个数据块。这样,在构建测试数据时,每个磁盘中需要写入超过100GB的数据,对于较大的分布式存储系统,则需要写入更多的数据。可见,现有技术在分布式存储系统中构建测试数据的方式,由于利用分布式存储系统自身的数据存储逻辑来构建测试数据,不可避免的导致构建的测试数据的数据量较大,使得构建测试数据的时间较长。
技术实现思路
本专利技术实施例的目的在于提供一种测试数据的构建方法及装置,以减少构建测试数据的时间。具体技术方案如下:第一方面,为达到上述目的,本专利技术实施例公开了一种测试数据的构建方法,所述方法包括:获得目标测试数据的第一构建参数,其中,所述目标测试数据为:存储于第一待测试设备且用于对所述第一待测试设备所属待测试系统进行测试的测试数据,所述第一构建参数是基于所述待测试系统的数据结构确定的,所述第一构建参数包括:要在所述第一待测试设备中生成的数据文件的第一数量、各个数据文件中要写入的数据的第一数据量;在所述第一待测试设备中生成预设文件格式的第一数量个第一数据文件,其中,所述预设文件格式是由所述待测试系统的数据结构确定的;针对每一第一数据文件,生成该第一数据文件对应的所述第一数据量的数据,并将生成的数据写入该第一数据文件,得到用于对所述待测试系统进行测试的第一测试数据。可选的,所述待测试系统为:分布式存储系统;所述第一待测试设备为:所述分布式存储系统中的数据服务器;所述第一数据文件为:以数据块形式存储数据的文件。可选的,所述各个数据文件中要写入的数据的第一数据量包括:各个数据文件所包含数据块中未删除的对象的数量、已删除的对象的数量、每个对象的数据量;所述针对每一第一数据文件,生成该第一数据文件对应的所述第一数据量的数据的步骤,包括:针对每一第一数据文件,根据该第一数据文件所包含数据块中未删除的对象的数量、已删除的对象的数量、每个对象的数据量,生成该第一数据文件对应的数据。可选的,所述方法还包括:对所述第一数据文件进行纠删码编码,生成第二数据文件,得到用于对所述待测试系统进行测试的第二测试数据。可选的,所述对所述第一数据文件进行纠删码编码,生成第二数据文件的步骤,包括:判断所述第一数据文件中的预设参数的值是否为预设值;如果是,对所述第一数据文件进行纠删码编码,生成第二数据文件。可选的,所述方法还包括:接收并存储所述待测试系统中的第二待测试设备反馈的第三数据文件,得到用于对所述待测试系统进行测试的第三测试数据,其中,所述第三数据文件为:所述第二待测试设备中根据第二构建参数中的第二数量生成的数据文件、并且写入有第二数据量的数据,所述第二构建参数是:基于所述待测试系统的数据结构确定的,所述第二构建参数包括:要在所述第二待测试设备中生成的数据文件的第二数量、各个数据文件中要写入的数据的第二数据量,第三数据文件为预设文件格式的数据文件。可选的,所述方法还包括:接收并存储所述第二待测试设备反馈的第四数据文件,得到用于对所述待测试系统进行测试的第四测试数据,其中,所述第四数据文件为所述第二待测试设备对所述第三数据文件进行纠删码编码后生成的数据文件。可选的,所述方法还包括:在构建测试数据完成后,输出构建完成测试数据的提示消息。第二方面,为达到上述目的,本专利技术实施例还公开了一种测试数据的构建装置,所述装置包括:获得模块,用于获得目标测试数据的第一构建参数,其中,所述目标测试数据为:存储于第一待测试设备且用于对所述第一待测试设备所属待测试系统进行测试的测试数据,所述第一构建参数是基于所述待测试系统的数据结构确定的,所述第一构建参数包括:要在所述第一待测试设备中生成的数据文件的第一数量、各个数据文件中要写入的数据的第一数据量;生成模块,用于在所述第一待测试设备中生成预设文件格式的第一数量个第一数据文件本文档来自技高网
...

【技术保护点】
1.一种测试数据的构建方法,其特征在于,所述方法包括:获得目标测试数据的第一构建参数,其中,所述目标测试数据为:存储于第一待测试设备且用于对所述第一待测试设备所属待测试系统进行测试的测试数据,所述第一构建参数是基于所述待测试系统的数据结构确定的,所述第一构建参数包括:要在所述第一待测试设备中生成的数据文件的第一数量、各个数据文件中要写入的数据的第一数据量;在所述第一待测试设备中生成预设文件格式的第一数量个第一数据文件,其中,所述预设文件格式是由所述待测试系统的数据结构确定的;针对每一第一数据文件,生成该第一数据文件对应的所述第一数据量的数据,并将生成的数据写入该第一数据文件,得到用于对所述待测试系统进行测试的第一测试数据。

【技术特征摘要】
1.一种测试数据的构建方法,其特征在于,所述方法包括:获得目标测试数据的第一构建参数,其中,所述目标测试数据为:存储于第一待测试设备且用于对所述第一待测试设备所属待测试系统进行测试的测试数据,所述第一构建参数是基于所述待测试系统的数据结构确定的,所述第一构建参数包括:要在所述第一待测试设备中生成的数据文件的第一数量、各个数据文件中要写入的数据的第一数据量;在所述第一待测试设备中生成预设文件格式的第一数量个第一数据文件,其中,所述预设文件格式是由所述待测试系统的数据结构确定的;针对每一第一数据文件,生成该第一数据文件对应的所述第一数据量的数据,并将生成的数据写入该第一数据文件,得到用于对所述待测试系统进行测试的第一测试数据。2.根据权利要求1所述的方法,其特征在于,所述待测试系统为:分布式存储系统;所述第一待测试设备为:所述分布式存储系统中的数据服务器;所述第一数据文件为:以数据块形式存储数据的文件。3.根据权利要求2所述的方法,其特征在于,所述各个数据文件中要写入的数据的第一数据量包括:各个数据文件所包含数据块中未删除的对象的数量、已删除的对象的数量、每个对象的数据量;所述针对每一第一数据文件,生成该第一数据文件对应的所述第一数据量的数据的步骤,包括:针对每一第一数据文件,根据该第一数据文件所包含数据块中未删除的对象的数量、已删除的对象的数量、每个对象的数据量,生成该第一数据文件对应的数据。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:对所述第一数据文件进行纠删码编码,生成第二数据文件,得到用于对所述待测试系统进行测试的第二测试数据。5.根据权利要求4所述的方法,其特征在于,所述对所述第一数据文件进行纠删码编码,生成第二数据文件的步骤,包括:判断所述第一数据文件中的预设参数的值是否为预设值;如果是,对所述第一数据文件进行纠删码编码,生成第二数据文件。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收并存储所述待测试系统中的第二待测试设备反馈的第三数据文件,得到用于对所述待测试系统进行测试的第三测试数据,其中,所述第三数据文件为:所述第二待测试设备中根据第二构建参数中的第二数量生成的数据文件、并且写入有第二数据量的数据,所述第二构建参数是:基于所述待测试系统的数据结构确定的,所述第二构建参数包括:要在所述第二待测试设备中生成的数据文件的第二数量、各个数据文件中要写入的数据的第二数据量,第三数据文件为预设文件格式的数据文件。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:接收并存储所述第二待测试设备反馈的第四数据文件,得到用于对所述待测试系统进行测试的第四测试数据,其中,所述第四数据文件为所述第二待测试设备对所述第三数据文件进行纠删码编码后生成的数据文件。8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:在构建测试数据完成后,输出构建完成测试数据的提示消息。9.一种测试数据的构建装置,其特征在于,所述装置包括:获得模块...

【专利技术属性】
技术研发人员:尹滔
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

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

1