CN112416770A - 测试数据的生成方法、装置、设备及存储介质 - Google Patents
测试数据的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112416770A CN112416770A CN202011320995.1A CN202011320995A CN112416770A CN 112416770 A CN112416770 A CN 112416770A CN 202011320995 A CN202011320995 A CN 202011320995A CN 112416770 A CN112416770 A CN 112416770A
- Authority
- CN
- China
- Prior art keywords
- data
- sample data
- test data
- sample
- target test
- 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
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
Abstract
本发明涉及数据处理技术,提供了一种测试数据的生成方法、装置、设备及存储介质。通过接收用户发出的自动生成测试数据的请求,获取请求中携带的待生成测试数据的样例数据,对样例数据执行验证操作并判断样例数据是否通过验证操作,当样例数据通过验证操作时,获取样例数据的相关信息,基于样例数据的相关信息获取与样例数据相关联的数据生成规则,基于生成规则生成请求对应的目标测试数据,将目标测试数据反馈至用户,利用本发明可以提高测试数据的生成效率。本发明还涉及区块链技术领域,上述样例数据和目标测试数据还可以存储于一区块链的节点中。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种测试数据的生成方法、装置、设备及存储介质。
背景技术
在传统的软件测试的性能测试过程中,需要为性能测试准备量级较大的用来测试的测试数据,性能测试数据准备有多种途径,相较于手工制作的方法,可以采用执行特定脚本来自动输出得到测试数据,但脚本的编写仍然耗费一定的时间,且由于脚本往往仅针对特定数据的制作,通用性不强,无法利用到下次的性能测试数据的准备中。此外,脚本编写对测试人员有一定的编写代码能力的要求。因此通过脚本的方式生成测试数据效率也较低。
发明内容
鉴于以上内容,本发明提供一种测试数据的生成方法、装置、设备及存储介质,其目的在于解决现有技术中用脚本生成测试数据效率较低的技术问题。
为实现上述目的,本发明提供一种测试数据的生成方法,该方法包括:
接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据;
对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息;
基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
优选的,所述对所述样例数据执行验证操作包括:
基于预设的正则表达式识别出样例数据的数据类型,根据所述样例数据的数据类型调用预先配置的验证规则对所述样例数据进行验证操作,其中,所述验证规则包括:判断所述样例数据的数据长度是否为固定值,当判断所述样例数据的数据长度是为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否为对应的固定值;
当判断所述样例数据的数据长度不为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否在对应的预设范围内。
优选的,在所述判断所述样例数据是否通过所述验证操作之后,所述方法还包括:
当所述样例数据未通过所述验证操作时,向所述用户发送预设提示信息,当接收到用户基于所述预设提示信息发送的新的样例数据时,对该样例数据执行验证操作。
优选的,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第一预设类型的样例数据时,基于预设数据表的固定编码信息确定该样例数据中不属于固定编码的编码位置,删除所述编码位置的编码,并随机生成新的编码填充至所述编码位置,将填充后的样例数据作为所述目标测试数据。
优选的,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第二预设类型的样例数据时,基于预设数据表的标识编码信息确定该样例数据的第一标识编码和第二标识编码,将所述第一标识编码替换为预设编码集的任一标识编码,将所述第二标识编码替换为与所述第二标识编码不同类型的标识编码,将替换后的样例数据作为所述目标测试数据。
优选的,在所述基于所述生成规则生成所述请求对应的目标测试数据之后,所述方法还包括:
判断所述目标测试数据的字段是否存在缺失,当所述目标测试数据的字段不存在缺失时,判断所述目标测试数据的字段与预设的配置字段是否匹配,当所述目标测试数据的字段与所述配置字段匹配时,确定所述测试数据正确;
当所述测试数据的字段存在缺失,或者当所述目标测试数据的字段不存在缺失,但所述目标测试数据的字段与所述配置字段不匹配时,确定所述目标测试数据错误。
优选的,在所述基于所述生成规则生成所述请求对应的目标测试数据之后,所述方法还包括:
利用预设的测试工具对所述目标测试数据的有效性进行验证,判断所述目标测试数据是否通过所述测试工具的验证,当所述目标测试数据未通过所述测试工具的验证时,将所述目标测试数据删除。
为实现上述目的,本发明还提供一种测试数据的生成装置,该测试数据的生成装置包括:
获取模块:用于接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据;
验证模块:用于对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息;
生成模块:用于基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的测试数据的生成方法的任意步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有测试数据的生成程序,所述测试数据的生成程序被处理器执行时,实现如上所述测试数据的生成方法的任意步骤。
本发明提出的测试数据的生成方法、装置、设备及存储介质,根据样例数据的相关信息获取数据生成规则,可以用户对测试数据的不同需求,例如数量、数据类型、输出的数据格式等特征,对样例数据进行识别及处理生成性能测试需要的测试数据,具备一定的通用性,解决性能测试数据的准备问题,相对于纯手工或编写脚本的方式,降低对测试人员的技术要求,释放更多测试人力,提高了测试数据的生成效率。
附图说明
图1为本发明测试数据的生成方法较佳实施例的流程图示意图;
图2为本发明测试数据的生成装置较佳实施例的模块示意图;
图3为本发明电子设备较佳实施例的示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种测试数据的生成方法。参照图1所示,为本发明测试数据的生成方法的实施例的方法流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。测试数据的生成方法包括:
步骤S10:接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据。
在本实施例中,当用户需要生成大量的测试数据时,用户可以开启终端上用于生成测试数据的应用程序,通过该应用程序输入测试数据的样例数据,及输入该样例数据的相关信息,用户输入样例数据的相关信息后,可以将样例数据及其相关信息提交并发出自动生成测试数据的请求,终端接收到用户发出的自动生成测试数据的请求后,解析该请求获取请求中携带的待生成测试数据的样例数据。请求中可以包括样例数据及其相关信息,也可以包括样例数据的存储路径及唯一的标识。也就是说,样例数据可以是用户在提交生成测试数据请求时一并录入,也可以是用户提交生成测试数据的请求之后应用程序从请求指定的地址中获取。
进一步地,在接收用户发出的自动生成测试数据的请求之前,所述方法还包括:
提供预设的操作界面,供用户预先配置待生成测试数据的相关信息,所述相关信息包括数据生成的数量、生成数据后输出格式。
当用户开启终端上用于配置待测试数据的应用程序时,终端会接收到用户对该应用程序的请求指令,然后在终端显示屏上显示一个监控配置信息的操作界面。用户可以在该操作界面中选择需要配置的待生成测试数据的相关信息,相关信息包括:数据类型,数据字符长度,数据生成的数量、生成数据后输出格式(例如,csv、word、txt、xlsx等格式)、是否需要对生成的数据进行加密(例如,加密可以利用MD5加密算法、AES算法、DES加密算法、RSA加密算法、DSA加密算法)等。
在一个实施例中,在提供预设的操作界面之前,所述方法还包括:
获取所述用户的身份信息,将所述身份信息与具备发起请求权限的白名单进行匹配,当匹配成功时,执行用户配置的步骤,当匹配失败时拒绝所述请求。
将用户的身份信息与预设数据库中的具备请求权限的白名单进行匹配,白名单可以是指具有配置权限的测试人员的用户名单,当白名单中存在与用户身份信息匹配的数据时,认为用户具备发起配置请求的权限,当白名单中不存在与用户身份信息匹配的数据时,认为用户不具备权限。
步骤S20:对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息。
在本实施例中,为了避免用户输入的样例数据的格式出现错误,可以对样例数据执行验证操作,当样例数据通过验证操作时,再获取样例数据的相关信息。其中,可以根据样例数据的数据类型进行验证,数据类型包括但不限于:字符串类型,数值类型、布尔型、字符与数值混合型、日期类型等。
字符串类型的字母可以是大写或小写,其数据长度可以是固定的,如果为固定长度,则可以验证具体长度。若长度不是固定的,则可以验证数据的长度是否在预设范围内;
数值类型的数据由于数据长度大多是不一致的,如手机号、身份证、银行卡号等,可根据数据长度进行验证;
字符与数值混合型,该类型的数据有固定不变的部分,例如,PH38990001,固定不变的部分为PH,其他数字部分可设定为从某一数值开始,不断加1生成。
在一个实施例中,所述对所述样例数据执行验证操作包括:
基于预设的正则表达式识别出样例数据的数据类型,根据所述样例数据的数据类型调用预先配置的验证规则对所述样例数据进行验证操作,其中,所述验证规则包括:判断所述样例数据的数据长度是否为固定值,当判断所述样例数据的数据长度是为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否为对应的固定值;当判断所述样例数据的数据长度不为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否在对应的预设范围内。
样例数据的数据长度可能是固定的,也可能是非固定长度,如果为固定长度,则可以验证具体长度。若数据长度不是固定的,则可以验证数据的长度是否在预设范围内。
例如,当识别出样例数据为身份证号码时,可以调用身份证验证规则对样例数据进行验证,身份证验证规则可以是根据字符长度进行验证的,具体地,18位身份证号码组成:“ddddddyyyymmddxxsp”共18位,“dddddd”为6位的地方代码,根据这6位可以获得该身份证号所在地,“yyyy”为4位的年份代码,是身份证持有人的出身年份,“mm”为2位的月份代码,是身份证持有人的出身月份,“dd”为2位的日期代码,是身份证持有人的出身日,这6位在一起组成了身份证持有人的出生日期,“xx”为2位的顺序码,这个是随机数,s为1位的性别代码,奇数代表男性,偶数代表女性,最后一位为验证位。
将17位数字的身份证号码加权求和,S=Sum(Ai*Wi),i=0,1,...,16,对前17位数字的权求和,其中,Ai表示第i位置上的身份证号码数字,Wi表示第i位置上的加权因子,假设Wi为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2,再计算模Y=mod(S,11),通过模得到对应的验证码Y:0 1 2 3 4 5 6 7 8 9 10,验证码:1 0 X 9 8 7 6 5 4 3 2,如果得到余数为1则最后的验证位p为对应的0。如果验证位p不为0,该身份证号码不正确,即样例数据未未通过验证。
在一个实施例中,在所述判断所述样例数据是否通过所述验证操作之后,所述方法还包括:
当所述样例数据未通过所述验证操作时,向所述用户发送预设提示信息,当接收到用户基于所述预设提示信息发送的新的样例数据时,对该样例数据执行验证操作。预设提示信息可以是“样例数据格式不正确”等,以供用户重新输入正确的样例数据。
步骤S30:基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
在本实施例中,根据样例数据的相关信息调用与样例数据相关联的数据生成规则,其中,数据生成规则可以是预先存储的,每种数据类型对应着不同的生成规则,例如,涉及数值型的样例数据,可以根据随机数来生成测试数据,基于生成规则生成所述请求对应的目标测试数据并反馈至用户。
在一个实施例中,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第一预设类型的样例数据时,基于预设数据表的固定编码信息确定该样例数据中不属于固定编码的编码位置,删除所述编码位置的编码,并随机生成新的编码填充至所述编码位置,将填充后的样例数据作为所述目标测试数据。
以第一预设类型的数据为手机号对该实施例进行说明,手机号是按照存在的号码段+号码格式自动生成的,前面七位是固定存在的,例如1381168AAAA,1168号段是预设数据表(例如,手机号的号段数据表)中存在的城市编码,138也是数据表中存在的号段,“AAAA”的位置为不属于固定编码的编码位置,删除“AAAA”位置的号码,采用随机方式生成的任意0~9中的数字填充至该编码位置,将填充后的样例数据作为目标测试数据,即生成一个手机号。
在一个实施例中,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第二预设类型的样例数据时,基于预设数据表的标识编码信息确定该样例数据的第一标识编码和第二标识编码,将所述第一标识编码替换为预设编码集的任一标识编码,将所述第二标识编码替换为与所述第二标识编码不同类型的标识编码,将替换后的样例数据作为所述目标测试数据。
例如,第二预设数据类型为身份证号码时,根据身份证号段数据表的标识年份编码和性别编码确定出该样例数据的标识年份编码和性别编码,将该样例数据的身份证号中标识年份的数据替换成1960-2000中的随机一个年份,将该样例数据的身份证号中标识性别的数据更改为奇数(表示男)或者偶数(表示女),将替换后的样例数据作为目标测试数据。
在一个实施例中,在所述基于所述生成规则生成所述请求对应的目标测试数据之后,所述方法还包括:
判断所述目标测试数据的字段是否存在缺失,当所述目标测试数据的字段不存在缺失时,判断所述目标测试数据的字段与预设的配置字段是否匹配,当所述目标测试数据的字段与所述配置字段匹配时,确定所述测试数据正确;
当所述测试数据的字段存在缺失,或者当所述目标测试数据的字段不存在缺失,但所述目标测试数据的字段与所述配置字段不匹配时,确定所述目标测试数据错误。
当目标测试数据为家庭住址时,预设的配置字段是按照预先设置的格式进行设置的。例如,可以预先设置配置字段固定为字符,且字符的格式为XX国XX市XX区XX路XX号。
判断家庭住址字段是否存在缺失。例如,若生成的目标测试数据为“中国广东省深圳市罗湖区金湖路1号”,而生成的测试数据只包含“中国广东省深圳市罗湖区1号”,缺失了路名,则判段目标测试数据不正确;当家庭住址字段不存在缺失时,判断目标测试数据的字段与预设的配置字段是否匹配。例如,若生成的目标测试数据为“金湖路1号中国广东省深圳市罗湖区”,与匹配规则的“中国广东省深圳市罗湖区金湖路1号”不一致,则目标测试数据的字段与配置字段不匹配,判断生成的目标测试数据错误。
在一个实施例中,在所述基于所述生成规则生成所述请求对应的目标测试数据之后,所述方法还包括:
利用预设的测试工具对所述目标测试数据的有效性进行验证,判断所述目标测试数据是否通过所述测试工具的验证,当所述目标测试数据未通过所述测试工具的验证时,将所述目标测试数据删除。
将生成的目标测试数据发送至相关联的测试工具,利用测试工具自带的验证功能对目标测试数据的有效性进行验证,当目标测试数据未通过测试工具的有效性验证时,将目标测试数据删除。
参照图2所示,为本发明测试数据的生成装置100的功能模块示意图。
本发明所述测试数据的生成装置100可以安装于电子设备中。根据实现的功能,所述测试数据的生成装置100可以包括获取模块110、验证模块120及生成模块130。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
获取模块110,用于接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据。
在本实施例中,当用户需要生成大量的测试数据时,用户可以开启终端上用于生成测试数据的应用程序,通过该应用程序输入测试数据的样例数据,及输入该样例数据的相关信息,用户输入样例数据的相关信息后,可以将样例数据及其相关信息提交并发出自动生成测试数据的请求,终端接收到用户发出的自动生成测试数据的请求后,解析该请求获取请求中携带的待生成测试数据的样例数据。请求中可以包括样例数据及其相关信息,也可以包括样例数据的存储路径及唯一的标识。也就是说,样例数据可以是用户在提交生成测试数据请求时一并录入,也可以是用户提交生成测试数据的请求之后应用程序从请求指定的地址中获取。
进一步地,所述获取模块还用于:
提供预设的操作界面,供用户预先配置待生成测试数据的相关信息,所述相关信息包括数据生成的数量、生成数据后输出格式。
当用户开启终端上用于配置待测试数据的应用程序时,终端会接收到用户对该应用程序的请求指令,然后在终端显示屏上显示一个监控配置信息的操作界面。用户可以在该操作界面中选择需要配置的待生成测试数据的相关信息,相关信息包括:数据类型,数据字符长度,数据生成的数量、生成数据后输出格式(例如,csv、word、txt、xlsx等格式)、是否需要对生成的数据进行加密(例如,加密可以利用MD5加密算法、AES算法、DES加密算法、RSA加密算法、DSA加密算法)等。
在一个实施例中,所述获取模块还用于:
获取所述用户的身份信息,将所述身份信息与具备发起请求权限的白名单进行匹配,当匹配成功时,执行用户配置的步骤,当匹配失败时拒绝所述请求。
将用户的身份信息与预设数据库中的具备请求权限的白名单进行匹配,白名单可以是指具有配置权限的测试人员的用户名单,当白名单中存在与用户身份信息匹配的数据时,认为用户具备发起配置请求的权限,当白名单中不存在与用户身份信息匹配的数据时,认为用户不具备权限。
验证模块120,用于对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息。
在本实施例中,为了避免用户输入的样例数据的格式出现错误,可以对样例数据执行验证操作,当样例数据通过验证操作时,再获取样例数据的相关信息。其中,可以根据样例数据的数据类型进行验证,数据类型包括但不限于:字符串类型,数值类型、布尔型、字符与数值混合型、日期类型等。
字符串类型的字母可以是大写或小写,其数据长度可以是固定的,如果为固定长度,则可以验证具体长度。若长度不是固定的,则可以验证数据的长度是否在预设范围内;
数值类型的数据由于数据长度大多是不一致的,如手机号、身份证、银行卡号等,可根据数据长度进行验证;
字符与数值混合型,该类型的数据有固定不变的部分,例如,PH38990001,固定不变的部分为PH,其他数字部分可设定为从某一数值开始,不断加1生成。
在一个实施例中,所述对所述样例数据执行验证操作包括:
基于预设的正则表达式识别出样例数据的数据类型,根据所述样例数据的数据类型调用预先配置的验证规则对所述样例数据进行验证操作,其中,所述验证规则包括:判断所述样例数据的数据长度是否为固定值,当判断所述样例数据的数据长度是为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否为对应的固定值;当判断所述样例数据的数据长度不为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否在对应的预设范围内。
样例数据的数据长度可能是固定的,也可能是非固定长度,如果为固定长度,则可以验证具体长度。若数据长度不是固定的,则可以验证数据的长度是否在预设范围内。
例如,当识别出样例数据为身份证号码时,可以调用身份证验证规则对样例数据进行验证,身份证验证规则可以是根据字符长度进行验证的,具体地,18位身份证号码组成:“ddddddyyyymmddxxsp”共18位,“dddddd”为6位的地方代码,根据这6位可以获得该身份证号所在地,“yyyy”为4位的年份代码,是身份证持有人的出身年份,“mm”为2位的月份代码,是身份证持有人的出身月份,“dd”为2位的日期代码,是身份证持有人的出身日,这6位在一起组成了身份证持有人的出生日期,“xx”为2位的顺序码,这个是随机数,s为1位的性别代码,奇数代表男性,偶数代表女性,最后一位为验证位。
将17位数字的身份证号码加权求和,S=Sum(Ai*Wi),i=0,1,...,16,对前17位数字的权求和,其中,Ai表示第i位置上的身份证号码数字,Wi表示第i位置上的加权因子,假设Wi为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2,再计算模Y=mod(S,11),通过模得到对应的验证码Y:0 1 2 3 4 5 6 7 8 9 10,验证码:1 0 X 9 8 7 6 5 4 3 2,如果得到余数为1则最后的验证位p为对应的0。如果验证位p不为0,该身份证号码不正确,即样例数据未未通过验证。
在一个实施例中,所述验证模块还用于:
当所述样例数据未通过所述验证操作时,向所述用户发送预设提示信息,当接收到用户基于所述预设提示信息发送的新的样例数据时,对该样例数据执行验证操作。预设提示信息可以是“样例数据格式不正确”等,以供用户重新输入正确的样例数据。
生成模块130,用于基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
在本实施例中,根据样例数据的相关信息调用与样例数据相关联的数据生成规则,其中,数据生成规则可以是预先存储的,每种数据类型对应着不同的生成规则,例如,涉及数值型的样例数据,可以根据随机数来生成测试数据,基于生成规则生成所述请求对应的目标测试数据并反馈至用户。
在一个实施例中,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第一预设类型的样例数据时,基于预设数据表的固定编码信息确定该样例数据中不属于固定编码的编码位置,删除所述编码位置的编码,并随机生成新的编码填充至所述编码位置,将填充后的样例数据作为所述目标测试数据。
以第一预设类型的数据为手机号对该实施例进行说明,手机号是按照存在的号码段+号码格式自动生成的,前面七位是固定存在的,例如1381168AAAA,1168号段是预设数据表(例如,手机号的号段数据表)中存在的城市编码,138也是数据表中存在的号段,“AAAA”的位置为不属于固定编码的编码位置,删除“AAAA”位置的号码,采用随机方式生成的任意0~9中的数字填充至该编码位置,将填充后的样例数据作为目标测试数据,即生成一个手机号。
在一个实施例中,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第二预设类型的样例数据时,基于预设数据表的标识编码信息确定该样例数据的第一标识编码和第二标识编码,将所述第一标识编码替换为预设编码集的任一标识编码,将所述第二标识编码替换为与所述第二标识编码不同类型的标识编码,将替换后的样例数据作为所述目标测试数据。
例如,第二预设数据类型为身份证号码时,根据身份证号段数据表的标识年份编码和性别编码确定出该样例数据的标识年份编码和性别编码,将该样例数据的身份证号中标识年份的数据替换成1960-2000中的随机一个年份,将该样例数据的身份证号中标识性别的数据更改为奇数(表示男)或者偶数(表示女),将替换后的样例数据作为目标测试数据。
在一个实施例中,所述生成模块还用于:
判断所述目标测试数据的字段是否存在缺失,当所述目标测试数据的字段不存在缺失时,判断所述目标测试数据的字段与预设的配置字段是否匹配,当所述目标测试数据的字段与所述配置字段匹配时,确定所述测试数据正确;
当所述测试数据的字段存在缺失,或者当所述目标测试数据的字段不存在缺失,但所述目标测试数据的字段与所述配置字段不匹配时,确定所述目标测试数据错误。
当目标测试数据为家庭住址时,预设的配置字段是按照预先设置的格式进行设置的。例如,可以预先设置配置字段固定为字符,且字符的格式为XX国XX市XX区XX路XX号。
判断家庭住址字段是否存在缺失。例如,若生成的目标测试数据为“中国广东省深圳市罗湖区金湖路1号”,而生成的测试数据只包含“中国广东省深圳市罗湖区1号”,缺失了路名,则判段目标测试数据不正确;当家庭住址字段不存在缺失时,判断目标测试数据的字段与预设的配置字段是否匹配。例如,若生成的目标测试数据为“金湖路1号中国广东省深圳市罗湖区”,与匹配规则的“中国广东省深圳市罗湖区金湖路1号”不一致,则目标测试数据的字段与配置字段不匹配,判断生成的目标测试数据错误。
在一个实施例中,所述生成模块还用于:
利用预设的测试工具对所述目标测试数据的有效性进行验证,判断所述目标测试数据是否通过所述测试工具的验证,当所述目标测试数据未通过所述测试工具的验证时,将所述目标测试数据删除。
将生成的目标测试数据发送至相关联的测试工具,利用测试工具自带的验证功能对目标测试数据的有效性进行验证,当目标测试数据未通过测试工具的有效性验证时,将目标测试数据删除。
参照图3所示,为本发明电子设备1较佳实施例的示意图。
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如测试数据的生成程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行测试数据的生成程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图3仅示出了具有组件11-14以及测试数据的生成程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
该电子设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的测试数据的生成程序10时可以实现如下步骤:
接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据;
对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息;
基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照上述图2关于测试数据的生成装置100实施例的功能模块图以及图1关于测试数据的生成方法实施例的流程图的说明。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性的,也可以是易失性的。该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有测试数据的生成程序10,所述测试数据的生成程序10被处理器执行时实现如下操作:
接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据;
对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息;
基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
本发明之计算机可读存储介质的具体实施方式与上述测试数据的生成方法的具体实施方式大致相同,在此不再赘述。
在另一个实施例中,本发明所提供的测试数据的生成方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如样例数据及目标测试数据等,这些数据均可存储在区块链节点中。
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种测试数据的生成方法,其特征在于,所述方法包括:
接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据;
对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息;
基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
2.如权利要求1所述的测试数据的生成方法,其特征在于,所述对所述样例数据执行验证操作包括:
基于预设的正则表达式识别出样例数据的数据类型,根据所述样例数据的数据类型调用预先配置的验证规则对所述样例数据进行验证操作,其中,所述验证规则包括:判断所述样例数据的数据长度是否为固定值,当判断所述样例数据的数据长度是为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否为对应的固定值;
当判断所述样例数据的数据长度不为固定值时,根据该样例数据的数据类型验证该样例数据的数据长度是否在对应的预设范围内。
3.如权利要求1或2所述的测试数据的生成方法,其特征在于,在所述判断所述样例数据是否通过所述验证操作之后,所述方法还包括:
当所述样例数据未通过所述验证操作时,向所述用户发送预设提示信息,当接收到用户基于所述预设提示信息发送的新的样例数据时,对该样例数据执行验证操作。
4.如权利要求1所述的测试数据的生成方法,其特征在于,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第一预设类型的样例数据时,基于预设数据表的固定编码信息确定该样例数据中不属于固定编码的编码位置,删除所述编码位置的编码,并随机生成新的编码填充至所述编码位置,将填充后的样例数据作为所述目标测试数据。
5.如权利要求1所述的测试数据的生成方法,其特征在于,所述基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据包括:
当所述样例数据为第二预设类型的样例数据时,基于预设数据表的标识编码信息确定该样例数据的第一标识编码和第二标识编码,将所述第一标识编码替换为预设编码集的任一标识编码,将所述第二标识编码替换为与所述第二标识编码不同类型的标识编码,将替换后的样例数据作为所述目标测试数据。
6.如权利要求1、4和5中任意一项所述的测试数据的生成方法,其特征在于,在所述基于所述生成规则生成所述请求对应的目标测试数据之后,所述方法还包括:
判断所述目标测试数据的字段是否存在缺失,当所述目标测试数据的字段不存在缺失时,判断所述目标测试数据的字段与预设的配置字段是否匹配,当所述目标测试数据的字段与所述配置字段匹配时,确定所述测试数据正确;
当所述测试数据的字段存在缺失,或者当所述目标测试数据的字段不存在缺失,但所述目标测试数据的字段与所述配置字段不匹配时,确定所述目标测试数据错误。
7.如权利要求1所述的测试数据的生成方法,其特征在于,在所述基于所述生成规则生成所述请求对应的目标测试数据之后,所述方法还包括:
利用预设的测试工具对所述目标测试数据的有效性进行验证,判断所述目标测试数据是否通过所述测试工具的验证,当所述目标测试数据未通过所述测试工具的验证时,将所述目标测试数据删除。
8.一种测试数据的生成装置,其特征在于,所述装置包括:
获取模块:用于接收用户发出的自动生成测试数据的请求,解析所述请求,获取请求中携带的待生成测试数据的样例数据;
验证模块:用于对所述样例数据执行验证操作并判断所述样例数据是否通过所述验证操作,当所述样例数据通过所述验证操作时,获取所述样例数据的相关信息;
生成模块:用于基于所述样例数据的相关信息获取与所述样例数据相关联的数据生成规则,基于所述生成规则生成所述请求对应的目标测试数据,将所述目标测试数据反馈至所述用户。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的测试数据的生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有测试数据的生成程序,所述测试数据的生成程序被处理器执行时,实现如权利要求1至7中任一项所述测试数据的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011320995.1A CN112416770A (zh) | 2020-11-23 | 2020-11-23 | 测试数据的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011320995.1A CN112416770A (zh) | 2020-11-23 | 2020-11-23 | 测试数据的生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416770A true CN112416770A (zh) | 2021-02-26 |
Family
ID=74777372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011320995.1A Pending CN112416770A (zh) | 2020-11-23 | 2020-11-23 | 测试数据的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416770A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342667A (zh) * | 2021-06-18 | 2021-09-03 | 杭州网易再顾科技有限公司 | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
-
2020
- 2020-11-23 CN CN202011320995.1A patent/CN112416770A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342667A (zh) * | 2021-06-18 | 2021-09-03 | 杭州网易再顾科技有限公司 | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
US11023533B2 (en) | Node task data display method and apparatus, storage medium and computer equipment | |
CN108768929B (zh) | 电子装置、征信反馈报文的解析方法及存储介质 | |
WO2020233091A1 (zh) | 业务数据回退方法、装置、计算机设备和存储介质 | |
CN112965982B (zh) | 表格处理方法、装置、设备及存储介质 | |
CN108287823B (zh) | 消息数据处理方法、装置、计算机设备和存储介质 | |
CN110597511B (zh) | 一种页面自动生成方法、系统、终端设备及存储介质 | |
CN111651468A (zh) | 基于sql解析的数据更新方法、装置、电子设备及存储介质 | |
CN113434674A (zh) | 数据解析方法、装置、电子设备及可读存储介质 | |
CN112418798A (zh) | 信息审核方法、装置、电子设备及存储介质 | |
CN112115145A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN111459812A (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN111695093A (zh) | 基于iOS应用的加固方法、电子装置及存储介质 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN112416770A (zh) | 测试数据的生成方法、装置、设备及存储介质 | |
CN114491646A (zh) | 数据脱敏方法、装置、电子设备及存储介质 | |
CN113837113A (zh) | 基于人工智能的文档校验方法、装置、设备及介质 | |
CN112000692B (zh) | 页面查询反馈方法、装置、计算机设备及可读存储介质 | |
CN111611465A (zh) | 产品检测系统、方法、装置、计算机设备和存储介质 | |
CN112579453A (zh) | 任务测试方法、装置、设备及存储介质 | |
CN112685439B (zh) | 针对风控系统的造数方法、系统、装置及存储介质 | |
CN111143399B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN114036068A (zh) | 基于隐私安全的更新检测方法、装置、设备及存储介质 | |
CN113723813A (zh) | 业绩排行方法、装置、电子设备及可读存储介质 | |
CN113722225A (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 |