物联网终端自动化测试系统的制作方法

文档序号:17955166发布日期:2019-06-19 00:23阅读:599来源:国知局
物联网终端自动化测试系统的制作方法

本实用新型属于物联网技术领域,具体来说涉及一种物联网终端自动化测试系统。



背景技术:

随着物联网技术发展到了一定的高度,对很多涉及物联网技术的服务型互联网企业来说,传统的人工测试方式已经逐渐不足以应对物联网终端数量的井喷式增加和快速的固件迭代。中国发明专利申请CN 20141011064.7公开了一种农业物联网应用服务监测平台,通过多线程模拟模块接收并传递各个客户端的请求,实现集中化管理和实时监测的技术效果。而中国发明专利申请CN 201510845203.5则公开了一种林业物联网监控系统可靠性测试方法,通过设置PC端和测试信号仿真仪开展连续的稳定性测试,通过把真实的设备抽象为不同应用接口服务,实现了透明仿真模拟。但是上述两种技术方案都无法参考检测的历史数据对当前检测结果进行二次处理,也无法针对终端设备进行固件升级后其工作是否正常进行测试。因此,如何开发出一种新型的物联网终端自动化测试系统,能够减少人工测试的巨大工作量,并完成人工无法完成的测试任务,是本领域技术人员需要研究的方向。



技术实现要素:

本实用新型的目的是提供一种物联网终端自动化测试系统,实现对物联网众多远程终端的自动化测试,并能够针对固件升级后的终端设备进行回归测试。从而减少人工测试的工作量,完成人工无法完成的测试任务。

其采用的技术方案如下:

一种物联网终端自动化测试系统,其包括业务服务器,终端通讯服务器,关系型数据库,非关系型数据库,远程终端和日志收集组件;所述关系型数据库连接业务服务器,用于存储业务服务器生成的报文协议、测试场景数据和测试结果数据;所述终端通讯服务器连接关系型数据库和远程终端,用于从关系型数据库中载入报文协议和测试场景数据,并通过TCP长链接方式与远程终端进行数据交互;所述日志收集组件连接业务服务器、终端通讯服务器和非关系型数据库;用于收集终端通讯服务器和业务服务器产生的日志数据、并对该日志数据进行处理生成系统日志数据;所述非关系型数据库连接日志收集组件,用于存储日志收集组件生成的系统日志数据;所述业务服务器连接终端通讯服务器和非关系型数据库,用于向用户提供GUI(图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面)、处理用户输入、读取非关系型数据库存储的日志数据、控制终端通讯服务器工作、经终端通讯服务器接收远程终端的反馈、生成报文协议、测试场景数据和测试结果数据。

优选的是,上述物联网终端自动化测试系统中:所述业务服务器采用B/S结构、包括系统网页和后台API;所述B/S结构(Browser/Server,浏览器/服务器结构),是WEB兴起后的一种网络结构模式。后台API是后台应用程序编程接口。所述系统网页用于对后台API输出配置请求、控制请求和查询请求、并将后台API的反馈进行可视化处理进行显示;所述后台API用于在接受到系统网页的配置请求时、将终端报文协议、通讯服务器默认应答及测试场景数据进行处理后保存至关系型数据库;在接收到系统网页的控制请求时,对系统内嵌的后台API或终端通讯服务器进行控制操作;在接受系统网页的查询请求时,从关系型数据库和/或非关系型数据库中获取相应数据、进行可视化处理后进行反馈。

更优选的是,上述物联网终端自动化测试系统中:所述系统网页采用WebSocket通信协议实现与后台API的全双工通信。WebSocket通信协议是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。

更优选的是,上述物联网终端自动化测试系统中:所述终端通讯服务器采用非阻塞式服务器。非阻塞式服务器,非阻塞是相对于阻塞而言,阻塞指的是在进行一个操作的时候,如服务器接收客户端的连接(accept),服务器或者客户端读写数据(read、write),如果该操作没有执行完成(成功或者失败都算是执行完成),则程序会一直阻塞在操作执行的地方,直到该操作返回一个明确的结果。而非阻塞式服务器则不一样,非阻塞式服务器会在产生阻塞操作的地方阻塞一定的时间(该时间可以设置)。如果操作没有完成,在到达所设置的时间之后,无论该操作成功与否,都结束该操作而执行程序下面的操作。

更优选的是,所述远程终端为多个。

更优选的是,所述远程终端为车载终端,所述车载终端安装于车辆上,用于采集车辆信息(例如,车辆的速度、位置等)并对车辆进行控制(例如,打开或关闭车门等)。

通过采用上述技术方案:测试人员可通过业务服务器来对报文数据和测试场景等数据进行配置,并持久化于关系型数据库;再由终端通讯服务器载入相关数据与终端进行交互;测试的结果等数据也将保存于关系型数据库中。而两个服务器产生的日志将由日志收集组件进行收集与结构化,并由非关系型数据库进行持久化,结合测试历史数据一起,由业务服务器返回给功能测试人员,以完成对历史数据的参考与二次处理使用。

与现有技术相比,本实用新型可以参考检测的历史数据对当前检测结果进行二次处理,也可以针对终端设备进行固件升级后其工作是否正常进行测试,能够实现对物联网众多远程终端的自动化测试,从而减少人工测试的工作量,完成人工无法完成的测试任务。

附图说明

下面结合附图与具体实施方式对本实用新型作进一步详细的说明:

图1为本实用新型物联网终端自动化测试系统的结构示意图;

