数据传输方法、装置、介质和计算设备制造方法及图纸

技术编号:36538152 阅读:14 留言:0更新日期:2023-02-01 16:28
本公开的实施方式提供了一种数据传输方法,包括:对采用目标协议进行传输的第一数据进行拦截,所述第一数据包括所述目标协议对应的目标协议类属性以及所述目标协议类属性所对应的属性值;根据所述目标协议的协议规则对所述第一数据进行修改以得到第二数据,所述第二数据用于对应用程序进行黑盒测试;向接收端发送所述第二数据。本公开,提高了黑盒测试的效率。此外,本公开实施方式还提供一种数据传输装置、介质和计算设备。介质和计算设备。介质和计算设备。

【技术实现步骤摘要】
数据传输方法、装置、介质和计算设备


[0001]本公开的实施方式涉及黑盒测试领域,更具体地,本公开的实施方式涉及数据传输方法、装置、介质和计算设备。

技术介绍

[0002]本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]在黑盒测试中,需要传输数据对应用的功能进行测试。
[0004]在进行黑盒测试时,数据传输场景中的客户端与服务端需要采用规定的通信协议进行数据传输。传输的数据需要进行序列化或者反序列化,数据进行序列化或者反序列化需要用到配置文件,配置文件记载了通信协议所规定的数据的传输格式。
[0005]由于黑盒测试不考虑应用内部的逻辑结构和内部特性,且配置文件是由开发者创建维护,在黑盒测试过程中,无法获得配置文件,导致无法获得通信协议所规定的数据的传输格式,因而使得构建测试用例的测试用户不符合格式,从而使得测试用例是无效测试用例,降低了测试用例的质量,导致黑盒测试效率较低。

技术实现思路

