本技术涉及测试,尤其涉及一种测试数据生成方法、装置、设备、存储介质及产品。
背景技术:
1、随着云技术在金融科技领域大规模应用,传统业务系统更精细化拆分大量微服务,业务系统规模急剧扩大,各类关系型数据库、nosql数据库、kafka、elasticsearch、redis等数据源广泛使用,功能和性能测试的测试对象大幅度增加;同时,当前大量软件迭代周期时间有限,需要快速交付高质量产品,需要进一步提升测试工作效率;目前大多系统测试工作中,需要花费大量时间进行测试数据准备,特别是性能测试中需要大批量符合业务需求的数据,耗费时间精力更多。
2、目前,针对不同测试场景的数据构造方法,主要包括手工造数、各类代码脚本造数、第三方造数工具等,这些方法都需要用户去梳理清楚业务系统的数据源,如涉及数据库相关库、表、字段的技术和业务属性,人工配置或代码实现数据的模拟规则和方法;在业务系统链路复杂,系统关联依赖较多,以及数据库表间关联、表数据字段特别多时,工作量很大,会耗费大量时间和精力;并且由于仅针对当前测试对象,方法可复用度较低,不利于当前快速迭代模式的软件开发。
3、此外,在大量数据情况下,人工梳理的技术、业务属性、造数规则极有可能存在缺失、错误、偏差等情况,导致测试数据与实际业务数据模型存在较大偏差,对测试质量存在较大影响,特别是在性能测试中,由于一般数据量都较大,数据模型的偏差会放大,从而加剧测试结果评估偏差的风险。
4、再有,当前软件系统开发,涉及到的数据源众多,各类数据源都需要适配相应的数据构造方法,对于相关人员技术能力要求较高。
5、因此,如何高效、快速、大批量生成符合业务需求的、高质量的测试数据,是当前测试过程中最大、最迫需要切解决的问题。
技术实现思路
1、本技术的主要目的在于提供一种测试数据生成方法、装置、设备、存储介质及产品,旨在实现如何高效、快速、大批量生成符合业务需求的、高质量的测试数据,降低人工技术要求和投入时间。
2、为实现上述目的,本技术提出一种测试数据生成方法,所述方法包括:
3、响应于前端用户的造数需求和/或策略配置指令,接入对应的源数据源,从所述源数据源中采集技术元数据、业务元数据和样例数据;
4、根据所述源数据源中的技术元数据、业务元数据和样例数据,匹配预先生成的标准造数规则,筛选出目标造数规则;
5、基于所述目标造数规则,生成相应的造数任务;
6、执行所述造数任务进行造数,将造数得到的数据写入对应的目标数据源。
7、在一实施例中,所述响应于前端用户的造数需求和/或策略配置指令,接入对应的源数据源,从所述源数据源中采集技术元数据、业务元数据和样例数据的步骤之前还包括:
8、响应于前端用户的造数规则配置指令,对初始的预设领域标准技术元数据和业务元数据,划分归属领域属性标签,与预置的标准数据标签进行匹配,并关联默认的数据构造规则和方法,形成标准造数规则。
9、在一实施例中,所述基于所述目标造数规则,生成相应的造数任务的步骤之前还包括:
10、响应于前端用户的确认指令,对筛选出的所述目标造数规则进行确认,和/或,响应于前端用户的调整指令,调整所述初始的预设领域标准技术元数据和业务元数据的标签映射关系,以及造数策略,以调整所述目标造数规则;和/或
11、所述基于所述目标造数规则,生成相应的造数任务的步骤之后还包括:
12、生成预设数量的目标样例数据,用于二次确认所述目标造数规则是否符合预期,若符合预期,则执行所述造数任务进行造数。
13、在一实施例中,所述执行所述造数任务进行造数,将造数得到的数据写入对应的目标数据源的步骤包括:
14、识别各类造数任务的属性和执行策略,并结合资源情况,将所述造数任务分发至执行引擎进行造数,并将造数得到的数据写入对应的目标数据源中。
15、在一实施例中,所述根据所述源数据源中的技术元数据、业务元数据和样例数据,匹配预先生成的标准造数规则,筛选出目标造数规则的步骤包括:
16、基于所述源数据源中的技术元数据,根据逻辑和算术关系进行匹配,确定目标技术属性与标准技术元数据集合之间,加权相似度最高的若干个结果集合,作为识别得到的技术结果集;
17、根据所述源数据源中的业务元数据,基于levenshtein距离算法和目标业务属性,计算与预设的标准业务元数据属性集合和/或用户优化反馈后元数据属性集合之间,加权相似度最高的若干个结果集合,作为识别得到的业务结果集;
18、将所述源数据源中的样例数据的特征,与所述业务结果集、技术结果集,以及所述标准造数规则中的标准数据构造方法集加权拟合,获得相似度最高的若干个结果集合,以形成目标造数规则。
19、在一实施例中,所述方法还包括:
20、响应于用户的造数规则调整指令,对所述目标造数规则进行反馈优化。
21、在一实施例中,所述响应于用户的造数规则调整指令,对所述目标造数规则进行反馈优化的步骤包括:
22、获取用户调整造数规则内容,提高用户选择规则评分;
23、对比识别用户调整后的规则与推荐规则之间的差异,提取差异参数集合;
24、分析所述差异参数集合影响的技术元数据、业务元数据以及造数方法属性;
25、按照标签领域及对应属性,调整领域属性评分,生成用户自定义规则集合,以供在进行造数规则识别时,根据对应评分进行加权计算,优化所述目标造数规则。
26、本技术还提出一种测试数据生成装置,所述装置包括:
27、采集模块,用于在接入源数据源后,从所述源数据源中采集技术元数据、业务元数据和样例数据;
28、规则识别模块,用于根据所述源数据源中的技术元数据、业务元数据和样例数据,匹配预先生成的标准造数规则,筛选出目标造数规则;
29、配置生成模块,用于基于所述目标造数规则进行造数策略配置,生成相应的造数任务;
30、执行模块,用于执行所述造数任务进行造数,将造数得到的数据写入对应的目标数据源。
31、本技术还提出一种测试数据生成设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上所述的测试数据生成方法的步骤。
32、本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的测试数据生成方法的步骤。
33、本技术还提出一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上所述的测试数据生成方法的步骤。
34、本技术提出的一个或多个技术方案,至少具有以下技术效果:通过响应于前端用户的造数需求和/或策略配置指令,接入对应的源数据源,从所述源数据源中采集技术元数据、业务元数据和样例数据;根据所述源数据源中的技术元数据、业务元数据和样例数据,匹配预先生成的标准造数规则,筛选出目标造数规则;基于所述目标造数规则,生成相应的造数任务;执行所述造数任务进行造数,将造数得到的数据写入对应的目标数据源。本技术技术方案可以根据用户造数需求和/或策略配置,选择接入对应的数据源,从而可以实现多数据源的自动匹配,以及多任务智能调度、执行管理引入,实现批量造数,极大降低人工技术门槛,缩短造数配置所需要的介入时间;基于预设领域标准元数据自动生成造数规则,同时系统可以根据源数据源中的技术元数据、业务元数据和样例数据自动识别造数规则,能极大减少复杂业务、大数据量情况下人工投入时间,避免人为误差;用户可以通过前端流程化配置实现造数需求和策略的设置,由系统自行完成后续操作,通过数据标准,多重智能算法,全流程自动化处理,在多个环节提高数据质量和造数效率,并极大降低人工技术要求和投入时间。
1.一种测试数据生成方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述响应于前端用户的造数需求和/或策略配置指令,接入对应的源数据源,从所述源数据源中采集技术元数据、业务元数据和样例数据的步骤之前还包括:
3.如权利要求2所述的方法,其特征在于,所述基于所述目标造数规则,生成相应的造数任务的步骤之前还包括:
4.如权利要求1所述的方法,其特征在于,所述执行所述造数任务进行造数,将造数得到的数据写入对应的目标数据源的步骤包括:
5.如权利要求1所述的方法,其特征在于,所述根据所述源数据源中的技术元数据、业务元数据和样例数据,匹配预先生成的标准造数规则,筛选出目标造数规则的步骤包括:
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
7.如权利要求6所述的方法,其特征在于,所述响应于用户的造数规则调整指令,对所述目标造数规则进行反馈优化的步骤包括:
8.一种测试数据生成装置,其特征在于,所述装置包括:
9.一种测试数据生成设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至7中任一项所述的测试数据生成方法的步骤。
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的测试数据生成方法的步骤。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的测试数据生成方法的步骤。