图2为实施例1的数据处理流程示意图;

图3为实施例1的工作流程示意图。

各附图标记与部件名称对应关系如下:

1、业务服务器;2、终端通讯服务器;3、关系型数据库;4、非关系型数据库;5、远程终端;6、日志收集组件;11、系统网页;12、后台API。

具体实施方式

为了更清楚地说明本实用新型的技术方案,下面将结合各个实施例作进一步描述。

如图1所示为实施例1:

一种物联网终端自动化测试系统,其包括:业务服务器1,终端通讯服务器2,关系型数据库3,非关系型数据库4,远程终端5和日志收集组件6。

其中,所述关系型数据库3连接业务服务器1,用于存储业务服务器1生成的报文协议、测试场景数据和测试结果数据;所述终端通讯服务器2连接关系型数据库3和远程终端5,用于从关系型数据库3中载入报文协议和测试场景数据,并通过TCP长链接方式与远程终端5进行数据交互;所述日志收集组件6连接业务服务器1、终端通讯服务器2和非关系型数据库4;用于收集终端通讯服务器2和业务服务器1产生的日志数据、并对该日志数据进行处理生成系统日志数据;所述非关系型数据库4连接日志收集组件6,用于存储日志收集组件6生成的系统日志数据;所述业务服务器1连接终端通讯服务器2和非关系型数据库4,用于向用户提供GUI、处理用户输入、读取非关系型数据库存储的日志数据、控制终端通讯服务器2工作、经终端通讯服务器2接收远程终端5的反馈、生成报文协议、测试场景数据和测试结果数据。

其中,所述业务服务器1采用B/S结构、包括系统网页11和后台API12;所述系统网页11用于对后台API12输出配置请求、控制请求和查询请求、并将后台API12的反馈进行可视化处理进行显示;所述后台API12用于在接受到系统网页11的配置请求时、将终端报文协议、通讯服务器默认应答及测试场景数据进行处理后保存至关系型数据库3;在接收到系统网页11的控制请求时,对系统内嵌的后台API12或终端通讯服务器2进行控制操作;在接受系统网页的查询请求时,从关系型数据库3和/或非关系型数据库4中获取相应数据、进行可视化处理后进行反馈。所述系统网页11用WebSocket通信协议实现与后台API12的全双工通信。所述终端通讯服务器2采用非阻塞式服务器、实现与远程终端5的数据交互。出于对可扩展性的考虑,报文协议、测试场景是可配置的。而终端通讯服务器2的交互包括默认交互与执行测试两类。

其中,所述远程终端5可以为多个(如图1中1-n个)。所述远程终端5可以为车载终端,所述车载终端安装于车辆上,用于采集车辆信息(例如,车辆的速度、位置等)并对车辆进行控制(例如,打开或关闭车门等)。

如图2-3所示:实践中,其工作过程如下。

S1:配置报文协议:

对于远程终端5上行的报文,由用户通过系统网页11规定正则表达式来对其进行辨识与解析;对于终端通讯服务器2下行的报文,由用户通过系统网页11规定为可被识别的有效报文模版;并由用户于系统网页11选择并匹配上下行报文,形成处理终端请求并作出应答、或下发服务器指令并等待终端响应的报文对,即完成报文协议的配置。报文对中可配置超时时间,当响应超时时,此次报文交互被抛弃。在协议要求的情况下,可在上下行报文间传递数据。即可从终端请求报文中提取字段,写入应答报文中;或从终端通讯服务器指令中提取字段,写入等待终端响应的报文中

S2:配置测试场景:

对于已配置的报文对,用户可于系统网页11选取并排列某些报文对,形成在终端通讯服务器2间交互行为的队列(queue),并且此时后序报文为前序报文的期望。即只有当前序终端上行报文按照正则被识别并判断正确后,才会下发下一报文。对产生的队列,每个判断点的断言结果即为测试步骤的结果,当整个队列所有步骤都通过,即终端与服务器间所有报文按照期望进行交互,则测试场景执行通过;反之,测试场景执行不通过。队列中的报文对之间可配置超时时间,当响应超时时,此测试步骤不通过,队列中的后序报文对全部抛弃,此次测试场景的执行不通过在终端实际业务或功能要求的情况下,队列中的报文对之间可以进行数据传递,并作为期望,成为判断点断言条件的一部分。

S2:默认交互:

对于已配置的报文对,可指定某些处理终端请求并作出应答的报文对为终端通讯服务器的默认交互行为。在此情况下,当通讯服务器被业务服务器启动后,相应报文对将从关系型数据库载入至内存;并自动地、持续不断地对终端的相应请求作出响应,以此来完成保持终端与系统长链接等任务。

S4:执行测试:

对于已配置的测试场景,即报文队列,在业务服务器发起执行测试命令时将从关系型数据库载入至内存。测试场景生效的方式为热插拔式,即测试场景的植入与移除不需要重启终端通讯服务器。且测试场景中的报文对,其优先级要高于默认交互,即如对于某一终端上行报文A,若默认交互中服务器应答为报文B,测试场景中为报文C,则当测试场景生效时,服务器将应答报文C。另外,测试场景与默认交互是允许并行的,即如对于某一终端上行报文,若其所属报文对不存在于生效中的测试场景但存在于默认交互中,则服务器会按照默认交互作出相应应答。

以上所述,仅为本实用新型的具体实施例,但本实用新型的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本实用新型公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本实用新型的保护范围之内。本实用新型的保护范围以权利要求书的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1