一种车联网多协议测试系统及方法与流程

文档序号:33493913发布日期:2023-03-17 20:40阅读:31来源:国知局
一种车联网多协议测试系统及方法与流程

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.图1是本技术的一示例性实施例示出的车联网多协议测试系统的实施环境示意图;
34.图2是本技术的一示例性实施例示出的车联网多协议测试系统的示意图;
35.图3是本技术的一示例性实施例示出的多协议测试方法的流程示意图;
36.图4示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
37.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
38.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
39.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
40.首先需要说明的是,在现有的智能汽车中,车联网能够使车辆上的车载设备通过无线通信技术,对信息网络平台中的所有车辆动态信息进行有效利用,在车辆运行中提供不同的功能服务。现有的车联网终端开发复杂度大,由于终端供应商较多,各家供应商开发实现不一,部分协议要求的特性实现打折,终端版本状态过多,不便于端云一体统一迭代升级,且当协议终端工作状态不稳定时,单协议客户端无法实现与云平台的正常通信。因此在车联网终端设计时,需要对车联网的协议功能进行测试。然而现有的协议客户端测试系统主要是进行白盒测试,不能直观方便地进行协议报文测试,车联网协议核心功能的验证效率较低。车联网多协议测试系统既能满足消息队列遥测传输协议(message queuing telemetry transport,mqtt)的通信需求,也能同时满足安全传输层协议(transport layer security,tls)的调试需求,能够实现界面化操作,完全模拟车载应用的相关功能、协议流程相关功能,能缩短业务场景的搭建时间,提高协议核心功能的验证效率。在其它的应用场景中,针对对象的车联网多协议测试系统可以根据实际情况进行设置,本技术的实施例不对此进行限制。
41.图1是本技术的一示例性实施例示出的车联网多协议测试系统的实施环境示意图。如图1所示,可以通过智能终端110上安装的车联网多协议测试系统等,获取初始开发数据,输入至图形函数库(wxpython),生成图形界面(graphical user interface,gui)。在图形界面(gui)内建立协议选择模块,以在协议选择模块中选择不同的数据协议单元。在图形界面建立环境选择模块,以根据数据协议单元选择不同的调试环境。在图形界面建立信息集成模块,以集成调试环境的协议地址信息。将信息填入代码输入至图形函数库,建立信息填入模块,以填入数据协议的鉴权信息和心跳报文信息。建立定时消息提醒模块、事件上报模块、发布订阅模块、日志存储模块、测试模块等不同功能模块,最后在测试模块中输入模拟字段的不同边界值,测试客户端协议运行的极端条件,完成对多协议客户端的测试。其中,图1所示的智能终端110可以是各种车型的汽车等任意支持安装车联网多协议测试系统等的终端设备,但并不限于此。图1所示的服务端120是服务器,例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此也不进行限制。智能终端110可以通过3g(第三代的移动信息技术)、4g(第四代的移动信息技术)、5g(第五代的移动信息技术)等无线网络与服务端120进行通信,本处也不对此进行限制。由于目前的车载应用系统配置的层级较少,对每一层的组件拆分的不够细致,只能对少量车型进行适配,且现有的车载应用系统一般采用的是接口回调
的方式处理业务层之间的通信,可扩展性较差,当车载应用接口越多时,车载应用的稳定性就越差。为解决这些问题,本技术的实施列分别提出一种车联网车联网多协议测试系统、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品,以下将对这些实施例进行详细描述。
42.请参阅图2所示,图2是本发明的一示例性实施例示出的车联网多协议测试系统的示意图,在一些实施例中,车联网多协议测试系统可以包括协议选择模块210、环境选择模块220、信息集成模块230、信息填入模块240、定时消息提醒模块250、事件上报模块260、发布订阅模块270、日志存储模块280以及测试模块290。其中,协议选择模块210用于在图形界面(gui)中选择不同的数据协议单元,数据协议单元可以包括消息队列遥测传输协议(message queuing telemetry transport,mqtt)单元和传输层安全性协议(transport layer security,tls)单元,然不限于此,数据协议单元也可以包括其他数据协议。环境选择模块220用于根据数据协议选择不同的调试环境,调试环境包括测试环境、预发布环境和生产环境,且测试环境、预发布环境和生产环境相互独立。测试环境是用于完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。测试环境对代码和系统已经集成,可以供测试人员进行功能模块测试,集成测试,系统测试,测试环境有独立的数据库和账号权限管理系统,由测试人员使用和管理。预发布环境是正式发布前最后一次测试,所有的功能和配置,数据库都已经与线上环境高度相似,仅准入本次需要上线的功能代码,测试人员确认代码在测试环境经过测试用例测试没有问题后,提交预发布环境进行测试。信息集成模块230用于集成调试环境的协议地址信息,每个调试环境都有协议地址信息与之对应,协议地址信息可以包括协议地址(internet protocol,ip)和地址接口(port)等。信息填入模块240用于填入数据协议的鉴权信息和心跳报文信息,鉴权信息可以包括设备识别信息(international mobile equipment identity,imei)和登录成功凭证(token)等信息。其中,imei可用于监控被窃或无效的移动设备。token是服务端120生成的一串加密字符串,用以作为智能终端110进行请求的一个指令。当用户第一次使用账号密码成功进行登录后,服务端120便生成一个token及token失效时间并将此返回给智能终端110,若成功登陆,以后智能终端110只需在有效时间内带上这个token前来请求数据即可,无需再次带上用户名和密码。在鉴权信息的作用下,车联网多协议测试系统可与服务端120进行认证连接,从而设置图形界面(gui)的登入或者登出状态。心跳报文信息用于建立长连接,从而使图形界面(gui)处于会话状态,且心跳报文信息的发送时间间隔由图形界面进行设定。
43.请参阅图2所示,在一示例性的实施例中,定时消息提醒模块250用于发送定时消息提醒,事件上报模块260用于上报事件报文信息。发布订阅模块270用于对需要进行通信的子系统进行解耦,使得每个子系统都可以进行独立管理,即使部分子系统下线了,也不会影响系统信息的整体管理。同时发布订阅模块270还提高了系统的可测试性,信息通道可以被监视,使得信息可以作为整体集成测试策略的一部分而被检查或记录。日志存储模块280可以包括报文日志实时打印单元和报文日志实时保存单元,用于实时打印和保存报文日志。测试模块290用于输入模拟字段的不同边界值,测试客户端协议运行的极端条件。
44.请参阅图3所示,图3是本发明的一示例性实施例示出的多协议测试方法的流程示意图,该方法可以应用以图1所示的实施环境,并由该实施环境中的智能终端110具体执行。应理解的是,该方法也可以适用以其它的示例性实施环境,并由其它实施环境中的设备具
体执行,本实施例不对该方法所适用的实施环境进行限制。
45.如图3所述,在一示例性的实施例中,多协议测试方法至少包括步骤s310至步骤s370,详细介绍如下:
46.步骤s310、获取初始开发数据,输入至图形函数库,生成图形界面;
47.步骤s320、将数据协议输入至图形函数库,生成协议选择模块,以选择对应的数据协议单元;
48.步骤s330、将环境调试代码输入至图形函数库,生成环境选择模块,以选择对应的调试环境;
49.步骤s340、将调试环境的协议地址代码输入至图形函数库,生成信息集成模块,以集成调试环境的协议地址信息;
50.步骤s350、将信息填入代码输入至图形函数库,生成信息填入模块,以填入数据协议的鉴权信息和心跳报文信息;
51.步骤s360、将测试需求代码依次输入至图形函数库,生成定时消息提醒模块、事件上报模块、发布订阅模块、日志存储模块、测试模块;
52.步骤s370、在测试模块中输入模拟字段的不同边界值,生成客户端协议运行的极端条件,完成多协议测试。
53.如图3所述,在一示例性的实施例中,当执行步骤s310时,即获取初始开发数据,输入至图形函数库,生成图形界面。首先需要说明的是图形界面是在智能终端110内构建的,图形函数库(wxpython)是计算机编程(python)语言的一套优秀的图形库,其允许python程序员很方便的创建完整的、功能健全的gui图形界面。
54.如图3所述,在一示例性的实施例中,当执行步骤s320时,即将数据协议输入至所述图形函数库,生成协议选择模块,以选择对应的数据协议单元。其中,数据协议单元可以包括多个不同的协议单元,例如,数据协议单元可以包括消息队列遥测传输协议(message queuing telemetry transport,mqtt)单元和传输层安全性协议(transport layer security,tls)单元,然不限于此,数据协议单元也可以包括其他协议。其中,消息队列遥测传输协议(mqtt)使用传输控制协议(transmission control protocol,tcp)或者ip提供有序、无损、双向连接。mqtt是一种连接协议,它指定了如何组织数据字节并通过tcp或ip网络传输它们。
55.如图3所述,在一示例性的实施例中,当执行步骤s330时,即将环境调试代码输入至图形函数库,生成环境选择模块,以选择对应的调试环境。其中,调试环境包括测试环境、预发布环境和生产环境,且测试环境、预发布环境和生产环境相互独立。测试环境是用于完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。测试环境对代码和系统已经集成,可以供测试人员进行功能模块测试,集成测试,系统测试,测试环境有独立的数据库和账号权限管理系统,由测试人员使用和管理。预发布环境是正式发布前最后一次测试,所有的功能和配置,数据库都已经与线上环境高度相似,仅准入本次需要上线的功能代码,测试人员确认代码在测试环境经过测试用例测试没有问题后,提交预发布环境进行测试。
56.如图3所述,在一示例性的实施例中,当执行步骤s340时,即将调试环境的协议地址代码输入至图形函数库,生成信息集成模块,以集成调试环境的协议地址信息。其中个,
协议地址信息可以包括协议地址(internet protocol,ip)和地址接口(port)等,每个协议调试环境都与协议地址信息相互对应。
57.如图3所述,在一示例性的实施例中,当执行步骤s350时,即将信息填入代码输入至图形函数库,生成信息填入模块,以填入数据协议的鉴权信息和心跳报文信息。鉴权信息可以包括设备识别信息(imei)和登录成功凭证(token)等信息,imei可用于监控被窃或无效的移动设备。token是服务端120生成的一串加密字符串,用以作为智能终端110进行请求的一个指令。当用户第一次使用账号密码成功进行登录后,服务端120便生成一个token及token失效时间并将此返回给智能终端110,若成功登陆,以后智能终端110只需在有效时间内带上这个token前来请求数据即可,无需再次带上用户名和密码。在鉴权信息的作用下,车联网多协议测试系统可与服务端120进行认证连接,从而设置图形界面(gui)的登入或者登出状态。心跳报文信息用于建立长连接,从而使图形界面(gui)处于会话状态。
58.如图3所述,在一示例性的实施例中,当执行步骤s360时,即将测试需求代码依次输入至图形函数库,生成定时消息提醒模块、事件上报模块、发布订阅模块、日志存储模块、测试模块。定时消息提醒模块250用于发送定时消息提醒,事件上报模块260用于上报事件报文信息。发布订阅模块270用于对需要进行通信的子系统进行解耦,使得每个子系统都可以进行独立管理,即使部分子系统下线了,也不会影响系统信息的整体管理。同时发布订阅模块270还提高了系统的可测试性,信息通道可以被监视,使得信息可以作为整体集成测试策略的一部分而被检查或记录。日志存储模块280可以包括报文日志实时打印单元和报文日志实时保存单元,用于实时打印和保存报文日志。
59.如图3所述,在一示例性的实施例中,当执行步骤s370时,即在测试模块中输入模拟字段的不同边界值,生成客户端协议运行的极端条件,完成多协议测试。测试模块290用于输入模拟字段的不同边界值,测试客户端协议运行的极端条件。
60.需要说明的是,上述实施例所提供的车联网多协议测试系统与上述实施例所提供的多协议测试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的车联网多协议测试系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
61.本技术的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备运行上述各个实施例中提供的车联网多协议测试系统。
62.图4示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。需要说明的是,图4示出的电子设备的计算机系统700仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
63.如图4所示,计算机系统700包括中央处理单元(central processing unit,cpu)701,其可以根据存储在只读存储器(read-only memory,rom)702中的程序或者从储存部分708加载到随机访问存储器(random access memory,ram)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 703中,还存储有系统操作所需的各种程序和数据。cpu 701、rom 702以及ram703通过总线704彼此相连。输入/输出(input/output,i/o)接口705也连接至总线704。
64.以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分707,包括硬盘等的储存部分708;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
65.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用以执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本技术的系统中限定的各种功能。
66.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用以由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
67.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用以实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
68.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
69.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前多协议测试方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
70.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备运行上述各个实施例中提供的车联网多协议测试系统。
71.上述实施例仅示例性说明本发明的原理及其功效,而非用以限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1