[0006]本公开提供一种数据传输方法、装置、介质和计算设备,以解决黑盒测试效率较低的问题。
[0007]在本公开实施方式的第一方面中,提供了一种数据传输方法,包括:对采用目标协议进行传输的第一数据进行拦截,所述第一数据包括所述目标协议对应的目标协议类属性以及所述目标协议类属性所对应的属性值;根据所述目标协议的协议规则对所述第一数据进行修改以得到第二数据,所述第二数据用于对应用程序进行黑盒测试;向接收端发送所述第二数据。/>[0008]在本公开一实施例中,所述对采用目标协议进行传输的第一数据进行拦截,包括:基于针对所述目标协议部署的拦截函数,对所述第一数据进行拦截。
[0009]在本公开另一实施例中,所述基于针对所述目标协议部署的拦截函数,对所述第一数据进行拦截之前,包括:确定应用程序中遵守目标协议的目标协议类;为所述目标协议类部署所述拦截函数。
[0010]在本公开另一实施例中,所述确定应用程序中遵守目标协议的目标协议类,包括:确定所述应用程序的内存地址;基于所述内存地址确定所述应用程序涉及的全部协议的协议类;将具有所述目标协议类的预设特征的协议类匹配为所述目标协议类。
[0011]在本公开另一实施例中,所述确定所述应用程序的内存地址,包括:获取所述应用程序的引擎的特征参数以及所述应用程序的接口参数,所述特征参数用于指示所述引擎的特征;根据所述特征参数以及所述接口参数,确定所述应用程序的代码的加载地址,并根据所述加载地址确定所述应用程序的内存地址。
[0012]在本公开另一实施例中,所述引擎包括Unity引擎、Unreal引擎或者Cocos引擎。
[0013]在本公开另一实施例中,所述为所述目标协议类部署所述拦截函数,包括:响应于所述第一数据是待发送数据,将拦截函数设置于所述目标协议类的类方法函数之前;响应于所述第一数据是待接收数据,将拦截函数设置于所述目标协议类的类方法函数之后。
[0014]在本公开另一实施例中,所述根据所述目标协议的协议规则对所述第一数据进行修改以得到第二数据,包括:对所述目标协议的协议规则中对应的目标协议类属性进行增加、删减和/或替换。
[0015]在本公开另一实施例中,所述根据所述目标协议的协议规则对所述第一数据进行修改以得到第二数据,包括:对所述目标协议类属性所对应的属性值进行修改,修改后的属性值的字段类型和字段长度符合所述目标协议的协议规则。
[0016]在本公开另一实施例中,所述目标协议包括protbuf协议。
[0017]在本公开实施方式的第二方面,还提供一种数据传输装置,包括:拦截模块,用于对采用目标协议进行传输的第一数据进行拦截,所述第一数据包括所述目标协议对应的目标协议类属性以及所述目标协议类属性所对应的属性值;修改模块,用于根据所述目标协议的协议规则对所述第一数据进行修改以得到第二数据,所述第二数据用于对应用程序进行黑盒测试;发送模块,用于向接收端发送所述第二数据。
[0018]在本公开一实施例中,所述拦截模块包括:拦截单元,用于基于针对所述目标协议部署的拦截函数,对所述第一数据进行拦截。
[0019]在本公开另一实施例中,所述数据传输装置,还包括:确定模块,用于确定应用程序中遵守目标协议的目标协议类;部署模块,用于为所述目标协议类部署所述拦截函数。
[0020]在本公开另一实施例中,所述确定模块包括:确定单元,用于确定所述应用程序的内存地址;所述确定单元,还用于基于所述内存地址确定所述应用程序涉及的全部协议的协议类;匹配单元,用于将具有所述目标协议类的预设特征的协议类匹配为所述目标协议类。
[0021]在本公开另一实施例中,所述确定单元包括:获取子单元,用于获取所述应用程序的引擎的特征参数以及所述应用程序的接口参数,所述特征参数用于指示所述引擎的特征;确定子单元,用于根据所述特征参数以及所述接口参数,确定所述应用程序的代码的加载地址,并根据所述加载地址确定所述应用程序的内存地址。
[0022]在本公开另一实施例中,所述引擎包括Unity引擎、Unreal引擎或者Cocos引擎。
[0023]在本公开另一实施例中,所述部署模块包括:设置单元,用于响应于所述第一数据是待发送数据,将拦截函数设置于所述目标协议类的类方法函数之前;所述设置单元,还用于响应于所述第一数据是待接收数据,将拦截函数设置于所述目标协议类的类方法函数之后。
[0024]在本公开另一实施例中,所述修改模块包括:第一修改单元,用于对所述目标协议的协议规则中对应的目标协议类属性进行增加、删减和/或替换。
[0025]在本公开另一实施例中,所述修改模块包括:第二修改单元,用于对所述目标协议类属性所对应的属性值进行修改,修改后的属性值的字段类型和字段长度符合所述目标协议的协议规则。
[0026]在本公开另一实施例中,所述目标协议包括protbuf协议。
[0027]在本公开实施方式的第三方面,还提供一种介质,包括:计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的方法。
[0028]在本公开实施方式的第四方面,还提供一种计算设备,包括:存储器以及处理器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上所述的方法
[0029]本公开实施方式中,先拦截采用目标协议的数据,再基于目标协议的协议规则对拦截的数据进行修改,使得修改的数据符合黑盒测试所规定的数传的传输格式,使得构建的测试用例的测试数据是符合格式的,也即构建的测试用例是有效的,提高了测试用例的质量,且提高了黑盒测试的效率。此外,在精准拦截目标协议的数据后,通过目标协议的协议规则对拦截的数据进行修改,提高了数据的修改效率以及修改可控性,提高了修改后的数据在黑盒测试中的可用性,进一步提高了黑盒测试的效率。
附图说明
[0030]通过参考附图阅读下文的详细描述本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:对采用目标协议进行传输的第一数据进行拦截,所述第一数据包括所述目标协议对应的目标协议类属性以及所述目标协议类属性所对应的属性值;根据所述目标协议的协议规则对所述第一数据进行修改以得到第二数据,所述第二数据用于对应用程序进行黑盒测试;向接收端发送所述第二数据。2.根据权利要求1所述的数据传输方法,其特征在于,所述对采用目标协议进行传输的第一数据进行拦截,包括:基于针对所述目标协议部署的拦截函数,对所述第一数据进行拦截。3.根据权利要求2所述的数据传输方法,其特征在于,所述基于针对所述目标协议部署的拦截函数,对所述第一数据进行拦截之前,包括:确定应用程序中遵守目标协议的目标协议类;为所述目标协议类部署所述拦截函数。4.根据权利要求3所述的数据传输方法,其特征在于,所述确定应用程序中遵守目标协议的目标协议类,包括:确定所述应用程序的内存地址;基于所述内存地址确定所述应用程序涉及的全部协议的协议类;将具有所述目标协议类的预设特征的协议类匹配为所述目标协议类。5.根据权利要求3所述的数据传输方法,其特征在于,所述为所述目标协议类部署所述拦截函数,包括:响应于所述第一数据是待发送数据,将拦截函数设置于所述目标协议类的类方法函数之前;响应于所述第一数据是待接收数据,将拦截函数设置于所述...

【专利技术属性】
技术研发人员:杨彤谷闹年张本梁赵贝贝卓辉
申请(专利权)人:杭州网易智企科技有限公司
类型:发明
国别省市:

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

1