一种测试数据生成方法、装置、电子设备及介质与流程

摘要: 本技术属于数据处理,涉及一种测试数据生成方法、装置、电子设备及介质。背景技术:1、随着信息系统向平台化、分布式和多业务协同方向发展,不同业务系统之间的数据交互日...
一种测试数据生成方法、装置、电子设备及介质与流程

本技术属于数据处理,涉及一种测试数据生成方法、装置、电子设备及介质。

背景技术:

1、随着信息系统向平台化、分布式和多业务协同方向发展,不同业务系统之间的数据交互日益频繁,业务流程通常跨越多个系统、接口和数据处理环节。软件开发、系统集成及运行维护过程中,需要针对不同业务场景配置相应的测试数据,以开展功能验证、接口验证、流程验证及系统联调等测试活动。测试数据的生成与管理已成为保障多业务系统测试工作开展的重要环节。

2、现有测试数据生成过程中,存在多业务系统之间的数据关联难以完整体现、不同数据字段的约束难以统一匹配、跨系统对应字段的取值一致性不足等问题,生成的测试数据容易出现字段取值冲突、业务链路断裂或者场景覆盖不完整的情况。同时,面对不同数据类型和测试场景时,测试数据生成方式的适配性不足,难以兼顾测试数据的生成效率、完整性和一致性。

技术实现思路

1、本技术提供一种测试数据生成方法、装置、电子设备及介质,用于解决现有技术中多业务系统测试数据生成过程中数据关联不完整、数据约束难以统一匹配以及跨系统字段取值一致性不足的问题。

2、第一方面,本技术提供一种测试数据生成方法包括:

3、获取多个业务系统的系统描述数据,对所述系统描述数据进行数据关联解析和约束提取,得到多系统关联模型和约束规则数据;

4、接收测试场景需求,对所述测试场景需求与所述多系统关联模型进行关联匹配,从关联匹配结果中提取待生成数据及所述待生成数据对应的跨系统字段映射关系,并从所述约束规则数据中提取所述待生成数据对应的数据约束条件;

5、对所述待生成数据的数据属性与预设数据生成条件进行匹配,得到各待生成数据对应的目标生成方式,并按照所述目标生成方式和所述数据约束条件,对所述待生成数据进行数据实例化,汇集实例化得到的数据,形成初始测试数据集;

6、按照所述跨系统字段映射关系,提取所述初始测试数据集中分属不同业务系统且相互关联的数据字段,基于所述跨系统字段映射关系在所述相互关联的数据字段之间进行字段值传递和同步,得到目标测试数据集。

7、在第一方面的一种实现方式中,在对所述待生成数据进行数据实例化之前,所述方法还包括:

8、对所述待生成数据的业务属性与预设优先级规则进行匹配,得到各待生成数据对应的生成优先级;

9、按照所述生成优先级对所述待生成数据进行排序,得到数据生成序列,并按照所述数据生成序列依次对所述待生成数据进行数据实例化。

10、在第一方面的一种实现方式中,在形成所述初始测试数据集的过程中,所述方法还包括:

11、记录所述初始测试数据集中各条数据对应的数据生成来源和字段关联信息,形成数据追踪记录;

12、将所述数据追踪记录与所述初始测试数据集中对应的数据进行关联存储。

13、在第一方面的一种实现方式中,在得到所述目标测试数据集之后,所述方法还包括:

14、按照业务属性和使用场景对所述目标测试数据集中的数据进行分类,并对分类后的数据进行版本标记和分类存储;

15、接收测试数据增量需求,从所述测试数据增量需求中提取新增字段或变化字段,从所述多系统关联模型中提取所述新增字段或变化字段对应的跨系统字段映射关系,并从所述约束规则数据中提取所述新增字段或变化字段对应的数据约束条件;

16、对所述新增字段或变化字段的数据属性与所述预设数据生成条件进行匹配,得到对应的增量生成方式,并按照所述增量生成方式和提取的数据约束条件,对所述新增字段或变化字段进行数据实例化,基于提取的跨系统字段映射关系对实例化得到的数据进行字段值传递和同步,将同步后的数据写入对应版本的测试数据;

17、对分类存储的数据与预设清理条件进行匹配,删除满足所述预设清理条件的数据,并记录对应的数据清理信息。

18、在第一方面的一种实现方式中,所述系统描述数据包括接口信息、数据字典和业务流程描述;所述对所述系统描述数据进行数据关联解析和约束提取,得到多系统关联模型和约束规则数据,包括:

19、对所述接口信息和所述数据字典进行结构化解析,得到接口描述数据,并对所述业务流程描述进行流程拆解,得到业务流程有向图;

20、对所述接口描述数据进行接口归属聚类,得到多个系统节点,并从各所述系统节点对应的接口参数中提取数据节点;

21、对分属不同系统节点的数据节点进行字段匹配,并结合所述业务流程有向图中的数据流转路径和所述接口描述数据中的上下游接口参数传递关系,对所述数据节点进行跨系统关联映射,得到所述多系统关联模型;

