本申请涉及自动驾驶,尤其涉及一种用于流式异步作业的自动化测试方法、装置及电子设备、存储介质。
背景技术:
1、源系统数据实时传输目标系统,由于源系统和目标系统模型存在较大差异,流式异步作业需要对源系统的数据进行一系列逻辑加工,才能将源系统的数据转换成目标系统的数据。
2、为了确保加工逻辑的准确性,需要通过测试手段对流式异步作业数据加工逻辑进行测试。
技术实现思路
1、本申请实施例提供了一种用于流式异步作业的自动化测试方法、装置及电子设备、存储介质,以提高测试效率。
2、本申请实施例采用下述技术方案:
3、第一方面,本申请实施例提供一种用于流式异步作业的自动化测试方法,其中,所述方法包括:
4、通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业;
5、通过异步监听器,监听flink流式异步作业的处理逻辑并获取所述flink流式异步作业中的处理结果;
6、通过结果核验器,基于预期结果报文与所述flink流式异步作业中的处理结果的核验结果,生成测试报告。
7、在一些实施例中,所述方法还包括:
8、基于flink流式异步作业的异步执行机制,采用所述异步监听器,配置在流式作业每一层的处理结果层通过所述结果核验器进行处理结果核对;
9、和/或,
10、采用所述异步监听器,配置在流式作业的最终结果层监听最终处理结果,通过所述结果核验器进行处理结果核对。
11、在一些实施例中,所述方法还包括:
12、所述异步监听器,通过利用kafka队列中生产订阅特性,当从对应kafka集群topic中获取到流式作业加工结果时,自动将所述flink流式异步作业中的处理结果与所述预期结果报文推送结果核验器。
13、在一些实施例中,所述通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业,包括:
14、根据所述报文生成器,接收预设api调试工具的请求报文或者从文件加载测试案例模板,所述请求报文以及所述测试案例模板中定义了目标请求字段生成规则以及预期的结果内容。
15、在一些实施例中,所述通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业,包括:
16、通过所述报文生成器在启动过程中从配置文件中读取得到流式异步作业kafka集群topic所在地址,所述流式异步作业kafka集群topic用于接收向flink流式异步作业发送的测试报文;
17、同步监听相同的流式异步作业kafka集群topic所在地址,以通过flink流式异步作业自动读取测试报文进行加工计算。
18、在一些实施例中,所述通过结果核验器,基于预期结果报文与所述flink流式异步作业中的处理结果的核验结果,生成测试报告,包括:
19、通过结果核验器解析得到所述预期结果报文和所述flink流式异步作业中的处理结果的核验结果;
20、将所述预期结果报文与所述flink流式异步作业中的处理结果的核验结果进行字段级比对;
21、如果比对失败,则预设标志案例执行失败;
22、如果比对成功,则预设标志案例执行成功。
23、在一些实施例中,所述生成测试报告,包括:
24、从模板读取测试报告,解析模板生成报告内容,读取所述结果核验器推送的所述flink流式异步作业中的处理结果的核验结果、对应的测试案例源报文以及所述预期结果报文;
25、根据核验结果,将预设标志案例标记为成功或者是失败,同时输出核验失败的字段。
26、第二方面,本申请实施例还提供一种用于流式异步作业的自动化测试装置,其中,所述装置包括:
27、生成模块,用于通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业;
28、监听模块,用于通过异步监听器,监听flink流式异步作业的处理逻辑并获取所述flink流式异步作业中的处理结果;
29、核验模块,用于通过结果核验器,基于预期结果报文与所述flink流式异步作业中的处理结果的核验结果,生成测试报告。
30、第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述方法。
31、第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述方法。
32、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业。报文生成器能够自动生成测试报文并与flink流式异步作业进行交互。通过异步监听器,监听flink流式异步作业的处理逻辑并获取所述flink流式异步作业中的处理结果。异步监听器可以监听报文处理结果,并送至结果核验器。通过结果核验器,基于预期结果报文与所述flink流式异步作业中的处理结果的核验结果,生成测试报告,结果核验器可以自动核验结果并将结果用于生成测试报告。
33、通过上述方法,实现了测试案例模板化配置、测试数据批量生成、数据加工结果核验自动化以及一键式生成测试报告等功能,避免了传统测试过程人工查询、核验、输出测试报告等繁琐而重复的工作,有效提高了测试效率。
1.一种用于流式异步作业的自动化测试方法,其中,所述方法包括:
2.如权利要求1所述方法,其中,所述方法还包括:
3.如权利要求2所述方法,其中,所述方法还包括:
4.如权利要求1所述方法,其中,所述通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业,包括:
5.如权利要求4所述方法,其中,所述通过报文生成器,生成待测试的报文数据并向flink作业运行环境发送测试报文,所述flink作业运行环境包括多个flink流式异步作业,包括:
6.如权利要求1所述方法,其中,所述通过结果核验器,基于预期结果报文与所述flink流式异步作业中的处理结果的核验结果,生成测试报告,包括:
7.如权利要求6所述方法,其中,所述生成测试报告,包括:
8.一种用于流式异步作业的自动化测试装置,其中,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~7之任一所述方法。