一种生成测试数据的方法和装置制造方法及图纸

技术编号:21398725 阅读:18 留言:0更新日期:2019-06-19 06:55
本发明专利技术公开了一种生成测试数据的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:构造被测任务的预期结果数据;根据所述预期结果数据在所述被测任务中的生成规则,按照预设的逆向流程图逆向生成测试数据。能够快速、准确、自动化地生成测试数据,并且对于异常流程的测试数据也可容易地生成,提高测试效率。

【技术实现步骤摘要】
一种生成测试数据的方法和装置
本专利技术涉及计算机
,尤其涉及一种生成测试数据的方法和装置。
技术介绍
在测试定时任务时,需要构造这个业务流程中每一步所用的数据表,测试不同的流程,要构造不同的数据。测试整个业务流程,需要构造整个业务流程每个环节所需要的数据值,再运行任务,去验证结果数据。构造测试数据是一项比较繁琐的工作,目前测试单个任务模块需要分别在多个数据表中构造数据,然后通过构造的测试数据算出期望结果,再通过任务模块根据数据运行的实际结果进行比较,若多个模块进行关联的时候,复杂度会更大,构造数据会更加复杂。目前构造这些任务模块的数据主要通过两种方式:第一种方式是把定时任务模块所需要数据表列出来,然后划出数据表之间的关联关系,按照数据表分别进行构造,插入单条数据;第二种方式是把任务模块所需要数据表罗列出来,按照数据表之间的关联关系,编写一个存储过程,批量插入数据。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:人工工作量大、工作内容繁琐、耗时多、容易出现遗漏,不够智能的问题;上述第二种方式虽然可以实现批量构造数据的问题,但是对于异常流程的数据还是无法完成。
技术实现思路
有鉴于此,本专利技术实施例提供一种生成测试数据的方法和装置,能够快速、准确、自动化地生成测试数据,并且对于异常流程的测试数据也可容易地生成,提高测试效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种生成测试数据的方法。一种生成测试数据的方法,包括:构造被测任务的预期结果数据;根据所述预期结果数据在所述被测任务中的生成规则,按照预设的逆向流程图逆向生成测试数据。可选地,所述生成规则为:利用所述测试数据所在来源表的条件关键字段进行预设判定,从而生成所述预期结果数据;按照预设的逆向流程图逆向生成测试数据的步骤,包括:遍历所述预设的逆向流程图的各流程分支的预期结果数据;对于每个预期结果数据,判断生成该预期结果数据所需的每个来源表的条件关键字段的预设值是否为1,若是,则生成为1的数据作为相应来源表的测试数据,否则,生成为0的数据作为相应来源表的测试数据。可选地,所述生成规则为:对所述测试数据所在的各来源表的预设字段进行拷贝,从而生成所述预期结果数据;按照预设的逆向流程图逆向生成测试数据的步骤,包括:遍历所述预设的逆向流程图的各流程分支的预期结果数据;对于每个预期结果数据,读取生成该预期结果数据所需的每个来源表的预设字段及该预设字段的预设值;将所述预设字段及所述预设字段的预设值逆向拷贝到相应来源表,以生成相应来源表的测试数据。可选地,所述生成规则为:利用所述测试数据所在的第一来源表和第二来源表的相关字段进行预设运算,从而生成所述预期结果数据;按照预设的逆向流程图逆向生成测试数据的步骤,包括:遍历所述预设的逆向流程图的各流程分支的预期结果数据;随机生成大于零且小于所述预期结果数据的值的随机数,将所述随机数作为所述第一来源表的测试数据;根据所述第一来源表的测试数据和所述预期结果数据,按照所述预设运算的逆向运算生成所述第二来源表的测试数据。可选地,所述预设运算包括字段值相加,和/或字段值相乘。根据本专利技术实施例的另一方面,提供了一种生成测试数据的装置。一种生成测试数据的装置,包括:构造模块,用于构造被测任务的预期结果数据;生成模块,用于根据所述预期结果数据在所述被测任务中的生成规则,按照预设的逆向流程图逆向生成测试数据。可选地,所述生成规则为:利用所述测试数据所在来源表的条件关键字段进行预设判定,从而生成所述预期结果数据;所述生成模块还用于:遍历所述预设的逆向流程图的各流程分支的预期结果数据;对于每个预期结果数据,判断生成该预期结果数据所需的每个来源表的条件关键字段的预设值是否为1,若是,则生成为1的数据作为相应来源表的测试数据,否则,生成为0的数据作为相应来源表的测试数据。可选地,所述生成规则为:对所述测试数据所在的各来源表的预设字段进行拷贝,从而生成所述预期结果数据;所述生成模块还用于:遍历所述预设的逆向流程图的各流程分支的预期结果数据;对于每个预期结果数据,读取生成该预期结果数据所需的每个来源表的预设字段及该预设字段的预设值;将所述预设字段及所述预设字段的预设值逆向拷贝到相应来源表,以生成相应来源表的测试数据。可选地,所述生成规则为:利用所述测试数据所在的第一来源表和第二来源表的相关字段进行预设运算,从而生成所述预期结果数据;所述生成模块还用于:遍历所述预设的逆向流程图的各流程分支的预期结果数据;随机生成大于零且小于所述预期结果数据的值的随机数,将所述随机数作为所述第一来源表的测试数据;根据所述第一来源表的测试数据和所述预期结果数据,按照所述预设运算的逆向运算生成所述第二来源表的测试数据。可选地,所述预设运算包括字段值相加,和/或字段值相乘。根据本专利技术实施例的又一方面,提供了一种电子设备。一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本专利技术提供的生成测试数据的方法。根据本专利技术实施例的又一方面,提供了一种计算机可读介质。一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术提供的生成测试数据的方法。上述专利技术中的一个实施例具有如下优点或有益效果:构造被测任务的预期结果数据;根据预期结果数据在被测任务中的生成规则,按照预设的逆向流程图逆向生成测试数据。能够快速、准确、自动化地生成测试数据,并且对于异常流程的测试数据也可容易地生成,提高测试效率。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的生成测试数据的方法的主要步骤示意图;图2是根据本专利技术的一个实施例的生成测试数据的方法的逆向流程图的示意图;图3是根据本专利技术的又一个实施例的生成测试数据的方法的逆向流程图的示意图;图4是根据本专利技术的又一个实施例的生成测试数据的方法的逆向流程图的示意图;图5是根据本专利技术实施例的生成测试数据的装置的主要模块示意图;图6是本专利技术实施例可以应用于其中的示例性系统架构图;图7是适于用来实现本专利技术实施例的服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。由于逐步构造测试过程中的数据比较繁琐,但是通过结果数据逆向去生成流程过程中所需要的数据比较容易。本专利技术基于上述专利技术构思,通过对定时任务模块的流程状态逆向解析,构造出对定时任务测试流程的逆向流程图,先列出结果数据,以结果为导向,利用java语言等程序语言,基于构造的逆向流程图,逆向推理,自动生成测试整个业务流程中所需要的所有数据。图1是根据本专利技术实施例的生成测试数据的方法的主要步骤示意图。如图1所示,本专利技术实施例的生成测试数据的方法主要包括如下的步骤S101至步骤S102。步骤S101:构造被本文档来自技高网...

