一种Socket网络通信测试方法及其系统、存储介质技术方案

技术编号:19219777 阅读:39 留言:0更新日期:2018-10-20 08:14
本发明专利技术提供一种基于ProtoBuf的Socket网络通信测试方法及其系统、存储介质,方法包括:接收客户端以HTTP传输协议发送过来的传输信息;将HTTP传输格式的所述传输信息实例化为ProtoBuf对象,然后再将其序列化后通过Socket传输通道发送至服务端;接收服务端返回的结果,将其反序列化后,再转换为HTTP传输格式的返回信息输出。本发明专利技术的测试方式具有测试效率高、测试准确度高、成本低、人力投入少、操作简易等优点。

【技术实现步骤摘要】
一种Socket网络通信测试方法及其系统、存储介质
本专利技术涉及通信测试领域,具体说的是基于ProtoBuf的Socket网络通信测试方法及其系统、存储介质。
技术介绍
ProtoBuf,ProtocolBuffer简称ProtoBuf,是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。Socket,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。随着移动互联网技术的飞速发展,即时通讯(IM)类的产品日渐普及,其中部分产品的网络通信功能是采用Socket网络通信技术实现,特别是基于ProtoBuf的Socket网络通信技术。该通信功能对于产品来说是非常重要的功能,因此我们需要在产品上线之前对基于ProtoBuf的Socket网络通信功能进行测试。例如,公司守护产品的登录功能、抽卡功能、选卡功能、夺宝功能(等等这些业务功能)测试,这些功能的实现都是通过上述的技术,那么就可以针对这些具体的功能使用该方法和系统进行测试。当前产品功能存在ProtoBuf消息定义多、ProtoBuf消息变更频繁的特点,因此,我们测试的时候需要对这些测试点进行测试,但是人工测试的时候存在以下问题:(1)无法人工手动测试,需要借助编写的脚本序列化ProtoBuf消息再通过Socket来交互通信;(2)对测试人员的编程基础有一定的要求,无法快速进行测试并产出测试结果;(3)人力投入较多,效率低下;(4)针对消息序列化、通信传输脚本编写,投入重复的工作;(5)测试结果对比困难;例如:某产品的登录功能实现是基于ProtoBuf的Socket网络通信,那么在测试该登录功能时,以目前的测试方法,该测试人员需要在客户端做到以下几点:1)根据Socket服务端的配置,创建相应的WebSocket连接通道,用于数据交互;2)读取登录功能接口ProtoBuf消息的定义,实例化一个该对象,并将登录用户名和密码等信息赋值;3)将该ProtoBuf对象实例序列化(对象转化成二进制数据流),并通过第一步创建的Socket连接通道将该数据流发送至服务端;4)服务端根据客户端发送的内容,返回相应数据流后,再根据预先定义的ProtoBuf消息结构体对该数据内容反序列化成具体的ProtoBuf实例(二进制数据流转化成对象),获取到该对象里的各字段信息展现给测试人员;5)测试人员根据返回内容判断该功能测试结果。而以上前四个步骤都需要测试人员进行相应的脚本编写。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于ProtoBuf的Socket网络通信测试方法及其系统、存储介质,能够实现无脚本的自动化测试,显著提高测试效率。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于ProtoBuf的Socket网络通信测试方法,包括:接收客户端以HTTP传输协议发送过来的传输信息;将HTTP传输格式的所述传输信息实例化为ProtoBuf对象,然后再将其序列化后通过Socket传输通道发送至服务端;接收服务端返回的结果,将其反序列化后,再转换为HTTP传输格式的返回信息输出。本专利技术提供的第二个技术方案为:一种计算机存储介质,其上存储有计算机程序,所述程序在被处理器调用时,能够实现上述基于ProtoBuf的Socket网络通信测试方法所包含的所有步骤。本专利技术提供的第三个技术方案为:一种基于ProtoBuf的Socket网络通信测试系统,包括客户端、中间件以及服务端;所述中间件,用于接收客户端以HTTP传输协议发送过来的传输信息;以及将HTTP传输格式的所述传输信息实例化为ProtoBuf对象,然后再将其序列化后通过Socket传输通道发送至服务端;以及接收服务端返回的结果,将其反序列化后,再转换为HTTP传输格式的返回信息输出。本专利技术的有益效果在于:通过设置在客户端与服务端的中间件,将客户端要发送至服务端的数据内容以Web服务的HTTP协议传输给中间件;中间件只需利用简单的HTTP接口测试手段便可实现测试功能在客户端至服务端之间的Socket网络通信的测试,从而将复杂的Socket连接与传输、ProtoBuf序列化与反序列化变为自动化处理过程,即传输消息内容转换的全自动化,可以替代人工实现无脚本的自动测试;同时,也可以降低基于ProtoBuf的Socket网络通信功能的测试难度,降低测试人员的门槛;进一步的,还能防止人力的重复投入,消息序列化、通信传输脚本无需重复编写。本专利技术的测试方式具有测试效率高、测试准确度高、成本低、人力投入少、操作简易等优点。附图说明图1为本专利技术一种基于ProtoBuf的Socket网络通信测试方法的流程示意图;图2为本专利技术实施例一的一种基于ProtoBuf的Socket网络通信测试方法的流程示意图;图3为本专利技术实施例二的客户端上登录功能接口与服务端之间基于ProtoBuf的Socket网络通信测试。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:将客户端要发送至服务端的数据内容以Web服务的HTTP协议传输给中间件;中间件只需利用简单的HTTP接口测试手段便可实现测试功能在客户端至服务端之间的Socket网络通信的测试,从而实现传输消息内容转换的全自动化,无脚本。本专利技术涉及的技术术语解释:请参照图1,本专利技术提供一种基于ProtoBuf的Socket网络通信测试方法,包括:接收客户端以HTTP传输协议发送过来的传输信息;将HTTP传输格式的所述传输信息实例化为ProtoBuf对象,然后再将其序列化后通过Socket传输通道发送至服务端;接收服务端返回的结果,将其反序列化后,再转换为HTTP传输格式的返回信息输出。从上述描述可知,本专利技术的有益效果在于:(1)无需人工手动测试,全程无脚本化的自动测试,并且能够快速测试并产出测试结果,显著提高测试效率和测试准确度;(2)操作简易,降低了测试人员门槛,对测试人员的编程基础没有要求;(3)该测试方法可以大大节省人力成本,使得测试人员在测试时将更多的时间和精力放在用例设计上;(4)解决现有测试方式需要针对每一个用例编写一遍操作脚本的问题,能够实现无需针对消息序列化、通信传输脚本编写投入重复的工作;(5)测试结果对比简易。进一步的,所述接收客户端以HTTP传输协议发送过来的传输信息,之前,还包括:获取预先配置的对应测试功能的传输信息和返回的结果的ProtoBuf消息结构体定义;依据所述ProtoBuf消息结构体定义配置所述测试功能要通过Socket传输通道发送至服务端的内容,以及服务端返回的结果的内容;将所述发送至服务端的内容转换为HTTP传输格式的所述传输信息。由上述描述可知,直接获取预先自动生成的Socket数据交互的ProtoBuf消息定义,测试人员只需预先依据ProtoBuf消息定义编写好适用于HTTP传输协议的传输信息即可,使得测试人员完全脱离了脚本的编写,以此显著降低测试操作难度,同时大大缩短整个测试流程所需时间,在实现自动化测试的同时显著提升测试效率。进一步的,还包括:依据配置的所述返回的结果的内容,分析所述返回信息是否正确;若正确,则判本文档来自技高网
...

