专利名称:设备的数据中转性能的测试方法及装置
专利类型:实用新型专利
专利申请号:CN202111325266.X
专利申请(专利权)人:腾讯科技(深圳)有限公司
权利人地址:广东省深圳市南山区高新区科技中一路腾讯大厦35层
专利发明(设计)人:盛露,刘汉红
专利摘要:本申请提供了一种设备的数据中转性能的测试方法、装置、设备、存储介质及计算机程序产品;方法包括:响应于针对虚拟场景的数据中转设备的测试指令,发送对应虚拟场景的第一测试数据包至数据中转设备,该数据中转设备用于转发第一测试数据包至用于呈现虚拟场景的画面的小程序;接收数据中转设备转发的来自小程序的第二测试数据包;获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息;基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果;通过本申请,能够实现针对数据中转设备的独立测试,减少设备资源的占用,提高测试效率和准确率。
主权利要求:
1.一种数据中转设备的数据中转性能的测试方法,其特征在于,所述方法包括:响应于针对虚拟场景的数据中转设备的测试指令,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备;
其中,所述数据中转设备,用于转发所述第一测试数据包至用于呈现所述虚拟场景的画面的小程序;
接收所述数据中转设备转发的来自所述小程序的第二测试数据包,所述第二测试数据包,与通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息相对应;
获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包所对应的数据包中转信息;
基于所述数据包中转信息,生成用于指示所述数据中转设备的数据中转性能的测试结果。
2.如权利要求1所述的方法,其特征在于,所述发送对应所述虚拟场景的第一测试数据包至所述数据中转设备之前,所述方法还包括:获取传输所述虚拟场景的画面数据时每个数据包的目标数据量;
获取用于模拟所述虚拟场景的画面数据的目标数据;
基于所述目标数据,生成具有所述目标数据量的数据包,作为对应所述虚拟场景的所述第一测试数据包。
3.如权利要求1所述的方法,其特征在于,所述发送对应所述虚拟场景的第一测试数据包至所述数据中转设备,包括:获取传输所述虚拟场景的画面数据所对应的数据包的传输频率;
按照所述传输频率,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备。
4.如权利要求1所述的方法,其特征在于,所述接收所述数据中转设备转发的来自所述小程序的第二测试数据包,包括:接收所述数据中转设备转发的、来自基于机器人模拟的所述小程序的第二测试数据包;
其中,所述第二测试数据包包括:模拟通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息的目标数据,所述目标数据的数据量,与传输所述操作信息时每个数据包的数据量相同。
5.如权利要求1所述的方法,其特征在于,所述获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包所对应的数据包中转信息,包括:获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息;
对所述日志信息包含的、与所述数据中转设备转发所述第一测试数据包及所述第二测试数据包相关的数据进行统计,得到所述数据包中转信息。
6.如权利要求5所述的方法,其特征在于,所述获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息,包括:确定测试服务器是否与所述数据中转设备成功建立通信连接、以及确定所述数据中转设备是否与所述小程序成功建立通信连接;
当确定所述测试服务器与所述数据中转设备成功建立通信连接、且所述数据中转设备与所述小程序成功建立通信连接时,通过性能检测工具,检测并获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息。
7.如权利要求1所述的方法,其特征在于,所述基于所述数据包中转信息,生成用于指示所述数据中转设备的数据中转性能的测试结果,包括:获取用于指示所述数据中转设备的数据中转性能的性能指标,所述性能指标包括以下至少之一:发送数据包的成功率、接收数据包的成功率、数据包的重传率;
基于所述数据包中转信息,确定所述性能指标的指标值,以生成用于指示所述数据中转设备的数据中转性能的测试结果。
8.如权利要求1所述的方法,其特征在于,所述第一测试数据包,用于供所述小程序基于所述第一测试数据包,呈现相应的虚拟场景的测试画面;
所述接收所述数据中转设备转发的来自所述小程序的第二测试数据包,包括:接收所述数据中转设备转发的包括针对所述虚拟场景的操作信息的第二测试数据包;
其中,所述操作信息为,所述小程序的基于所述测试画面,通过触发所述小程序的操作控件所生成。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:接收到所述数据中转设备转发的来自所述小程序的所述测试指令;
其中,所述测试指令,基于机器人模拟的所述小程序生成,用于指示对所述数据中转设备针对所述虚拟场景的数据中转性能进行测试。
10.一种数据中转设备的数据中转性能的测试装置,其特征在于,所述装置包括:发送模块,用于响应于针对虚拟场景的数据中转设备的测试指令,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备;
其中,所述数据中转设备,用于转发所述第一测试数据包至用于呈现所述虚拟场景的画面的小程序;
接收模块,用于接收所述数据中转设备转发的来自所述小程序的第二测试数据包,所述第二测试数据包,与通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息相对应;
获取模块,用于获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包所对应的数据包中转信息;
生成模块,用于基于所述数据包中转信息,生成用于指示所述数据中转设备的数据中转性能的测试结果。
11.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9任一项所述的数据中转设备的数据中转性能的测试方法。
12.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时,实现权利要求1至9任一项所述的数据中转设备的数据中转性能的测试方法。
13.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至9任一项所述的数据中转设备的数据中转性能的测试方法。 说明书 : 设备的数据中转性能的测试方法及装置技术领域[0001] 本申请涉及测试技术领域,尤其涉及一种设备的数据中转性能的测试方法、装置、设备、存储介质及计算机程序产品。背景技术[0002] 相关技术中,往往是对支持虚拟场景的全链路的设备(包括虚拟场景的后台服务器、数据中转设备、虚拟场景客户端、小程序等)进行服务性能测试,以实现对小程序对应的数据中转设备的性能测试,这个过程需要后台拉起多台容器设备进行虚拟场景的画面帧的编码和渲染以支持服务测试,占用了大量的设备资源,且全链路测试并不能清晰、准确地实现对于单个设备的性能测试分析,降低了测试效率和准确率。发明内容[0003] 本申请实施例提供一种设备的数据中转性能的测试方法、装置、设备、存储介质及计算机程序产品,能够实现针对数据中转设备的独立测试,减少设备资源的占用,提高测试效率和准确率。[0004] 本申请实施例的技术方案是这样实现的:[0005] 本申请实施例提供一种设备的数据中转性能的测试方法,包括:[0006] 响应于针对虚拟场景的数据中转设备的测试指令,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备;[0007] 其中,所述数据中转设备,用于转发所述第一测试数据包至用于呈现所述虚拟场景的画面的小程序;[0008] 接收所述数据中转设备转发的来自所述小程序的第二测试数据包,所述第二测试数据包,与通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息相对应;[0009] 获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包所对应的数据包中转信息;[0010] 基于所述数据包中转信息,生成用于指示所述数据中转设备的数据中转性能的测试结果。[0011] 本申请实施例还提供一种设备的数据中转性能的测试装置,包括:[0012] 发送模块,用于响应于针对虚拟场景的数据中转设备的测试指令,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备;[0013] 其中,所述数据中转设备,用于转发所述第一测试数据包至用于呈现所述虚拟场景的画面的小程序;[0014] 接收模块,用于接收所述数据中转设备转发的来自所述小程序的第二测试数据包,所述第二测试数据包,与通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息相对应;[0015] 获取模块,用于获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包所对应的数据包中转信息;[0016] 生成模块,用于基于所述数据包中转信息,生成用于指示所述数据中转设备的数据中转性能的测试结果。[0017] 上述方案中,所述发送模块,还用于获取传输所述虚拟场景的画面数据时每个数据包的目标数据量;[0018] 获取用于模拟所述虚拟场景的画面数据的目标数据;[0019] 基于所述目标数据,生成具有所述目标数据量的数据包,作为对应所述虚拟场景的所述第一测试数据包。[0020] 上述方案中,所述发送模块,还用于获取传输所述虚拟场景的画面数据所对应的数据包的传输频率;[0021] 按照所述传输频率,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备。[0022] 上述方案中,所述接收模块,还用于接收所述数据中转设备转发的、来自基于机器人模拟的所述小程序的第二测试数据包;[0023] 其中,所述第二测试数据包包括:模拟通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息的目标数据,所述目标数据的数据量,与传输所述操作信息时每个数据包的数据量相同。[0024] 上述方案中,所述获取模块,还用于获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息;[0025] 对所述日志信息包含的、与所述数据中转设备转发所述第一测试数据包及所述第二测试数据包相关的数据进行统计,得到所述数据包中转信息。[0026] 上述方案中,所述获取模块,还用于确定是否与所述数据中转设备成功建立通信连接、以及确定所述数据中转设备是否与所述小程序成功建立通信连接;[0027] 当确定与所述数据中转设备成功建立通信连接、且所述数据中转设备与所述小程序成功建立通信连接时,[0028] 通过性能检测工具,检测并获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息。[0029] 上述方案中,所述生成模块,还用于获取用于指示所述数据中转设备的数据中转性能的性能指标,所述性能指标包括以下至少之一:发送数据包的成功率、接收数据包的成功率、数据包的重传率;[0030] 基于所述数据包中转信息,确定所述性能指标的指标值,以生成用于指示所述数据中转设备的数据中转性能的测试结果。[0031] 上述方案中,所述第一测试数据包,用于供所述小程序基于所述第一测试数据包,呈现相应的虚拟场景的测试画面;[0032] 所述接收模块,还用于接收所述数据中转设备转发的包括针对所述虚拟场景的操作信息的第二测试数据包;[0033] 其中,所述操作信息为,所述小程序的基于所述测试画面,通过触发所述小程序的操作控件所生成。[0034] 上述方案中,所述接收模块,还用于接收到所述数据中转设备转发的来自所述小程序的所述测试指令;[0035] 其中,所述测试指令,基于机器人模拟的所述小程序生成,用于指示对所述数据中转设备针对所述虚拟场景的数据中转性能进行测试。[0036] 本申请实施例还提供一种电子设备,包括:[0037] 存储器,用于存储可执行指令;[0038] 处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的设备的数据中转性能的测试方法。[0039] 本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的设备的数据中转性能的测试方法。[0040] 本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现本申请实施例提供的设备的数据中转性能的测试方法。[0041] 本申请实施例具有以下有益效果:[0042] 应用本申请上述实施例,首先,当接收到针对虚拟场景的数据中转设备的测试指令时,发送对应虚拟场景的第一测试数据包至数据中转设备,以通过数据中转设备转发至虚拟场景的小程序;然后,接收数据中转设备转发的来自小程序的第二测试数据包,该第二测试数据包与通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息相对应;从而获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息,以基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果。如此,实现了针对数据中转设备的独立测试,减少了设备资源的占用,提高了测试效率和准确率。附图说明[0043] 图1是本申请实施例提供的设备的数据中转性能的测试系统100的架构示意图;[0044] 图2是本申请实施例提供的实施设备的数据中转性能的测试方法的电子设备500的结构示意图;[0045] 图3是本申请实施例提供的设备的数据中转性能的测试方法的流程示意图;[0046] 图4是本申请实施例提供的数据中转设备在虚拟场景中的应用示意图;[0047] 图5是本申请实施例提供的小程序的运行流程示意图;[0048] 图6是本申请实施例提供的设备的数据中转性能的测试方法的示意图;[0049] 图7是本申请实施例提供的设备的数据中转性能的测试方法的示意图;[0050] 图8是本申请实施例提供的设备的数据中转性能的测试方法的流程示意图。具体实施方式[0051] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。[0052] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。[0053] 在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。[0054] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。[0055] 本申请实施例中相关数据收集处理在实例应用时应该严格根据相关法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理。[0056] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。[0057] 1)客户端,终端中运行的用于提供各种服务的应用程序,例如支持虚拟场景的客户端(如游戏客户端)。[0058] 2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。[0059] 基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的设备的数据中转性能的测试系统。参见图1,图1是本申请实施例提供的设备的数据中转性能的测试系统100的架构示意图,为实现支撑一个示例性应用,终端400、测试服务器200和数据中转设备600通过网络300连接,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。[0060] 终端400(设置有用于呈现虚拟场景的画面的小程序),用于响应于针对虚拟场景的数据中转设备的测试开始操作,发送针对虚拟场景的数据中转设备的测试指令至测试服务器200;[0061] 测试服务器200,用于响应于针对虚拟场景的数据中转设备的测试指令,发送对应虚拟场景的第一测试数据包至数据中转设备600;[0062] 数据中转设备600,用于接收第一测试数据包,并转发第一测试数据包至用于呈现虚拟场景的画面的小程序(即终端400);[0063] 终端400,用于接收到第一测试数据包;发送第二测试数据包至数据中转设备600,该第二测试数据包,与通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息相对应;[0064] 数据中转设备600,用于接收到第二测试数据包,并将第二测试数据包转发至测试服务器200;[0065] 测试服务器200,用于接收到数据中转设备转发的来自小程序的第二测试数据包;获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息;基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果;将测试结果返回至终端400;[0066] 终端400,用于接收并显测试结果。[0067] 在实际应用中,测试服务器200(或者数据中转设备600)可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端400、测试服务器200和数据中转设备600可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。[0068] 参见图2,图2是本申请实施例提供的实施设备的数据中转性能的测试方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的测试服务器为例,对实施本申请实施例的设备的数据中转性能的测试方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。[0069] 处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,DigitalSignalProcessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。[0070] 用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。[0071] 存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。[0072] 存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,ReadOnlyMemory),易失性存储器可以是随机存取存储器(RAM,RandomAccessMemory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。[0073] 在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。[0074] 操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;[0075] 网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerialBus)等;[0076] 呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);[0077] 输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。[0078] 在一些实施例中,本申请实施例提供的设备的数据中转性能的测试装置可以采用软件方式实现,图2示出了存储在存储器550中的设备的数据中转性能的测试装置555,其可以是程序和插件等形式的软件,包括以下软件模块:发送模块5551、接收模块5552、获取模块5553和生成模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。[0079] 在另一些实施例中,本申请实施例提供的设备的数据中转性能的测试装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的设备的数据中转性能的测试装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的设备的数据中转性能的测试方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,ApplicationSpecificIntegratedCircuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogicDevice)、复杂可编程逻辑器件(CPLD,ComplexProgrammableLogicDevice)、现场可编程门阵列(FPGA,Field‑ProgrammableGateArray)或其他电子元件。[0080] 在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的设备的数据中转性能的测试方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如测试APP。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。[0081] 基于上述对本申请实施例提供的设备的数据中转性能的测试系统及电子设备的说明,下面说明本申请实施例提供的设备的数据中转性能的测试方法。在一些实施例中,本申请实施例提供的设备的数据中转性能的测试方法可由服务器或终端单独实施,或由服务器及终端协同实施,下面以服务器实施为例说明本申请实施例提供的设备的数据中转性能的测试方法。[0082] 参见图3,图3是本申请实施例提供的设备的数据中转性能的测试方法的流程示意图,本申请实施例提供的设备的数据中转性能的测试方法包括:[0083] 步骤101:服务器响应于针对虚拟场景的数据中转设备的测试指令,发送对应虚拟场景的第一测试数据包至数据中转设备。[0084] 其中,该数据中转设备,用于转发第一测试数据包至用于呈现虚拟场景的画面的小程序。[0085] 这里,该服务器即为测试服务器,既可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统等。在实际应用场景中,上述虚拟场景可以是云游戏场景,上述用于显示虚拟场景的画面的小程序可以是虚拟手柄小程序,用户可以基于该小程序控制虚拟场景中的交互操作,该小程序可以是只需要下载到浏览器环境中就可以运行的程序,还可以是能够嵌入至任意APP中的小程序。上述数据中转设备用于将虚拟场景服务器输出的数据流转发至小程序,比如将虚拟场景的画面数据转发至小程序呈现;以及用于将基于小程序触发的针对虚拟场景的操作信息发送至虚拟场景服务器,以实现对虚拟场景的操作控制。[0086] 在本申请实施例中,在对数据中转设备进行性能测试时,将针对数据中转设备的测试独立开来,即通过上述测试服务器模拟虚拟场景服务器输出数据流至数据中转设备实现到小程序的转发,来实现针对数据中转设备的独立测试。当该测试服务器接收到响应于针对虚拟场景的数据中转设备的测试指令,发送对应虚拟场景的第一测试数据包至数据中转设备,以通过数据中转设备将第一测试数据包转发至小程序[0087] 在一些实施例中,服务器可通过如下方式接收测试指令:接收到数据中转设备转发的来自小程序的测试指令;其中,该测试指令,基于机器人模拟的小程序生成,用于指示对数据中转设备针对虚拟场景的数据中转性能进行测试。[0088] 这里,可通过设置机器人(比如性能工具)模拟实现小程序以满足测试环境下需要大量的小程序的需求,从而避免测试时需要大量真实场景下小程序的使用,提高测试效率。在实际应用中,可以开发云智能机器人,将机器人部署到云端,进而使用云智能机器人的分布式能力快速批量地模拟小程序。[0089] 当需要对虚拟场景的数据中转设备进行性能测试时,测试人员可触发针对数据中转设备的测试开始指令,比如在性能检测平台触发该测试开始指令。此时,(比如性能检测平台)响应于该测试开始指令,控制机器人模拟生成小程序,并基于机器人模拟的小程序生成针对虚拟场景的数据中转设备的测试指令,同时,将该测试指令发送至数据中转设备,以通过数据中转设备将测试指令转发至服务器,从而基于该测试指令,指示服务器对数据中转设备针对虚拟场景的数据中转性能进行测试。[0090] 数据中转设备接收到上述测试指令后,将该测试指令转发至服务器。服务器接收到该测试指令,响应于该测试指令,对数据中转设备针对虚拟场景的数据中转性能进行测试,即发送对应虚拟场景的第一测试数据包至数据中转设备。然后数据中转设备接收到该第一测试数据包,将该第一测试数据包发送至用于呈现虚拟场景的画面的小程序。在实际应用中,该第一测试数据包可以包含虚拟场景的真实画面数据,也可以包含用于模拟虚拟场景的真实画面数据的目标数据,比如该目标数据可以是普通字节流数据等。[0091] 在一些实施例中,服务器可通过如下方式得到第一测试数据包:获取传输虚拟场景的画面数据时每个数据包的目标数据量;获取用于模拟虚拟场景的画面数据的目标数据;基于目标数据,生成具有目标数据量的数据包,作为对应虚拟场景的第一测试数据包。[0092] 这里,该第一测试数据包所包含的是用于模拟虚拟场景的画面数据的目标数据,比如该目标数据可以是普通字节流数据等。如此,由于在测试场景下,小程序在接收到数据中转设备转发的数据后无需进行虚拟场景的画面的显示,而画面显示的逻辑较为复杂且与测试的目的无关,因此,在测试时,该第一测试数据包中可以不包含虚拟场景的真实画面数据,即通过目标数据(比如普通字节流数据)对虚拟场景的画面数据进行模拟,以减少设备资源的占用(比如服务器和小程序侧无需进行虚拟场景的画面的编解码、渲染、显示等),提高测试效率,节约设备消耗成本。[0093] 基于此,服务器在向数据中转设备发送第一测试数据包时,可以首先获取传输虚拟场景的画面数据时每个数据包的目标数据量,即应用场景下传输虚拟场景的画面数据时每个数据包的数据量;然后再获取用于模拟虚拟场景的画面数据的目标数据;从而基于目标数据,生成具有目标数据量的数据包,作为对应虚拟场景的第一测试数据包。如此,由于第一测试数据包的数据量和应用场景下传输虚拟场景的画面数据时每个数据包的数据量相同,使得测试场景和应用场景更加相近,提高测试准确性。[0094] 在实际实施时,可以对应用场景下传输的画面数据的数据包的数据量大小进行计算,比如应用场景下的画面数据传输时,完整画面帧的大小是640*360*RGB,但因为有码流的限制,所以平均画面帧可以用3KB的数据来模拟。即该目标数据的数据量可以为3kb,第一测试数据包为3kb的数据包。[0095] 在一些实施例中,服务器可通过如下方式发送对应虚拟场景的第一测试数据包至数据中转设备:获取传输虚拟场景的画面数据所对应的数据包的传输频率;按照传输频率,发送对应虚拟场景的第一测试数据包至数据中转设备。[0096] 这里,服务器在发送第一测试数据包至数据中转设备时,还可以获取传输虚拟场景的画面数据所对应的数据包的传输频率,从而按照该传输频率,发送对应虚拟场景的第一测试数据包至数据中转设备。如此,由于第一测试数据包的传输频率和应用场景下传输虚拟场景的画面数据时数据包的传输频率相同,使得测试场景和应用场景更加相近,进一步提高测试准确性。[0097] 步骤102:接收数据中转设备转发的来自小程序的第二测试数据包。[0098] 其中,该第二测试数据包,与通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息相对应。[0099] 这里,服务器将对应虚拟场景的第一测试数据包发送至数据中转设备后,数据中转设备接收到该第一测试数据包,并将该第一测试数据包发送至用于呈现虚拟场景的画面的小程序。[0100] 然后,小程序在接收到第一测试数据包后,发送第二测试数据包至数据中转设备,该第二测试数据包与通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息相对应。在实际应用中,该第二测试数据包可以包含通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息,也可以包含用于模拟通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息的目标数据,比如该目标数据可以是英文字节流数据等。[0101] 数据中转设备将接收到的来自小程序的第二测试数据包发送至服务器。服务器接收数据中转设备转发的来自小程序的第二测试数据包。[0102] 在一些实施例中,服务器可通过如下方式接收数据中转设备转发的来自小程序的第二测试数据包:接收数据中转设备转发的、来自基于机器人模拟的小程序的第二测试数据包;其中,该第二测试数据包包括:模拟通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息的目标数据;该目标数据的数据量,与传输操作信息时每个数据包的数据量相同。[0103] 这里,该第二测试数据包所包含的是用于模拟通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息的目标数据(比如可以是英文字节流数据等)。在实际应用中,在模拟用户通过小程序触发的针对虚拟场景的操作信息时,发现用户的行为可归结为在屏幕不断的点击操作,至于点击的位置在哪不是很重要,因此在模拟通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息时,可以通过目标数据实现,从而简化小程序侧的实现。[0104] 在实际应用中,测试场景下该目标数据的数据量,与应用场景下传输操作信息时每个数据包的数据量相同,如此,使得测试场景和应用场景更加相近,提高测试准确性。[0105] 在一些实施例中,第一测试数据包,用于供小程序基于第一测试数据包,呈现相应的虚拟场景的测试画面;相应的,服务器可通过如下方式接收数据中转设备转发的来自小程序的第二测试数据包:接收数据中转设备转发的包括针对虚拟场景的操作信息的第二测试数据包;其中,该操作信息为,小程序的基于测试画面,通过触发小程序的操作控件所生成。[0106] 这里,第一测试数据包所包含的是虚拟场景的画面数据,如此,第一测试数据包,可以用于供小程序基于第一测试数据包,呈现相应的虚拟场景的测试画面。即当小程序接收到数据中转设备转发的第一测试数据包后,基于该第一测试数据包,呈现虚拟场景的测试画面,该测试画面即为虚拟场景的真实画面。相应的,该第二测试数据包所包含的则是基于测试界面,通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息。具体地,当基于该第一测试数据包呈现虚拟场景的测试画面后,可基于该测试界面,通过触发小程序的操作控件生成针对虚拟场景的操作信息,从而基于该操作信息生成第二测试数据包。从而小程序将第二测试数据包通过数据中转设备转发至服务器,服务器接收到包括针对虚拟场景的操作信息的第二测试数据包。[0107] 步骤103:获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息。[0108] 这里,服务器获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息,该数据中转信息可以是第一测试数据包的发包数量和收包数量、第二测试数据包的发包数量和收包数量、第一测试数据包及第二测试数据包的收发包成功数量、收发包重传数量等。在实际应用中,可以获取目标测试时长内、数据中转设备转发第一测试数据包和第二测试数据包所对应的数据包中转信息,该目标测试时长可以是预先设置的。还可以周期性地获取数据中转设备转发第一测试数据包和第二测试数据包所对应的数据包中转信息。[0109] 在一些实施例中,服务器可通过如下方式获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息:获取数据中转设备转发第一测试数据包及第二测试数据包的过程中所记录的日志信息;,对日志信息包含的、与数据中转设备转发第一测试数据包及第二测试数据包相关的数据进行统计,得到数据包中转信息。[0110] 这里,数据中转设备在转发第一测试数据包及第二测试数据包的过程中,会记录相应的日志信息。服务器在获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息时,可以首先获取数据中转设备转发第一测试数据包及第二测试数据包的过程中所记录的日志信息;然后,对日志信息包含的、与数据中转设备转发第一测试数据包及第二测试数据包相关的数据进行统计,得到数据包中转信息,该与数据中转设备转发第一测试数据包及第二测试数据包相关的数据可以是数据包的收发数据、重传数据、收发成功数据、收发失败数据等。[0111] 在实际应用中,可以是对日志信息中记录的、与数据中转设备转发第一测试数据包及第二测试数据包相关的数据进行统计,得到数据中转设备转发第一测试数据包及第二测试数据包的过程中所涉及的收发包数量、收发包成功数量、收发包重传数量等。[0112] 在一些实施例中,服务器可通过如下方式获取数据中转设备转发第一测试数据包及第二测试数据包的过程中所记录的日志信息:确定是否与数据中转设备成功建立通信连接、以及确定数据中转设备是否与小程序成功建立通信连接;当确定与数据中转设备成功建立通信连接、且数据中转设备与小程序成功建立通信连接时,通过性能检测工具,检测并获取数据中转设备转发第一测试数据包及第二测试数据包的过程中所记录的日志信息。[0113] 这里,服务器确定自身是否与数据中转设备成功建立通信连接,并确定数据中转设备是否与小程序成功建立通信连接。在实际应用中,当数据中转设备与服务器成功建立通信连接时,服务器可以通过性能检测工具检测到数据中转设备与服务器成功建立通信连接的第一通知消息;同样的,当数据中转设备与小程序成功建立通信连接时,服务器也可以通过性能检测工具检测到数据中转设备与小程序成功建立通信连接的第二通知消息。基于该第二通知消息,服务器还可以确定与数据中转设备建立通信连接的小程序的数量。[0114] 当确定服务器与数据中转设备成功建立通信连接、且数据中转设备与小程序成功建立通信连接时,通过性能检测工具,检测数据中转设备转发第一测试数据包及第二测试数据包的过程中所记录的日志信息是否更新,同时获取所记录的日志信息。[0115] 步骤104:基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果。[0116] 这里,服务器在获取到数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息后,基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果。这里,该性能指标包括以下至少之一:发送数据包的成功率、接收数据包的成功率、数据包的重传率。[0117] 在一些实施例中,服务器可通过如下方式基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果:获取用于指示数据中转设备的数据中转性能的性能指标;基于数据包中转信息,确定性能指标的指标值,以生成用于指示数据中转设备的数据中转性能的测试结果。[0118] 这里,服务器在生成用于指示数据中转设备的数据中转性能的测试结果时,首先获取用于指示数据中转设备的数据中转性能的性能指标,比如发送数据包的成功率、接收数据包的成功率、数据包的重传率等。然后基于数据包中转信息,确定性能指标的指标值,以生成用于指示数据中转设备的数据中转性能的测试结果。比如,可以基于数据包的发包数量、发包成功数量,确定发送数据包的成功率;可以基于数据包的发包数量、数据包的重传数量,确定数据包的重传率。[0119] 应用本申请上述实施例,首先,当接收到针对虚拟场景的数据中转设备的测试指令时,发送对应虚拟场景的第一测试数据包至数据中转设备,以通过数据中转设备转发至虚拟场景的小程序;然后,接收数据中转设备转发的来自小程序的第二测试数据包,该第二测试数据包与通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息相对应;从而获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息,以基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果。如此,实现了针对数据中转设备的独立测试,减少了设备资源的占用,提高了测试效率和准确率。[0120] 下面将说明本申请实施例在一个实际的应用场景中的示例性应用。[0121] 首先,对本申请实施例提供的名词进行解释,包括:[0122] 1)Kcpmockserver:在对Gamepadgw进行性能测试时,模拟Webrtcproxy输出数据流的服务器,即上述测试服务器。[0123] 2)Webrtcproxy:虚拟场景(比如云游戏)的Webrtc消息服务器,与Gamepadgw直接通信,负责将虚拟场景的画面数据流发送至客户端(比如电视端的云游戏客户端)以及Gamepadgw,以通过Gamepadgw转发至虚拟场景的小程序(比如云游戏虚拟手柄小程序)。[0124] 3)网页即时通信(WebReal‑TimeCommunication,Webrtc):是基于浏览器的实时多媒体通信技术。[0125] 4)Gamepadgw:上述数据中转设备,支持Websocket和KCP两种通信协议;在实际应用中,该Gamepadgw为上述云游戏虚拟手柄小程序对应的网关,负责云游戏虚拟手柄小程序和Webrtcproxy之间的消息转发,比如通过接收和发送kcp消息推送云游戏画面流至小程序、通过websocket消息接受客户端响应事件,并将相应的用户操作信息转发至Webrtcproxy。[0126] 5)Websocket:是一种在单个TCP连接上进行全双工通信的协议,允许服务端主动向客户端推送数据,在WebSocketAPI中,客户端和服务端只需完成一次握手,两者之间可以创建持久性的连接,并进行双向数据传输。[0127] 6)KCP通信协议:是具有可靠性的传输层ARQ协议,一般用UDP作为下层传输协议,KCP层协议的数据包在UDP数据报文的基础上增加控制头,当数据大于一个UDP包能承担的范围时,KCP会将数据分片存储在多个KCP包中,每个KCP包称为一个分片,为了提高可靠性,KCP采用重传机制。[0128] 7)性能测试平台:提供性能机器人和性能检测功能。[0129] 8)云游戏虚拟手柄小程序:可以展示虚拟场景(比如云游戏)的画面的web页面,用户可通过在云游戏虚拟手柄小程序上触发相应的操作控件,实现对虚拟场景的操作控制。[0130] 接下来,对本申请实施例提供的数据中转设备在虚拟场景中的应用进行说明。参见图4,图4是本申请实施例提供的数据中转设备在虚拟场景中的应用示意图。这里,该虚拟场景为云游戏场景,上述数据中转设备为Gamepadgw。在实际应用中,当用户需要进入云游戏时,可通过终端(比如电视端等)加载相应的云游戏,同时还可以呈现云游戏对应的图形码(比如二维码)。用户可通过客户端(具备扫码功能)扫描该图形码,并在后台认证模块(AuthModule)认证通过后进入该云游戏对应的虚拟手柄小程序。此时,虚拟手柄小程序呈现有云游戏的画面,从而基于该虚拟手柄小程序控制云游戏的操作,用户通过虚拟手柄小程序触发的操作(比如点击拖拽等事件)也会发送给云游戏后台。如图5所示,图5是本申请实施例提供的小程序的运行流程示意图。这里,终端呈现云游戏对应的图形码(比如二维码),如图5中A图所示。用户可通过客户端扫描该图形码以进入该云游戏对应的虚拟手柄小程序,此时,虚拟手柄小程序呈现有云游戏的画面,如图5中B图所示。[0131] 继续参见图4,当进入云游戏后,云游戏后台拉起多台容器设备,创建云游戏容器实例;容器设备渲染游戏画面帧并通过编码器对该画面帧进行编码,并通过Webrtcproxy将编码后的数据帧转成kcp包发送给Gamepadgw;Gamepadgw将游戏画面流转发至虚拟手柄小程序,通过虚拟手柄小程序显示游戏画面流供用户操作。同时Webrtcproxy还将编码后的数据帧转成kcp包发送给TV端等设备,以同步显示游戏画面。[0132] 因此,本申请实施例可提供一种全链路的设备的数据中转性能的测试方法,包括:1)云游戏后台拉起多台容器,创建云游戏容器实例;2)容器渲染游戏画面帧并通过编码器对该画面帧进行编码;3)Webrtcproxy将编码后的数据帧转成KCP包发送给Gamepadgw;4)拉起足够多的小程序不断地接收游戏画面流,同时每间隔一段时间发送Websocket消息给Gamepadgw;5)利用性能测试平台检测Gamepadgw的性能指标。[0133] 如此,通过全链路的性能测试方法实现了云游戏Gamepadgw服务性能的测试。但是上述方案中存在如下问题:第一,需要通过非常多的协议,还需通过云游戏的中台去获取Webrtcproxyip/port;第二,需要起多个容器设备来产生足够的压力,至少要独占几十台服务器资源;第三,调试不方便,由于Webrtcproxy是开发实现的,而且是整个系统公用的服务,对于测试人员来说Webrtcproxy是否收到消息都无法知道,性能问题分析十分不方便,需要全链路排查。[0134] 基于此,本申请实施例还提供一种设备的数据中转性能的测试方法以至少解决上述问题,参见图6和图7,图6和图7是本申请实施例提供的设备的数据中转性能的测试方法的示意图。这里,区别于全链路性能测试的方案,将云游戏虚拟手柄小程序对应的Gamepadgw服务性能的测试剥离开来,在Mock层利用Kcpmockserver模拟Webrtcproxy输出数据流至Gamepadgw,再通过Gamepadgw将数据流转发至通过性能机器人模拟的小程序,实现了独立的组件性能测试;同时通过性能工具检测和关注Kcpmockserver的消息,以得到测试结果。如此,解决了因需要产生足够大的压力而需要拉起多台容器设备的问题,同时使得测试问题的定位比全链路服务器性能测试方法简单很多,只需要通过性能工具检测和关注kcpmockserver的消息即可;且测试链路缩短,人力成本下降。在实际实施时,本方案在实际测试过程中与全链路性能方案的测试效率对比提升了50%以上,节约了大量的人力。[0135] 综上,第一,由于Gamepadgw只是起到一个透传的作用,在云游戏TV终端使用虚拟手柄组件的时候,Webrtcproxy相对于平时会多出一路流,将容器设备产生的画面帧KCP流的形式推送到Gamepadgw,Gamepadgw再以Websocket的形式转给虚拟手柄小程序展现,同时Gamepadgw将虚拟手柄小程序响应事件的Websocket消息转成KCP消息发送给Webrtcproxy进行处理。因此只需关注这多出的一路流即可,实现与之相关的协议,在需要Webrtcproxyip/port也可以直接与开发人员约定好,无需经过中台获取;[0136] 第二,在实现Kcpmockserver时,无需关注Webrtcproxy的其他路流所实现的功能,这样可以提高Kcpmockserver的效率,无需耗费多台服务器去启动多台容器设备产生画面流,而可以直接在Kcpmockserver中启动多路的KCP流,在实际实施时,一台10核的Linux服务器可以产生500路流,极大的提高了Kcpmockserver出流效率;[0137] 第三,在利用Kcpmockserver的方式实现Webrtcproxy与Gamepadgw通信的过程中,加入更加详细的日志,通过性能测试平台进行检测,发现问题时直接定位到Webrtcproxy相关模块,便于测试过程中排查问题。[0138] 在实际应用中,为了模拟大量的云游戏虚拟手柄小程序,开发了云智能机器人,将机器人部署到云端,同时使用云智能机器人的分布式能力,快速批量地生成大批机器人执行执行与用户相同的动作。在实现机器人的过程中,我们将机器人进行了简化,主要表现在以下几个方面:[0139] 1)Kcpmockserver模拟webrtcproxy出流,用普通的字节流数据包代替画面流数据包。在测试gamepadgw组件时,性能机器人无需拿到具体的画面帧并播放,这里的逻辑非常复杂且与测试目的无关。可以对画面的大小进行计算,每秒有一个关键帧,完整帧大小是640*360*RGB,但因为有码流的限制,所以平均帧可以用3KB的字节流数据包来代替每帧画面数据,通过Kcpmockserver按照每秒输出大小为3kb的数据包至Gamepadgw,以通过Gamepadgw进行数据中转至小程序。[0140] 2)云智能机器人模拟虚拟手柄小程序,用任意14个英文字节代替真实的touch包发送给Gamepadgw。在模拟用户操作时,发现用户的行为可归结为在屏幕不断点击操作,至于点击的位置在哪不是很重要,因此在实现机器人模拟小程序时,机器人的动作就固定为每次发送14个英文字节即可。Gamepadgw将模拟的touch包转发给Kcpmockserver,Kcpmockserver收到模拟的touch包后无需解包直接丢弃,极大的简化了小程序侧的实现。[0141] 参见图8,图8是本申请实施例提供的设备的数据中转性能的测试方法的流程示意图。这里,步骤201,虚拟手柄小程序通过gamepadgw将ReqForStart发送至kcpmockserver,以请求开始测试;[0142] 步骤202,kcpmockserver收到ReqForStart消息,通过gamepadgw发送测试数据流给虚拟手柄小程序;[0143] 这里,当kcpmockserver收到ReqForStart消息时,表示可以推流给虚拟手柄小程序终端,按照每秒推12帧,每帧3KB的数据流进行推流。该每个数据包大小一样,平均一帧3KB左右,服务器侧的一个kcp包对应一帧数据,实际kcp会转为多个udp包发送到对方,对方再还原为一帧。[0144] 步骤203,虚拟手柄小程序通过gamepadgw发送touch包至kcpmockserver,kcpmockserver接收touch包。[0145] 这里,touch包的内容是用户通过小程序触发的点击事件,按照使用时的操作习惯进行预估,kcpmockserver进行循环收包,每秒33个包,每个包14字节,收到就丢弃掉。在通过gamepadgw转发数据流的过程中,记录kcpmockserver发送数据包至gamepadgw网关的情况、以及gamepadgw网关发送云智能机器人模拟产生的touch消息至kcpmockserver的情况。[0146] 应用本申请上述实施例,可以极大简化测试流程,无需中台获取ip/port等信息,无需中台启动多路出流设备,节省了服务器的消耗;测试链路的缩短也使得整体的调试过程得到简化,可以随时检测kcpmockserver消息,有性能问题便于排查,在两周时间内高效的完成了从脚本开发到报告输出过程。[0147] 下面继续说明本申请实施例提供的设备的数据中转性能的测试装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的设备的数据中转性能的测试装置555中的软件模块可以包括:[0148] 发送模块5551,用于响应于针对虚拟场景的数据中转设备的测试指令,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备;[0149] 其中,所述数据中转设备,用于转发所述第一测试数据包至用于呈现所述虚拟场景的画面的小程序;[0150] 接收模块5552,用于接收所述数据中转设备转发的来自所述小程序的第二测试数据包,所述第二测试数据包,与通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息相对应;[0151] 获取模块5553,用于获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包所对应的数据包中转信息;[0152] 生成模块5554,用于基于所述数据包中转信息,生成用于指示所述数据中转设备的数据中转性能的测试结果。[0153] 在一些实施例中,所述发送模块5551,还用于获取传输所述虚拟场景的画面数据时每个数据包的目标数据量;[0154] 获取用于模拟所述虚拟场景的画面数据的目标数据;[0155] 基于所述目标数据,生成具有所述目标数据量的数据包,作为对应所述虚拟场景的所述第一测试数据包。[0156] 在一些实施例中,所述发送模块5551,还用于获取传输所述虚拟场景的画面数据所对应的数据包的传输频率;[0157] 按照所述传输频率,发送对应所述虚拟场景的第一测试数据包至所述数据中转设备。[0158] 在一些实施例中,所述接收模块5552,还用于接收所述数据中转设备转发的、来自基于机器人模拟的所述小程序的第二测试数据包;[0159] 其中,所述第二测试数据包包括:模拟通过触发所述小程序的操作控件所生成的、针对所述虚拟场景的操作信息的目标数据,所述目标数据的数据量,与传输所述操作信息时每个数据包的数据量相同。[0160] 在一些实施例中,所述获取模块5553,还用于获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息;[0161] 对所述日志信息包含的、与所述数据中转设备转发所述第一测试数据包及所述第二测试数据包相关的数据进行统计,得到所述数据包中转信息。[0162] 在一些实施例中,所述获取模块5553,还用于确定是否与所述数据中转设备成功建立通信连接、以及确定所述数据中转设备是否与所述小程序成功建立通信连接;[0163] 当确定与所述数据中转设备成功建立通信连接、且所述数据中转设备与所述小程序成功建立通信连接时,[0164] 通过性能检测工具,检测并获取所述数据中转设备转发所述第一测试数据包及所述第二测试数据包的过程中所记录的日志信息。[0165] 在一些实施例中,所述生成模块5554,还用于获取用于指示所述数据中转设备的数据中转性能的性能指标,所述性能指标包括以下至少之一:发送数据包的成功率、接收数据包的成功率、数据包的重传率;[0166] 基于所述数据包中转信息,确定所述性能指标的指标值,以生成用于指示所述数据中转设备的数据中转性能的测试结果。[0167] 在一些实施例中,所述第一测试数据包,用于供所述小程序基于所述第一测试数据包,呈现相应的虚拟场景的测试画面;[0168] 所述接收模块5552,还用于接收所述数据中转设备转发的包括针对所述虚拟场景的操作信息的第二测试数据包;[0169] 其中,所述操作信息为,所述小程序的基于所述测试画面,通过触发所述小程序的操作控件所生成。[0170] 在一些实施例中,所述接收模块5552,还用于接收到所述数据中转设备转发的来自所述小程序的所述测试指令;[0171] 其中,所述测试指令,基于机器人模拟的所述小程序生成,用于指示对所述数据中转设备针对所述虚拟场景的数据中转性能进行测试。[0172] 应用本申请上述实施例,首先,当接收到针对虚拟场景的数据中转设备的测试指令时,发送对应虚拟场景的第一测试数据包至数据中转设备,以通过数据中转设备转发至虚拟场景的小程序;然后,接收数据中转设备转发的来自小程序的第二测试数据包,该第二测试数据包与通过触发小程序的操作控件所生成的、针对虚拟场景的操作信息相对应;从而获取数据中转设备转发第一测试数据包及第二测试数据包所对应的数据包中转信息,以基于数据包中转信息,生成用于指示数据中转设备的数据中转性能的测试结果。如此,实现了针对数据中转设备的独立测试,减少了设备资源的占用,提高了测试效率和准确率。[0173] 本申请实施例还提供一种电子设备,所述电子设备包括:[0174] 存储器,用于存储可执行指令;[0175] 处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的设备的数据中转性能的测试方法。[0176] 本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的设备的数据中转性能的测试方法。[0177] 本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,当可执行指令被处理器执行时,实现本申请实施例提供的设备的数据中转性能的测试方法。[0178] 在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。[0179] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。[0180] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperTextMarkupLanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。[0181] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。[0182] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
专利地区:广东
专利申请日期:2021-11-10
专利公开日期:2024-07-26
专利公告号:CN114048087B