CN108984712B - 基于业务场景的造数方法、设备及可读存储介质 - Google Patents
基于业务场景的造数方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN108984712B CN108984712B CN201810743623.6A CN201810743623A CN108984712B CN 108984712 B CN108984712 B CN 108984712B CN 201810743623 A CN201810743623 A CN 201810743623A CN 108984712 B CN108984712 B CN 108984712B
- Authority
- CN
- China
- Prior art keywords
- service
- scene
- manufacture
- configuring
- field
- 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
Links
Images
Abstract
本发明公开了一种基于业务场景的造数方法,包括以下步骤:基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型,每个业务场景对应预设个数的分区库;配置造数测试计划,其中,所述造数测试计划包括至少一个造数测试案例,一个造数测试案例关联一个业务造数模型;执行所述造数测试计划中的造数测试案例,以通过各造数测试案例关联的业务造数模型进行业务造数。本发明还公开了一种造数设备及可读存储介质。本发明造数不依赖编程,支持关联表造数,通用性强。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种基于业务场景的造数方法、设备及可读存储介质。
背景技术
目前绝大多数业务系统的大数据测试都存在造数困难的问题,其原因主要表现在:业务测试数据涉及许多表数据,而各个数据表之间的数据又都有相互关联关系,同时现有的造数工具通常都只对同一张数据表进行表字段造数,因而不支持具有关联关系的表字段关联造数,同时现有造数过程依赖编程,进而导致开发成本高、通用性小。
发明内容
本发明的主要目的在于提供一种基于业务场景的造数方法、设备及可读存储介质,旨在解决如何不依赖脚本编程实现关联表造数的技术问题。
为实现上述目的,本发明提供一种基于业务场景的造数方法,所述基于业务场景的造数方法包括以下步骤:
基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型,每个业务场景对应预设个数的分区库;
配置造数测试计划,其中,所述造数测试计划包括至少一个造数测试案例,一个造数测试案例关联一个业务造数模型;
执行所述造数测试计划中的造数测试案例,以通过各造数测试案例关联的业务造数模型进行业务造数。
可选地,所述基于不同业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型包括:
配置各业务场景的基本信息、业务字段基本信息、业务字段造数规则以及业务字段对应造数SQL语句的生成逻辑,以构成对应的业务造数模型;
其中,在配置业务字段基本信息时,若本业务场景存在业务字段关联的后置业务场景,则将本业务场景的关联业务字段设置为本业务场景的场景输出字段;若本业务场景存在业务字段关联的前置业务场景,则设置本业务场景的关联业务字段与前置业务场景的场景输出字段之间的引用关系。
可选地,所述基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型包括:
配置各业务场景的基本信息、业务字段基本信息、业务字段造数规则以及业务字段对应造数SQL语句的生成逻辑,以构成对应的业务造数模型;
其中,在配置业务字段基本信息时,若本业务场景中存在相互关联的业务字段,且相互关联的业务字段分别属于不同的数据库表,则设置所述相互关联的业务字段之间的引用关系。
可选地,所述基于业务场景的造数方法还包括:
在配置各业务场景对应的业务造数模型时,配置各业务场景的场景全局变量,以供临时存放前置业务场景的场景输出字段,并设置本业务场景的关联业务字段与场景全局变量之间的引用关系。
可选地,所述配置业务字段对应造数SQL语句的生成逻辑包括:
采用可扩展标记语言XML,配置业务字段对应造数SQL语句的生成逻辑,所述生成逻辑为包括多条造数SQL标签的XML格式文本;
其中,所述造数SQL标签通过配置条件属性,设置执行造数的触发条件,通过配置database属性,设置需要执行造数的数据库,通过配置repeat属性,设置循环进行造数的次数。
可选地,所述配置造数测试计划包括:
配置造数测试计划的基本信息、各造数测试案例的基本信息、案例全局变量以及各造数测试案例关联的业务造数模型;
其中,在配置造数测试案例时,将其他造数测试案例对应业务场景的场景输出字段配置导入到本造数测试案例的案例全局变量中,以供本造数测试案例进行造数时引用。
可选地,所述通过各造数测试案例关联的业务造数模型进行业务造数包括:
解析各造数测试案例关联的业务造数模型中造数SQL语句的生成逻辑和待造数业务字段的造数规则,得到待造数业务字段对应的造数SQL语句;
执行造数SQL语句进行造数;
其中,在进行案例造数时,若造数测试案例对应业务场景设有场景输出字段,则在生成案例数据时输出该场景输出字段。
可选地,所述基于业务场景的造数方法还包括:
在配置各造数测试案例的基本信息时,设置各造数测试案例所属的业务场景分类与分区库分区分类,以供对造数测试计划内各造数测试案例进行联合分类管理。
进一步地,为实现上述目的,本发明还提供一种造数设备,所述造数设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于业务场景的造数程序,所述基于业务场景的造数程序被所述处理器执行时实现如上述任一项所述的基于业务场景的造数方法的步骤。
进一步地,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有基于业务场景的造数程序,所述基于业务场景的造数程序被处理器执行时实现如上述任一项所述的基于业务场景的造数方法的步骤。
本发明从业务场景角度构建业务造数模型以及造数测试案例的内容框架,由于通过参数配置即可实现造数,因而无需编程,也即具有较高通用性。基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系来配置各业务场景对应的业务造数模型,可实现不同数据表之间的表字段关联造数。
此外,由于本发明采用的是基于业务场景角度的业务造数模型进行造数,因而在配置造数测试计划时,可通过排列组合多个造数测试案例对应的业务造数模型,实现具有实际业务意义的造数,提升了造数的简便性与实用性。
附图说明
图1为本发明造数设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明造数设备一实施例的功能模块架构示意图;
图3为本发明基于业务场景的造数方法一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种造数设备。
参照图1,图1为本发明造数设备实施例方案涉及的设备硬件运行环境的结构示意图。
本发明实施例的造数设备可以是计算机、服务器等设备。
如图1所示,该造数设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的造数设备的硬件结构并不构成对造数设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于业务场景的造数程序。其中,操作系统是管理和控制造数设备与软件资源的程序,支持网络通信模块、用户接口模块、基于业务场景的造数程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的造数设备硬件结构中,网络接口1004主要用于连接系统后台,与系统后台进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序,并执行以下操作:
基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型,每个业务场景对应预设个数的分区库;
配置造数测试计划,其中,所述造数测试计划包括至少一个造数测试案例,一个造数测试案例关联一个业务造数模型;
执行所述造数测试计划中的造数测试案例,以通过各造数测试案例关联的业务造数模型进行业务造数。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
配置各业务场景的基本信息、业务字段基本信息、业务字段造数规则以及业务字段对应造数SQL语句的生成逻辑,以构成对应的业务造数模型;
其中,在配置业务字段基本信息时,若本业务场景存在业务字段关联的后置业务场景,则将本业务场景的关联业务字段设置为本业务场景的场景输出字段;若本业务场景存在业务字段关联的前置业务场景,则设置本业务场景的关联业务字段与前置业务场景的场景输出字段之间的引用关系。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
配置各业务场景的基本信息、业务字段基本信息、业务字段造数规则以及业务字段对应造数SQL语句的生成逻辑,以构成对应的业务造数模型;
其中,在配置业务字段基本信息时,若本业务场景中存在相互关联的业务字段,且相互关联的业务字段分别属于不同的数据库表,则设置所述相互关联的业务字段之间的引用关系。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
在配置各业务场景对应的业务造数模型时,配置各业务场景的场景全局变量,以供临时存放前置业务场景的场景输出字段,并设置本业务场景的关联业务字段与场景全局变量之间的引用关系。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
采用可扩展标记语言XML,配置业务字段对应造数SQL语句的生成逻辑,所述生成逻辑为包括多条造数SQL标签的XML格式文本;
其中,所述造数SQL标签通过配置条件属性,设置执行造数的触发条件,通过配置database属性,设置需要执行造数的数据库,通过配置repeat属性,设置循环进行造数的次数。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
配置造数测试计划的基本信息、各造数测试案例的基本信息、案例全局变量以及各造数测试案例关联的业务造数模型;
其中,在配置造数测试案例时,将其他造数测试案例对应业务场景的场景输出字段配置导入到本造数测试案例的案例全局变量中,以供本造数测试案例进行造数时引用。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
解析各造数测试案例关联的业务造数模型中造数SQL语句的生成逻辑和待造数业务字段的造数规则,得到待造数业务字段对应的造数SQL语句;
执行造数SQL语句进行造数;
其中,在进行案例造数时,若造数测试案例对应业务场景设有场景输出字段,则在生成案例数据时输出该场景输出字段。
进一步地,造数设备通过处理器1001调用存储器1005中存储的基于业务场景的造数程序还执行以下操作:
在配置各造数测试案例的基本信息时,设置各造数测试案例所属的业务场景分类与分区库分区分类,以供对造数测试计划内各造数测试案例进行联合分类管理。
为实现基于参数配置的非编程造数,本发明造数设备优选采用MVC(Model-模型,View-视图,Controller-控制器)设计模式,后端采用HTTP(HyperText TransferProtocol,超文本传输协议)协议对前端提供服务,如图2所示的本发明造数设备一实施例的功能模块架构示意图。
本发明造数设备主要包括以下功能模块:
一、前端管理模块
(1)源表管理模块:用于将业务系统的HIVE(基于Hadoop的一个数据仓库工具)库表结构信息同步到本模块进行管理,共包括两部分操作:源表信息的增删改查、源表信息同步;
(2)源表字段管理模块:用于对表字段信息进行管理,比如配置表字段信息;
(3)产品系统管理模块:用于对产品系统进行配置管理,比如配置需要造数的业务系统信息;
(4)业务造数场景管理模块:用于管理业务造数场景,比如通过配置业务场景基本信息、业务字段造数规则、造数SQL(Structured Query Language,结构化查询语言)标签来生成业务场景中各业务字段的造数SQL语句,以及测试并验证造数SQL语句是否符合业务需求;
(5)测试计划管理模块:用于管理造数测试计划,比如配置造数测试计划基本信息,配置完成后可在计划中添加造数测试案例,以及配置与造数测试案例关联到业务造数场景的案例,执行造数测试案例进行造数,校验执行造数后生成的案例数据是否符合业务需求,以及对案例数据进行查看、删除、同步等操作。
二、后端服务模块
(6)造数服务模块:提供造数和数据管理功能,用于实现造数SQL生成和测试计划案例数据管理,具体包括以下子模块:
造数SQL语句生成子模块:用于根据自定义XML(eXtensible Markup Language,可扩展标记语言)逻辑标签,使用JAXB((Java Architecture for XML Binding)工具转化造数SQL标签为JAVA对象,以供造数规则生成子模块使用;
造数规则生成子模块:用于基于随机字符规则、变量引用规则、四则运算规则、内置API(Application Programming Interface,应用程序编程接口)规则、逻辑判断规则等,生成业务字段数据;
造数规则解析子模块:用于使用正则表达式对各类业务字段造数规则的字符形式进行匹配和替换;
案例数据管理子模块:用于通过JDBC(Java DataBase Connectivity,是Java数据库连接)对MYSQL(Microsoft Structure Quest Language,结构化查询语言)数据库中的案例数据进行管理,支持数据查看、删除、同步等操作;
(7)大数据服务模块:用于实现造数设备与大数据服务组件(包括sqooq工具、HIVE、MYSQL或oracle库)之间的代理服务,具体包括以下子模块:
源表信息同步子模块:用于实现源表管理模块中的HIVE库表结构信息同步;
案例数据同步子模块:用于将通过造数生成并存储在MYSQL数据库中的案例数据同步到HIVE库中;
自动化回归测试子模块:用于对同步到HIVE库中的案例数据进行字段值回归对比测试,其中,回归对比测试的过程为:测试数据经过业务操作后某个条件下表字段值的前后变化。
基于上述造数设备的硬件结构与功能模块架构,提出本发明基于业务场景的造数方法的以下各实施例。
参照图3,图3为本发明基于业务场景的造数方法一实施例的流程示意图。本实施例中,所述基于业务场景的造数方法包括以下步骤:
步骤S10,基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型,每个业务场景对应预设个数的分区库;
通常,业务的具体实现在数据库层面表现为对该业务对应表字段的处理,而对业务对应表字段的处理可表现为一个业务场景,基于业务场景角度,本实施例将业务场景所涉及的表字段统称为业务字段。
基于业务处理的不同,不同业务场景之间既可能存在关联关系,也可能不存在关联关系。例如,发起借贷申请与处理借贷申请之间存在关联关系,而发起借贷申请与购买金融理财产品之间则不存在关联关系。业务场景之间的关联关系可通过业务字段进行体现。比如,发起借贷申请将生成借贷申请ID,而处理借贷申请的实现需要使用借贷申请ID,也即通过借贷申请ID可实现不同业务场景的关联。
此外,对于同一业务场景来说,同一业务场景中业务字段之间既可能存在关联关系,也可能不存在关联关系。例如,购买金融理财产品涉及账户金额、产品购买金额,而账户金额限定了理财产品的购买金额,也即二者存在关联关系。
本实施例中,每个业务场景对应预设个数的分区库,比如HIVE、MYSQL、oracle数据库等,用以存储业务场景对应的造数数据。
本实施例中,业务造数模型是一种自定义的数据模型,所有业务场景共用同一个业务造数模型,通过业务造数模型的不同配置方式,可实现对多个不同业务场景所涉及的业务字段进行造数。本实施例对于业务造数模型的具体构造不限。
基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系,来配置各业务场景对应的业务造数模型,进而可实现对具有关联关系的表字段进行关联造数。本发明中业务造数模型的配置在下文实施中详述。
步骤S20,配置造数测试计划,其中,所述造数测试计划包括至少一个造数测试案例,一个造数测试案例关联一个业务造数模型;
步骤S30,执行所述造数测试计划中的造数测试案例,以通过各造数测试案例关联的业务造数模型进行业务造数。
通常,通过造数方式生成的数据用于提供给测试系统对业务系统进行大数据测试,以对业务系统的性能、是否存在系统漏洞等进行检验。
本实施例中,造数测试计划包括至少一个造数测试案例,而一个造数测试案例关联一个业务造数模型,进而可通过排列组合方式配置多个造数测试案例对应的业务造数模型来进行造数,从而使得通过造数生成的案例数据具有一定的实际业务意义。执行造数测试计划具体表现为通过各造数测试案例关联的业务造数模型的运行而得以实现,包括:
1、执行造数案例:输入全局变量、导入其他案例数据、生成造数SQL并执行;
2、管理案例数据:查看校验、删除案例数据;
3、管理库分区数据:查看、删除、同步分区库中的造数数据。
本实施例从业务场景角度构建业务造数模型以及造数测试案例的内容框架,由于通过参数配置即可实现造数,因而无需编程,也即具有较高通用性。基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系来配置各业务场景对应的业务造数模型,可实现不同数据表之间的表字段关联造数。此外,由于本实施例中采用的是基于业务场景角度的业务造数模型进行造数,因而在配置造数测试计划时,可通过排列组合多个造数测试案例对应的业务造数模型,实现具有实际业务意义的造数,提升了造数的简便性与实用性。
进一步地,在本发明基于业务场景的造数方法一实施例中,业务造数模型的构成包括以下内容:
(1)业务场景基本信息
业务场景名称:由用户自定义名称;
业务场景ID:由用户根据业务自定义的具有唯一性的ID;
产品系统:需要造数的业务系统信息,业务场景可按产品系统进行分类;
适用产品:对应产品系统下的产品,比如各种理财产品,可多选;
前置业务场景:与本业务场景具有关联关系的业务场景,具体以本产品系统下的业务场景作为选项进行选择,可多选。
(2)业务字段基本信息
业务字段描述:采用文本配置形式,描述与业务场景相关的表字段;
业务字段类型:采用文本配置形式,描述表字段对应数据库的数据类型;
业务字段输出:采用勾选框配置形式,配置该选项后支持其他业务字段引用本业务字段;
业务场景输出:采用勾选框配置形式,配置该选项后可在其他业务场景中引入本业务场景的场景输出字段;
(3)业务字段造数规则
文本形式,描述用于生成业务字段具体数值的造数规则,例如:随机变量规则(比如金额、数值、字符串、银行卡号、账户、姓名、地址、邮箱、手机号、时间等)、变量引用规则(比如账户可以通过引用姓名、地址、邮箱、手机号而得到)、四则运算(比如加减乘除)、API规则(比如身份证号、日期处理等)、逻辑判断(比如条件判断(if)、循环判断(for)等)。
(4)业务字段对应造数SQL语句的生成逻辑
本实施例对于造数SQL语句的生成逻辑的具体配置形式及内容不限。比如采用JSON(JavaScript Object Notation,JS对象简谱)格式进行配置。
可选的,为便于测试人员进行配置,优选采用可扩展标记语言XML,配置业务字段对应造数SQL语句的生成逻辑,所述生成逻辑为XML格式文本并包括多条造数SQL标签。通过解析XML格式文本中的造数SQL标签,生成对应的造数SQL语句并执行,从而实现对应业务字段的造数处理。
本实施例中,生成逻辑的XML格式文本主要包括:txml标签、tsql标签以及sql标签三种标签,通过配置上述三种标签以形成造数SQL语句的生成逻辑。例如,在txml标签下的tsql标签内插入一条sql标签语句:<txml><tsql><sql>insert DB.table1field1,...values();<sql></tsql></txml>。
本实施例中,造数SQL标签还包括以下三类标签属性:
1、条件(iftest)属性,用于设置执行造数的触发条件,实现造数sql语句的生成逻辑;
tsql、sql标签中可以插入iftest属性,根据iftest属性对应逻辑以判断tsql、sql标签是否执行造数处理。支持if逻辑判断有==、<=、>=、<、>、!=等,当判断if逻辑判断为true时才会进行tsql、sql标签处理,否则不处理。例如,<sql iftest="3==3">,则if逻辑判断结果为true,处理该标签。
2、database属性,用于设置需要执行造数的数据库,可以按数据库名来区分造数SQL语句,方便不同数据库间造数;
通过database属性指定sql语句在哪个数据库执行,sql标签内的业务字段造数sql可根据业务场景的其他配置信息自动生成。例如:<sql database="hduser03db">insert DB.table1field1,...values();</sql>。
3、repeat属性,用于设置循环进行造数的次数,可以实现造数sql语句批量造数。
通过repeat属性,使sql内语句循环输出n次,其内部业务字段的造数规则每一次循环都会按规则生成。start:表示下标起始值,每循环一次递增1,例如,<sql repeat="n"start="m"></sql>。
进一步地,在本发明基于业务场景的造数方法另一实施例中,为实现不同数据表之间的表字段关联造数,本实施例采用业务字段引用方式进行实现,具体包括以下三类引用方式:
第一类:业务场景的场景输出字段引用,可实现不同业务场景中业务字段之间的关联关系;
本实施例中,基于业务字段的引用与被引用关系,可将业务场景划分为前置业务场景(基于字段被引用关系)、后置业务场景(基于字段引用关系)。例如,业务场景A引用了业务场景B的字段,则基于业务场景B的角度,业务场景A是B的前置业务场景,而基于业务场景A的角度,业务场景B是A的后置业务场景。
本实施例中,在配置业务字段基本信息时,若本业务场景存在业务字段关联的后置业务场景,则将本业务场景的关联业务字段设置为本业务场景的场景输出字段;若本业务场景存在业务字段关联的前置业务场景,则设置本业务场景的关联业务字段与前置业务场景的场景输出字段之间的引用关系,应理解,本案例的业务字段提供引用变量,同时支持前置造数案例输出的字段配置导入本案例的全局变量配置中,以便本案例引用其他案例字段输出。
第二类:同一业务场景的业务字段引用,可实现同一业务场景中业务字段之间的关联关系;
本实施例中,在配置业务字段基本信息时,若本业务场景中存在相互关联的业务字段,且相互关联的业务字段分别属于不同的数据库表,则设置本业务场景中相互关联的业务字段之间的引用关系,即设置业务字段间变量类引用,方便不同库表间业务字段配置引用关系。
第三类:全局变量引用,是对第一类引用方式的补充,通过实现后置业务场景引用前置业务场景的场景输出字段,从而可根据业务实际情况,灵活建立不同业务场景之间的关联关系。
本实施例中,在配置各业务场景对应的业务造数模型时,进一步增加配置各业务场景的场景全局变量,以供临时存放前置业务场景的场景输出字段,并设置本业务场景的关联业务字段与场景全局变量之间的引用关系,具体的设置方式是:前置业务场景输出字段信息添加到本业务场景的全局变量中,以引用前置业务场景的数据。应理解,场景输出变量引用,通过设置案例业务字段场景输出配置,可以支持将本案例输出字段配置导入到该案例的后置造数案例的全局变量集配置中,支持其他案例引用本案例的字段输出。
需要说明的是,上述三种引用方式针对的是字段变量之间的引用,而非具体数值,在执行造数SQL语句时,将使用字段的具体造数数值替换引用的字段变量。
本实施例中,通过上述三类引用规则,实现了不同业务场景以及相同业务场景下的表字段引用,进而实现关联表造数。
进一步地,在本发明基于业务场景的造数方法另一实施例中,为最终实现表字段数据的造数、对造数得到的数据进行管理以及实现具有实际业务意义的造数数据,因此,本实施例提供造数测试计划配置,具体配置内容包括:
(1)造数测试计划的基本信息,包括造数测试计划基本配置与基本操作两部分内容;
1、造数测试计划基本配置说明:
a、计划名称:描述造数测试计划的名称;
b、计划描述:描述造数测试计划的业务说明;
c、所属产品系统:描述造数测试计划的所属产品系统,方便进行产品分类管理;
2、造数测试计划基本操作说明:
a、新增场景:在造数测试计划中新增分类业务场景的名称;
b、新增分区批次:在造数测试计划中新增HIVE分区批次名称,该分区批次对应HIVE库分区;
c、查看数据:按场景与分区批次,查看造数测试计划中各案例数据;
d、同步数据:同步各分区批次的案例数据到测试用的HIVE库分区中,以供后续对相关产品系统进行大数据测试。
(2)各造数测试案例的基本信息,包括造数测试案例基本配置与基本操作两部分内容;
1、造数测试案例基本配置说明:
a、案例名称:描述造数测试案例的名称;
b、案例ID:由用户自定义的具有唯一性的ID;
c、所属场景:案例对应的业务场景名称,用于对案例进行联合管理;
d、所属分区:案例对应的HIVE库分区或其他分区形式的数据库,如mysql、oracle数据库等,用于对案例进行联合管理;
2、造数测试案例基本操作说明
a、前置造数测试案例选项:定义与前置业务场景相似,选择该选项后可将把其他造数测试案例对应业务场景的场景输出字段导入本造数测试案例的案例全局变量中,以供本造数测试案例进行造数时引用;
b、生成案例数据:按照本造数测试案例关联的业务造数模型中造数SQL语句的生成逻辑,生成造数SQL语句并执行,生成本造数测试案例的案例数据,若本造数测试案例对应业务场景设有场景输出字段,则在生成案例数据时还输出该场景输出字段,同时还可以展示造数SQL语句详情;
c、查看案例数据:查看本造数测试案例所生成的案例数据;
d、删除案例数据:删除本造数测试案例所生成的案例数据;
(3)案例全局变量
与场景全局变量对应,通过配置案例全局变量,从而可配置具有一定业务意义的表字段。在配置造数测试案例时,将其他造数测试案例对应业务场景的场景输出字段配置为导入本造数测试案例的案例全局变量中,以供临时存放前置造数测试案例关联的业务场景的场景输出字段,并配置本造数测试案例与前置造数测试案例之间的字段引用关系,从而可根据业务实际情况,灵活建立不同业务场景之间的关联关系。
(4)业务造数模型
将本造数测试案例关联业务造数模型的一个预先配置好的实例业务场景,通过此关联关系以约束本造数测试案例的造数SQL逻辑,也即造数测试案例关联哪一业务场景,则对哪一业务场景涉及的业务字段进行造数。
进一步地,在本发明基于业务场景的造数方法一实施例中,造数设备执行造数测试计划进行造数的实现流程包括:
1、解析各造数测试案例关联的业务造数模型中造数SQL语句的生成逻辑,得到待造数业务字段对应的造数SQL语句;
本实施例中,优选采用可扩展标记语言XML,配置业务字段对应造数SQL语句的生成逻辑,生成逻辑为包括多条造数SQL标签的XML格式文本。通过解析XML格式文本中的造数SQL标签,从而生成对应的造数SQL语句。
2、基于待造数业务字段的造数规则,执行造数SQL语句进行造数并生成各造数测试案例对应的案例数据;
本实施例中,根据配置的待造数业务字段的造数规则,比如随机变量规则、变量引用规则、四则运算、API规则、逻辑判断等造数规则,执行造数SQL语句,从而生成对应造数测试案例对应的案例数据。
需要说明的是,在进行造数时,若造数测试案例对应业务场景设有场景输出字段,则在生成案例数据时还输出该场景输出字段,以供其他造数测试案例导入其案例的全局变量中进行数据引用。
本发明还提供一种可读存储介质。
本实施例中,可读存储介质上存储有基于业务场景的造数程序,所述基于业务场景的造数程序被处理器执行时实现如上述任一项实施例中所述的基于业务场景的造数方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
Claims (9)
1.一种基于业务场景的造数方法,其特征在于,所述基于业务场景的造数方法包括以下步骤:
基于不同业务场景中业务字段之间的关联关系、和/或基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型,每个业务场景对应预设个数的分区库;
配置造数测试计划,其中,所述造数测试计划包括至少一个造数测试案例,一个造数测试案例关联一个业务造数模型;
执行所述造数测试计划中的造数测试案例,以通过各造数测试案例关联的业务造数模型进行业务造数;
其中,所述基于不同业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型包括:
配置各业务场景的基本信息、业务字段基本信息、业务字段造数规则以及业务字段对应造数SQL语句的生成逻辑,以构成对应的业务造数模型;
其中,在配置业务字段基本信息时,若本业务场景存在业务字段关联的后置业务场景,则将本业务场景的关联业务字段设置为本业务场景的场景输出字段;若本业务场景存在业务字段关联的前置业务场景,则设置本业务场景的关联业务字段与前置业务场景的场景输出字段之间的引用关系。
2.如权利要求1所述的基于业务场景的造数方法,其特征在于,所述基于同一业务场景中业务字段之间的关联关系,配置各业务场景对应的业务造数模型包括:
配置各业务场景的基本信息、业务字段基本信息、业务字段造数规则以及业务字段对应造数SQL语句的生成逻辑,以构成对应的业务造数模型;
其中,在配置业务字段基本信息时,若本业务场景中存在相互关联的业务字段,且相互关联的业务字段分别属于不同的数据库表,则设置所述相互关联的业务字段之间的引用关系。
3.如权利要求1或2所述的基于业务场景的造数方法,其特征在于,所述基于业务场景的造数方法还包括:
在配置各业务场景对应的业务造数模型时,配置各业务场景的场景全局变量,以供临时存放前置业务场景的场景输出字段,并设置本业务场景的关联业务字段与场景全局变量之间的引用关系。
4.如权利要求1或2所述的基于业务场景的造数方法,其特征在于,所述配置业务字段对应造数SQL语句的生成逻辑包括:
采用可扩展标记语言XML,配置业务字段对应造数SQL语句的生成逻辑,所述生成逻辑为包括多条造数SQL标签的XML格式文本;
其中,所述造数SQL标签通过配置条件属性,设置执行造数的触发条件,通过配置database属性,设置需要执行造数的数据库,通过配置repeat属性,设置循环进行造数的次数。
5.如权利要求4所述的基于业务场景的造数方法,其特征在于,所述配置造数测试计划包括:
配置造数测试计划的基本信息、各造数测试案例的基本信息、案例全局变量以及各造数测试案例关联的业务造数模型;
其中,在配置造数测试案例时,将其他造数测试案例对应业务场景的场景输出字段配置导入到本造数测试案例的案例全局变量中,以供本造数测试案例进行造数时引用。
6.如权利要求5所述的基于业务场景的造数方法,其特征在于,所述通过各造数测试案例关联的业务造数模型进行业务造数包括:
解析各造数测试案例关联的业务造数模型中造数SQL语句的生成逻辑和待造数业务字段的造数规则,得到待造数业务字段对应的造数SQL语句;
执行造数SQL语句进行造数;
其中,在进行案例造数时,若造数测试案例对应业务场景设有场景输出字段,则在生成案例数据时输出该场景输出字段。
7.如权利要求5所述的基于业务场景的造数方法,其特征在于,所述基于业务场景的造数方法还包括:
在配置各造数测试案例的基本信息时,设置各造数测试案例所属的业务场景分类与分区库分区分类,以供对造数测试计划内各造数测试案例进行联合分类管理。
8.一种造数设备,其特征在于,所述造数设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于业务场景的造数程序,所述基于业务场景的造数程序被所述处理器执行时实现如权利要求1-7中任一项所述的基于业务场景的造数方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有基于业务场景的造数程序,所述基于业务场景的造数程序被处理器执行时实现如权利要求1-7中任一项所述的基于业务场景的造数方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810743623.6A CN108984712B (zh) | 2018-07-06 | 2018-07-06 | 基于业务场景的造数方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810743623.6A CN108984712B (zh) | 2018-07-06 | 2018-07-06 | 基于业务场景的造数方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984712A CN108984712A (zh) | 2018-12-11 |
CN108984712B true CN108984712B (zh) | 2022-04-26 |
Family
ID=64537483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810743623.6A Active CN108984712B (zh) | 2018-07-06 | 2018-07-06 | 基于业务场景的造数方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984712B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134587A (zh) * | 2019-04-12 | 2019-08-16 | 平安普惠企业管理有限公司 | 一种测试方法、测试装置及计算机可读存储介质 |
CN110262973B (zh) * | 2019-06-14 | 2024-03-22 | 深圳前海微众银行股份有限公司 | 数据养成维护方法、装置、设备及计算机存储介质 |
CN110413505A (zh) * | 2019-06-18 | 2019-11-05 | 平安普惠企业管理有限公司 | 造数工具接入处理方法、装置、存储介质和计算机设备 |
CN110287120B (zh) * | 2019-06-28 | 2023-09-08 | 深圳前海微众银行股份有限公司 | 一种单元测试系统及测试方法 |
CN110489325A (zh) * | 2019-07-09 | 2019-11-22 | 微民保险代理有限公司 | 车险数据测试方法、装置、测试平台及车险测试系统 |
CN110532180A (zh) * | 2019-08-15 | 2019-12-03 | 中国银行股份有限公司 | 一种测试数据的生成方法及装置 |
CN110597728A (zh) * | 2019-09-20 | 2019-12-20 | 中国银行股份有限公司 | 构建测试数据的方法、装置及系统 |
CN111221726A (zh) * | 2019-12-25 | 2020-06-02 | 平安普惠企业管理有限公司 | 一种测试数据生成方法、装置、存储介质和智能设备 |
CN111241186A (zh) * | 2020-01-17 | 2020-06-05 | 中信银行股份有限公司 | 基于规则的可视化并行数据准备方法、系统、设备、介质 |
CN111352846B (zh) * | 2020-03-06 | 2024-03-19 | 深圳前海微众银行股份有限公司 | 测试系统的造数方法、装置、设备及存储介质 |
CN112561692A (zh) * | 2020-12-25 | 2021-03-26 | 平安银行股份有限公司 | 数据构造方法、装置、计算机设备及可读存储介质 |
CN112765025A (zh) * | 2021-01-20 | 2021-05-07 | 中信银行股份有限公司 | 一种银行卡测试数据服务方法及系统 |
CN112882956B (zh) * | 2021-03-30 | 2024-04-16 | 中信银行股份有限公司 | 一种通过数据组合计算自动生成全场景自动化测试案例的方法、装置、存储介质及电子设备 |
CN112948275A (zh) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | 测试数据生成方法、装置、设备及存储介质 |
CN113590604B (zh) * | 2021-08-04 | 2024-03-26 | 中国工商银行股份有限公司 | 业务数据的处理方法、装置和服务器 |
CN114153911A (zh) * | 2021-12-21 | 2022-03-08 | 浪潮软件集团有限公司 | 基于vba技术自定义生成数据库测试数据的方法与系统 |
CN115827452B (zh) * | 2022-11-29 | 2023-11-10 | 广发银行股份有限公司 | 一种数据加工类型测试系统、方法、存储介质及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100458793C (zh) * | 2007-05-10 | 2009-02-04 | 浪潮集团山东通用软件有限公司 | 数据访问层Xml格式数据与关系数据间的映射转换方法 |
CN103810196B (zh) * | 2012-11-09 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 基于业务模型进行数据库性能测试的方法 |
CN104572122B (zh) * | 2015-01-28 | 2018-04-27 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN105808437B (zh) * | 2016-03-09 | 2020-05-12 | 广州优视网络科技有限公司 | 基于测试用例数据表的自动化测试方法及系统 |
-
2018
- 2018-07-06 CN CN201810743623.6A patent/CN108984712B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108984712A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984712B (zh) | 基于业务场景的造数方法、设备及可读存储介质 | |
US9037549B2 (en) | System and method for testing data at a data warehouse | |
US10325232B2 (en) | Allocating heritage information in data models | |
CN111506444A (zh) | 表单的审批方法、装置、存储介质及电子设备 | |
US8839197B2 (en) | Automated analysis of composite applications | |
CN107562459B (zh) | 管理系统、界面生成/显示/操作方法、介质、终端 | |
CN104572122A (zh) | 一种软件应用数据的生成装置及方法 | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN115993966B (zh) | 应用开发系统及方法 | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN111597238A (zh) | 一种基于数据库的动态展示表格数据的方法及装置 | |
CN111782211B (zh) | 基于Vue组件的参数页面动态生成方法及装置 | |
CN110232178A (zh) | 报表生成方法及装置 | |
CN109976725B (zh) | 一种基于轻量级流程引擎的流程程序开发方法及装置 | |
CN116737127A (zh) | 低代码开发方法、装置、设备和存储介质 | |
CN110019207B (zh) | 数据处理方法和装置以及脚本显示方法和装置 | |
CN110221829A (zh) | 信息处理方法及其系统、计算机系统及计算机可读介质 | |
CN105302556A (zh) | 实现计算的方法和系统以及服务器装置 | |
CN116992092A (zh) | 流程模型的建立方法、装置、存储介质及终端设备 | |
CN111984882A (zh) | 数据处理方法、系统及设备 | |
CN115857907A (zh) | 一种业务流动态装配系统及方法 | |
CN114296696A (zh) | 业务功能操作方法和装置、存储介质及电子设备 | |
US20170161359A1 (en) | Pattern-driven data generator | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
CN109165049A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |