数据推送服务的测试方法、设备、存储介质及程序产品技术

技术编号:28941589 阅读:7 留言:0更新日期:2021-06-18 21:46
本申请公开了一种数据推送服务的测试方法、设备、存储介质及程序产品,涉及计算机技术中的自动驾驶、云计算、智能交通等领域。本申请根据预先定义的红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送红绿灯数据,来模拟多个路口的路侧设备采集红绿灯数据并向待测试服务推送红绿灯数据的场景,模拟出了对待测试服务的高并发的极限测试场景,在该极限测试场景下,对待测试服务进行测试,能够实现对待测试服务的压力测试,提高上线后的目标服务的及时性和稳定性。

【技术实现步骤摘要】
数据推送服务的测试方法、设备、存储介质及程序产品
本申请涉及计算机技术中的自动驾驶、云计算、智能交通等领域,尤其涉及一种数据推送服务的测试方法、设备、存储介质及程序产品。
技术介绍
目前,云控平台、车联网、地图应用等第三方平台获取红绿灯数据,通常是由负责红绿灯数据处理及推送的服务向上述第三方平台按需推送红绿灯数据:红绿灯数据推送服务通过接收路侧设备发送的路口红绿灯数据之后,按照需求进行数据处理,生成需要向第三方平台推送的红绿灯数据,并推送给第三方平台。为了测试负责红绿灯数据处理及推送服务的性能,传统的测试方法中对服务进行端到端的集成测试。路侧设备采集红绿灯数据,并将红绿灯数据发送给待测试的目标服务,目标服务对红绿灯数据进行处理得到第三方平台所需的红绿灯数据后,将得到的红绿灯数据推送至第三方平台。基于路侧设备采集红绿灯数据,以及第三方平台呈现的红绿灯数据,通常是基于单一路口的少量红绿灯数据进行测试,对目标服务的压力测试不足,导致上线后的目标服务的及时性和稳定性差。
技术实现思路
本申请提供了一种数据推送服务的测试方法、设备、存储介质及程序产品。根据本申请的第一方面,提供了一种数据推送服务的测试方法,包括:根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送所述红绿灯数据,所述待测试服务用于对所述红绿灯数据进行处理,并向第三方平台推送处理后的结果数据;所述多个路口的红绿灯数据用于对所述待测试服务进行测试;采集所述待测试服务的测试数据。根据本申请的第二方面,提供了一种数据推送服务的测试设备,包括:数据构造及推送单元,用于根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送所述红绿灯数据,所述待测试服务用于对所述红绿灯数据进行处理,并向第三方平台推送处理后的结果数据;所述多个路口的红绿灯数据用于对所述待测试服务进行测试;测试数据采集单元,用于采集所述待测试服务的测试数据。根据本申请的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。根据本申请的第五方面,提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。根据本申请的技术实现了对数据推送服务的压力测试,提高了上线后的数据推送服务的及时性和稳定性。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是根据本申请实施例的数据推送服务的测试系统架构图;图2是本申请第一实施例提供的数据推送服务的测试方法流程图;图3是本申请第二实施例提供的数据推送服务的测试方法流程图;图4是本申请第二实施例提供的一个路口的多相位构造状态的示例图;图5是本申请第三实施例提供的数据推送服务的测试设备示意图;图6是本申请第四实施例提供的数据推送服务的测试设备示意图;图7是用来实现本申请实施例的数据推送服务的测试方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本申请提供一种数据推送服务的测试方法、设备、存储介质及程序产品,应用于计算机技术中的自动驾驶、云计算、智能交通等领域,以实现对数据推送服务的压力测试,提高上线后的数据推送服务的及时性和稳定性。本申请提供的测试方法具体可以应用于如图1所示的用于对绿灯数据处理及推送的数据推送服务进行测试的系统架构,如图1所示,该系统架构包括:测试工具11、数据推送服务12和至少一个第三方平台(图1中以第三方平台13、第三方平台14、第三方平台15为例进行示例性地说明,对于第三方平台的数量不做具体限定)。其中,数据推送服务12用于接收红绿灯数据,对接收到的红绿灯进行处理(如协议转换、数据分发、读写、持久化处理等)得到各个第三方平台所需的数据结果,并将各数据结果推送至对应的第三方平台。本申请中待测试服务是指待测试的数据推送服务。测试工具11通过执行本实施例提供的测试方法,根据预先定义的红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送红绿灯数据,来模拟线上多个路口的路侧设备高并发地向数据推送服务12推送红绿灯数据的极限测试场景,在待测试服务处理红绿灯数据的过程中,对待测试服务进行测试,能够在上述极限测试场景下实现待测试服务的压力测试,提高上线后的目标服务的及时性和稳定性。图2是本申请第一实施例提供的数据推送服务的测试方法流程图。本实施例的执行主体可以是数据推送服务的测试装置,具体可以是部署于电子设备上的测试工具,本实施例以测试工具为例进行示例性地说明。如图2所示,该方法具体步骤如下:步骤S201、根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送红绿灯数据,待测试服务用于对红绿灯数据进行处理,并向第三方平台推送处理后的结果数据;多个路口的红绿灯数据用于对待测试服务进行测试。本实施例中,红绿灯数据推送的协议规则是预先定义的向待测试服务推送红绿灯数据的规则。红绿灯数据推送的协议规则可以包括:采用的协议、数据格式、数据结构、推送频率、红绿灯颜色跳变规则、以及与第三方平台的映射逻辑等等。测试工具可以根据预先定义的红绿灯数据推送的协议规则,自动地构造多个路口的红绿灯数据,能够模拟路侧设备采集到的红绿灯数据。其中,多个路口的红绿灯数据用于对待测试服务进行测试;待测试服务用于对接收到的红绿灯数据进行处理,并向第三方平台推送处理后的结果数据。本实施例中,可以并行地构造多个路口的红绿灯数据,并向待测试服务推送红绿灯数据,来模拟多个路口的路侧设备采集红绿灯数据并向待测试服务推送红绿灯数据的场景,模拟出了线上大并发量地向待测试服务推送红绿灯数据时的准确性、实时性和顺序性,构造出对待测试服务的高并发的极限测试场景。示例性地,可以通过多进程或多线程的方式实现并行地构造多个路口的红绿灯数据,并向待测试本文档来自技高网...