22、从所述接口信息、所述数据字典和所述业务流程描述中提取数据格式约束、取值范围约束、业务逻辑约束和跨系统关联约束,并对提取的约束进行分类和结构化表示,得到所述约束规则数据。

23、在第一方面的一种实现方式中,所述按照所述目标生成方式和所述数据约束条件,对所述待生成数据进行数据实例化,汇集实例化得到的数据,形成初始测试数据集,包括:

24、当所述目标生成方式为静态生成方式时,对所述数据约束条件进行生成模式推导,调用与推导得到的生成模式对应的数据生成器生成字段值,得到对应的实例化测试数据;或者,加载与所述待生成数据对应的预置数据模板,获取所述预置数据模板各变量占位符对应的变量值,并将所述变量值填充至所述预置数据模板,得到对应的实例化测试数据;

25、当所述目标生成方式为动态生成方式时,获取与所述待生成数据对应且满足所述数据约束条件的参数值,将所述参数值填充至参数化流量模板,生成请求报文,对所述请求报文进行流量回放,并获取对应的响应报文,将所述请求报文和所述响应报文关联形成对应的实例化测试数据;或者基于接收到的交互请求,将所述交互请求与预设匹配规则进行匹配,并对匹配得到的响应模板进行数据填充,得到响应报文,将所述交互请求和所述响应报文关联形成对应的实例化测试数据;

26、当所述目标生成方式为模型生成方式时,将所述待生成数据及对应的数据约束条件输入生成式模型进行数据记录生成,将生成的数据记录确定为对应的实例化测试数据;

27、汇集所述实例化测试数据,形成所述初始测试数据集。

28、在第一方面的一种实现方式中,所述基于所述跨系统字段映射关系在所述相互关联的数据字段之间进行字段值传递和同步,包括:

29、基于所述跨系统字段映射关系,从所述相互关联的数据字段中确定对应同一数据对象的源数据字段和目标数据字段,提取所述源数据字段的字段值,并将提取的字段值写入所述初始测试数据集中各业务系统对应的目标数据字段;

30、获取任一所述数据字段的字段值变化数据,根据所述跨系统字段映射关系确定与发生字段值变化的数据字段相互关联的其他数据字段,并将变化后的字段值写入所述其他数据字段。

31、第二方面,本技术提供一种测试数据生成装置。所述装置包括:

32、数据获取模块,用于获取多个业务系统的系统描述数据,对所述系统描述数据进行数据关联解析和约束提取,得到多系统关联模型和约束规则数据;

33、需求获取模块,用于接收测试场景需求,对所述测试场景需求与所述多系统关联模型进行关联匹配,从关联匹配结果中提取待生成数据及所述待生成数据对应的跨系统字段映射关系,并从所述约束规则数据中提取所述待生成数据对应的数据约束条件;

34、数据匹配模块,用于对所述待生成数据的数据属性与预设数据生成条件进行匹配,得到各待生成数据对应的目标生成方式,并按照所述目标生成方式和所述数据约束条件,对所述待生成数据进行数据实例化,汇集实例化得到的数据,形成初始测试数据集;

35、数据提取模块,用于按照所述跨系统字段映射关系,提取所述初始测试数据集中分属不同业务系统且相互关联的数据字段,基于所述跨系统字段映射关系在所述相互关联的数据字段之间进行字段值传递和同步,得到目标测试数据集。

36、第三方面,本技术提供一种电子设备。所述电子设备包括:存储器,用于存储计算机程序;处理器,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行如第一方面中任一项所述的测试数据生成方法。

37、第四方面,本技术提供一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述的测试数据生成方法。

38、如上所述,本技术所述的一种测试数据生成方法、装置、电子设备及介质,具有以下有益效果:

39、通过对多个业务系统的系统描述数据进行数据关联解析和约束提取,将分散于不同业务系统中的数据关联信息和数据约束信息分别形成多系统关联模型和约束规则数据,并在接收到测试场景需求后,从中提取与当前测试场景对应的待生成数据、跨系统字段映射关系及数据约束条件,使后续测试数据生成范围能够限定于与当前测试场景实际关联的数据对象,减少与当前测试任务无关的数据生成;

40、进一步地,通过将待生成数据的数据属性与预设数据生成条件进行匹配,为不同属性的待生成数据选择对应的目标生成方式,并结合数据约束条件进行数据实例化,使生成的数据能够同时满足对应的数据类型、取值范围及业务约束,减少生成后因不满足约束而产生的重新生成和校验次数;

41、在形成初始测试数据集后,再按照跨系统字段映射关系识别分属不同业务系统且相互关联的数据字段,并在关联字段之间进行字段值传递和同步,使同一业务数据在多个业务系统中的对应字段保持一致,减少因跨系统字段值不匹配导致的测试数据失效。

42、由此,本技术能够在一次测试数据生成过程中同时完成测试数据范围筛选、生成方式匹配、约束化实例化以及跨系统字段同步,降低多系统测试场景下无效数据、约束冲突数据和跨系统不一致数据的产生比例,并减少针对上述异常数据所需的重复生成、人工调整及跨系统校验操作。