一种生成测试数据的方法及装置技术领域
本发明涉及计算机技术领域,特别是涉及一种生成测试数据的方法及装置。
背景技术
为了满足不同的业务需求,需要针对业务需求的具体内容开发不同的业务处理系
统。当一个业务处理系统开发完成后,需要提供满足该业务需求的测试数据,对该业务处理
系统的功能进行测试。
在进行业务处理系统的测试时,可由开发人员人工编写测试数据。但是,开发人员
对业务功能了解不全面,人工造出的测试数据业务功能覆盖不全面,工作量大,速度慢,数
据量少,容易产生错误,不能满足业务处理系统测试的需求,导致测试效果差。
发明内容
本发明解决的技术问题在于提供一种生成测试数据的方法及装置,从而能够提供
自动生成测试数据的方案,提高测试效果。
为此,本发明解决技术问题的技术方案是:
一种生成测试数据的方法,所述方法包括:
对上游业务系统发送的实际业务数据进行数据漂白获得铺底数据表;
同步上游业务系统的接口变更信息;
根据所述铺底数据表,所述接口变更信息,以及预选的数据生成规则生成测试数
据。
可选的,所述根据所述铺底数据表,所述接口变更信息,以及预选的数据生成规则
生成测试数据包括:
所述接口变更信息包括变更字段和所述变更字段的变更方法,根据所述变更方法
对所述铺底数据表中的所述变更字段进行变更,获得变更数据表;
根据所述预选的数据生成规则生成所述变更数据表中所述变更字段所需的字段,
将所述字段填充至所述变更数据表生成测试数据。
可选的,所述根据所述变更方法对所述铺底数据表中的所述变更字段进行变更,
获得变更数据表包括:
对所述铺底数据表中的所述变更字段进行增加,删除,修改以及交换位置中的任
意一种变更,获得变更数据表。
可选的,所述方法还包括:
记录所述变更字段和所述变更字段的变更方法。
可选的,所述方法还包括:
将所述测试数据转换成符合传输格式数据文件;
根据预设的测试系统的配置,将所述数据文件传输至所述测试系统。
一种生成测试数据的装置,所述装置包括:
漂白单元,用于对上游业务系统发送的实际业务数据进行数据漂白获得铺底数据
表;
同步单元,用于同步上游业务系统的接口变更信息;
生成单元,用于根据所述铺底数据表,所述接口变更信息,以及预选的数据生成规
则生成测试数据。
可选的,所述生成单元包括:
变更子单元,用于所述接口变更信息包括变更字段和所述变更字段的变更方法,
根据所述变更方法对所述铺底数据表中的所述变更字段进行变更,获得变更数据表;
填充子单元,用于根据所述预选的数据生成规则生成所述变更数据表中所述变更
字段所需的字段,将所述字段填充至所述变更数据表生成测试数据。
可选的,
所述变更子单元,用于对所述铺底数据表中的所述变更字段进行增加,删除,修改
以及交换位置中的任意一种变更,获得变更数据表。
可选的,所述装置还包括:
记录单元,用于记录所述变更字段和所述变更字段的变更方法。
可选的,所述装置还包括:
转换单元,用于将所述测试数据转换成符合传输格式数据文件;
传输单元,用于根据预设的测试系统的配置,将所述数据文件传输至所述测试系
统。
通过上述技术方案可知,本发明有如下有益效果:
本发明提供了一种生成测试数据的方法及装置,对上游业务系统发送的实际业务
数据进行数据漂白获得铺底数据表;同步上游业务系统的接口变更信息;根据所述铺底数
据表,所述接口变更信息,以及预选的数据生成规则生成测试数据。所生成的测试数据,是
以实际的业务数据进行数据漂白后的铺底数据表为依据获得的,接近于实际应用中所需的
业务数据,业务功能覆盖全面,采用预选的数据生成规则自动生成测试数据,速度快,产生
的数据量大,数据精确,能提高测试效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
图1为本发明实施例提供的生成测试数据的方法流程图;
图2为本发明实施例提供的对变更字段进行变更一实例示意图;
图3为本发明实施例提供的对变更字段进行变更另一实例示意图;
图4为本发明实施例提供的对变更字段进行变更再一实例示意图;
图5为本发明实施例提供的对变更字段进行变更又一实例示意图;
图6为本发明实施例提供的生成测试数据的装置结构示意图。
具体实施方式
为了给出自动生成测试数据的的实现方案,本发明实施例提供了一种生成测试数
据的方法及装置,以下结合说明书附图对本发明的优选实施例进行说明。
图1为本发明实施例提供的生成测试数据的方法流程图,包括:
101:对上游业务系统发送的实际业务数据进行数据漂白获得铺底数据表。
上游业务系统指的是测试人员正在研发或更新的业务系统,是在实际应用中能够
满足实际业务需求的系统。本发明中,测试数据不是由工作人员根据测试需要人工编写出
来的数据,而是以上游业务系统发送的实际业务数据为依据自动生成的。这样生成的测试
数据更符合该业务系统在执行业务功能时所需的实际数据。
获取上游业务系统发送的实际业务数据后,对该实际业务数据进行数据漂白,主
要是去除或修改实际业务数据中会泄露用户隐私信息的数据,获得铺底数据表。例如:修改
实际业务数据中的人名,去除实际业务数据中的身份证号码等。
102:同步上游业务系统的接口变更信息。
在对上游业务系统进行研发或更新时,上游业务系统的接口变更后,同步上游业
务系统的接口变更信息,该接口变更信息包括接口的变更字段和该变更字段的变更方法。
其中,变更字段的变更方法包括:增加,删除,修改以及交换位置。
当变更方法为增加时,则在数据中增加该变更字段;当变更方法为删除时,则删除
该变更字段;当变更方法为修改时,则在数据中修改该变更字段的具体内容;当变更方法为
交换位置时,则交换变更字段的位置。
103:根据所述铺底数据表,所述接口变更信息,以及预选的数据生成规则生成测
试数据。
同步了上游业务系统的接口变更信息后,根据铺底数据表,接口变更信息,以及预
选的数据生成规则生成测试数据。
在一个例子中,所述根据所述铺底数据表,所述接口变更信息,以及预选的数据生
成规则生成测试数据包括:
所述接口变更信息包括变更字段和所述变更字段的变更方法,根据所述变更方法
对所述铺底数据表中的所述变更字段进行变更,获得变更数据表;
根据所述预选的数据生成规则生成所述变更数据表中所述变更字段所需的字段,
将所述字段填充至所述变更数据表生成测试数据。
根据接口变更信息对铺底数据表中的变更字段进行变更,当变更方法为增加时,
则铺底数据表中增加该变更字段。如图2所示,在铺底数据中增加“地址”字段。当变更方法
为删除时,则铺底数据表中删除该变更字段。如图3所示,在铺底数据中删除“联系方式”字
段。当变更方法为修改时,则铺底数据表中修改该变更字段。如图4所示,将铺底数据中的
“联系信息”字段修改为“地址”字段。当变更方法为交换位置时,则铺底数据表中交换该变
更字段的位置。如图5所示,将铺底数据中的字段“联系人”和字段“联系方式”交换位置。
对铺底数据表中的变更字段进行变更后,获得变更数据表。根据预选的数据生成
规则生成所述变更数据表中所述变更字段所需的字段。预选的数据生成规则包括:
(1)、随机生成字符型字段:可选择字段的字符类型,字符类型包括数字、汉字、大
写字母以及小写字母等,字符类型可以多选。
根据所选择的字段的字符类型,以及该字段的长度的限制,随机生成一个字段,举
例说明:选择字符类型为:数字、汉字、大写字母、小写字母,再断的长度为10,则随机生成的
字段为“12aAb小4大9z”。
(2)枚举法生成字符型字段:采用“|”作为分隔符,生成枚举的字符型字段。举例说
明:张三|李四|王二麻子|……
(3)随机生成日期型字段:在页面上输入时间上限和时间下限,随机生成日期型字
段。举例说明:时间上限为20160728,时间下限为20160101,则在上述区间内随机生成日期
型字段。
(4)枚举法生成日期型字段:采用“|”作为分隔符,生成枚举的日期型字段。举例说
明:20160110|20160328|20160405|……
(5)随机生成数字型字段:设置字段的类型,根据字段的类型随机生成数字型字
段。举例说明:字段为数字型,8位长度,3位小数,则生成随机字段为:“52321.101”。
(6)枚举法生成数字型字段:采用“|”作为分隔符,生成枚举的数字型字段。举例说
明:字段为数字型,4位长度,0位小数,则生成随机字段为:1428|5328|2005|……
从上述数据生成规则中,预先选择符合所要变更的字段的数据生成规则,利用预
选的数据生成规则生成变更字段所需的字段,将所生成的字段填充至变更数据表中该变更
字段处,则生成测试数据。这里需要说明的是,若变更方法仅仅是删除或者交换位置,则不
需要利用数据生成规则生成字段。
在一个例子中,还包括:
记录所述变更字段和所述变更字段的变更方法。
记录每次接口变更,记录接口变更的变更字段和该变更字段的变更方法,以便进
行接口变更的历史查询。
在一个例子中,所述方法还包括:
将所述测试数据转换成符合传输格式数据文件;
根据预设的测试系统的配置,将所述数据文件传输至所述测试系统。
生成测试数据后,将测试数据转换成符合传输格式数据文件,该传输格式是数据
下传平台中统一的传输格式,包括数据内容,14行文件尾,数据文件名称等。
在向测试系统传输测试数据的数据文件时,可以根据实际需要选择任意百分比的
测试数据进行传输。例如:可以向测试系统传输100%的测试数据,也可以传输50%的测试
数据,根据实际需要具体设置即可。
在向测试系统进行测试数据的数据文件传输时,根据测试系统的配置进行传输。
其中,测试系统的配置包括IP地址,FTP用户密码,以及传输路径等配置。测试系统接收到测
试数据的数据文件后,自动完成系统的测试。
图6为本发明实施例提供的成测试数据的装置结构示意图,包括:
漂白单元601,用于对上游业务系统发送的实际业务数据进行数据漂白获得铺底
数据表。
同步单元602,用于同步上游业务系统的接口变更信息。
生成单元603,用于根据所述铺底数据表,所述接口变更信息,以及预选的数据生
成规则生成测试数据。
可选的,所述生成单元包括:
变更子单元,用于所述接口变更信息包括变更字段和所述变更字段的变更方法,
根据所述变更方法对所述铺底数据表中的所述变更字段进行变更,获得变更数据表;
填充子单元,用于根据所述预选的数据生成规则生成所述变更数据表中所述变更
字段所需的字段,将所述字段填充至所述变更数据表生成测试数据。
可选的,
所述变更子单元,用于对所述铺底数据表中的所述变更字段进行增加,删除,修改
以及交换位置中的任意一种变更,获得变更数据表。
可选的,所述装置还包括:
记录单元,用于记录所述变更字段和所述变更字段的变更方法。
可选的,所述装置还包括:
转换单元,用于将所述测试数据转换成符合传输格式数据文件;
传输单元,用于根据预设的测试系统的配置,将所述数据文件传输至所述测试系
统。
图6所示的装置是与图1所示的方法所对应的装置,具体实现方法与图1所示的方
法类似,参考图1所示的方法中的描述,这里不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应
视为本发明的保护范围。