【技术保护点】
1.一种数据推送服务的测试方法,包括:/n根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送所述红绿灯数据,所述待测试服务用于对所述红绿灯数据进行处理,并向第三方平台推送处理后的结果数据;所述多个路口的红绿灯数据用于对所述待测试服务进行测试;/n采集所述待测试服务的测试数据。/n

【技术特征摘要】
1.一种数据推送服务的测试方法,包括:
根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送所述红绿灯数据,所述待测试服务用于对所述红绿灯数据进行处理,并向第三方平台推送处理后的结果数据;所述多个路口的红绿灯数据用于对所述待测试服务进行测试;
采集所述待测试服务的测试数据。


2.根据权利要求1所述的方法,其中,所述根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送所述红绿灯数据,包括:
为每个所述路口分配一个进程,所述进程用于构造对应路口的红绿灯数据,并向所述待测试服务推送所构造的红绿灯数据;
通过每个所述进程异步地进行构造红绿灯数据和向待测试服务推送所构造的红绿灯数据的处理。


3.根据权利要求2所述的方法,其中,所述通过每个所述进程异步地进行构造红绿灯数据和向待测试服务推送所构造的红绿灯数据的处理,包括:
每个所述进程包括数据构造线程和数据推送线程,通过每个所述进程的数据构造线程,构造一个路口的红绿灯数据;
通过所述进程的数据推送线程,向所述待测试服务推送所述数据构造线程所构造的所述路口的红绿灯数据。


4.根据权利要求1-3中任一项所述的方法,其中,所述采集所述待测试服务的测试数据,包括:
采集所述待测试服务的性能测试数据;
和/或,
采集所述待测试服务的功能测试数据。


5.根据权利要求4所述的方法,其中,所述采集所述待测试服务的性能测试数据,包括:
对于每一条红绿灯数据,获取向所述待测试服务推送所述红绿灯数据的第一时间戳,以及所述待测试服务向第三方平台推送所述红绿灯数据对应的数据结果的第二时间戳;
根据所述第一时间戳和第二时间戳,计算所述待测试服务的处理时间。


6.根据权利要求5所述的方法,其中,所述获取向所述待测试服务推送所述红绿灯数据的第一时间戳,包括:
获取向所述待测试服务推送红绿灯数据的第一推送日志;
从所述第一推送日志中,提取向所述待测试服务推送每条所述红绿灯数据的第一时间戳。


7.根据权利要求6所述的方法,其中,所述向待测试服务推送所述红绿灯数据之后,还包括:
记录所述红绿灯数据的第一推送日志。


8.根据权利要求5所述的方法,其中,获取所述待测试服务向第三方平台推送第二红绿灯数据的第二时间戳,包括:
获取所述待测试服务向第三方平台推送结果数据的第二推送日志;
从所述第二推送日志中,提取所述待测试服务向第三方平台推送每条红绿灯数据对应的数据结果的第二时间戳。


9.根据权利要求1所述的方法,其中,所述采集所述待测试服务的测试数据之后,还包括:
根据所述待测试服务的测试数据,确定对所述待测试服务的测试结果。


10.一种数据推送服务的测试设备,包括:
数据构造及推送单元,用于根据红绿灯数据推送的协议规则,并行地构造多个路口的红绿灯数据,并向待测试服务推送所述红绿灯数据,所述待测试服务用于对所述红绿灯数据进行处理,并向第三方平台推送处理后的结果数据;所述多个路口的红绿灯数据用于对所述待测试服务进行测试;
测试数据采集...

【专利技术属性】
技术研发人员:迟源
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1