【技术保护点】
1.一种生成测试数据的方法,其特征在于,包括:构造被测任务的预期结果数据;根据所述预期结果数据在所述被测任务中的生成规则,按照预设的逆向流程图逆向生成测试数据。

【技术特征摘要】
1.一种生成测试数据的方法,其特征在于,包括:构造被测任务的预期结果数据;根据所述预期结果数据在所述被测任务中的生成规则,按照预设的逆向流程图逆向生成测试数据。2.根据权利要求1所述的方法,其特征在于,所述生成规则为:利用所述测试数据所在来源表的条件关键字段进行预设判定,从而生成所述预期结果数据;按照预设的逆向流程图逆向生成测试数据的步骤,包括:遍历所述预设的逆向流程图的各流程分支的预期结果数据;对于每个预期结果数据,判断生成该预期结果数据所需的每个来源表的条件关键字段的预设值是否为1,若是,则生成为1的数据作为相应来源表的测试数据,否则,生成为0的数据作为相应来源表的测试数据。3.根据权利要求1所述的方法,其特征在于,所述生成规则为:对所述测试数据所在的各来源表的预设字段进行拷贝,从而生成所述预期结果数据;按照预设的逆向流程图逆向生成测试数据的步骤,包括:遍历所述预设的逆向流程图的各流程分支的预期结果数据;对于每个预期结果数据,读取生成该预期结果数据所需的每个来源表的预设字段及该预设字段的预设值;将所述预设字段及所述预设字段的预设值逆向拷贝到相应来源表,以生成相应来源表的测试数据。4.根据权利要求1所述的方法,其特征在于,所述生成规则为:利用所述测试数据所在的第一来源表和第二来源表的相关字段进行预设运算,从而生成所述预期结果数据;按照预设的逆向流程图逆向生成测试数据的步骤,包括:遍历所述预设的逆向流程图的各流程分支的预期结果数据;随机生成大于零且小于所述预期结果数据的值的随机数,将所述随机数作为所述第一来源表的测试数据;根据所述第一来源表的测试数据和所述预期结果数据,按照所述预设运算的逆向运算生成所述第二来源表的测试数据。5.根据权利要求4所述的方法,其特征在于,所述预设运算包括字段值相加,和/或字段值相乘。6.一种生成测试数据的装置,其特征在于,包括:构造模块,用于构造被测任务的预期结果数据;生成模块,用于根据所述预期结果数据在所述被...

【专利技术属性】
技术研发人员:马春荣
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1