【技术保护点】
1.一种基于ProtoBuf的Socket网络通信测试方法,其特征在于,包括:接收客户端以HTTP传输协议发送过来的传输信息;将HTTP传输格式的所述传输信息实例化为ProtoBuf对象,然后再将其序列化后通过Socket传输通道发送至服务端;接收服务端返回的结果,将其反序列化后,再转换为HTTP传输格式的返回信息输出。

【技术特征摘要】
1.一种基于ProtoBuf的Socket网络通信测试方法,其特征在于,包括:接收客户端以HTTP传输协议发送过来的传输信息;将HTTP传输格式的所述传输信息实例化为ProtoBuf对象,然后再将其序列化后通过Socket传输通道发送至服务端;接收服务端返回的结果,将其反序列化后,再转换为HTTP传输格式的返回信息输出。2.如权利要求1所述的基于ProtoBuf的Socket网络通信测试方法,其特征在于,所述接收客户端以HTTP传输协议发送过来的传输信息,之前,还包括:获取预先配置的对应测试功能的传输信息和返回的结果的ProtoBuf消息结构体定义;依据所述ProtoBuf消息结构体定义配置所述测试功能要通过Socket传输通道发送至服务端的内容,以及服务端返回的结果的内容;将所述发送至服务端的内容转换为HTTP传输格式的所述传输信息。3.如权利要求2所述的基于ProtoBuf的Socket网络通信测试方法,其特征在于,还包括:依据配置的所述返回的结果的内容,分析所述返回信息是否正确;若正确,则判定所述测试功能的Socket网络通信正常。4.如权利要求1所述的基于ProtoBuf的Socket网络通信测试方法,其特征在于,在所述通过Socket传输通道发送至服务端,之前,还包括:判断对应的Socket传输通道是否已建立,若否,则进行对应的Socket传输通道的创建。5.如权利要求1所述的基于ProtoBuf的Socket网络通信测试方法,其特征在于,若所述方法为对应一功能接口的Socket网络通信测试,则所述方法具体为:接收客户端以HTTP传输协议发送过来的对应所述功能接口的传输信息;获取预先配置的对应所述功能接口的传输信息的第一ProtoBuf消息结构体定义;依据所述第一ProtoBuf消息结构体定义将HTTP传输格式的所述传输信息实例化为ProtoBuf对象;将所述传输信息的各字段对应的...

【专利技术属性】
技术研发人员:刘德建曾捷林琛林剑锋李学斌周丽秋林贻概阙珍程兰云刘煌武郑基源李茵茵陈聪惠
申请(专利权)人:福建天晴数码有限公司
类型:发明
国别省市:福建,35

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

1