基于软件测试过程中的协议数据解析技术研究与应用

2021-06-28 05:27董文通梅磊石晓宁
科学与信息化 2021年17期
关键词:段长度数据模型软件测试

董文通 梅磊 石晓宁

中国电子科技集团第三十八研究所 安徽 合肥 230088

引言

软件测试是伴随着计算机技术的发展而逐渐发展的技术,在软件工程中占有重要的一环,软件测试技术决定软件产品质量。据统计,在软件工程中软件测试会占用到软件开发周期的40%,对于产品质量要求更高的甚至于会占到60%。如今的软件系统快速发展,软件产品的功能愈发庞大复杂,同时越来越多的软件系统呈现出分布式以及模块化的特性。配置项软件数据交互之间的报文解析更是成为开发人员和测试人员花费大量时间处理的难题。本文建立报文协议数据解析技术可以减轻测试人员对于报文解析的工作量,节约测试过程中对于数据处理解析的时间,更加精准的完成报文协议的分析。

1 相关技术

现代计算机绝大多数都是使用TCP/IP协议来实现通信[1]。运输层的协议主要分为两种协议:TCP协议和UDP协议。TCP为两台主机提供了高可靠性的传输通信。而UDP与TCP不同,只提供了端对端的通信,该通信方式并不可靠[2]。针对TCP/IP协议的报文编解码技术比较成熟的为VMF(可变报文格式)[3]。这主要用于指挥系统中报文格式的标准,为宽带受限的战场环境实时传输指挥控制代码信息而制定的一种可变长度的分组报文格式[4]。本文针对网络传输过程中TCP/IP协议的报文编解码技术的研究以及报文编解码系统设计。

2 网络协议数据模型建立与解析

在整个软件系统的软件测试过程,更关注利用计算机网络进行各个配置项软件之间的通信、通信单元中各个协议的正确性以及通信过程中各个协议的正确性。为了更为直接地解决这个问题,我们建立了数据报文的基础模型。在计算机网路通信过程中,通常各个配置项之间所交互的报文包含了发送方需要发送的完整数据信息,应用层上定义的报文通常由帧头、消息内容、校验以及帧尾组成,测试过程中,所关注的网络协议数据中的数据是报文中最基本的组成成分。在网络的协议中,数据解析是根据已知的数据通信协议,并按照通信协议去除冗余信息,计算获得用户需要的数据信息,分析出信息值。数据解析的过程通常都是按照报文协议中固定的步进和回溯对数据进行解析。数据帧和数据包都是有一定的规律,数据帧由固定的长度,数据包通常根据信息源、采样率和采样时间有所不同,以及每次发送的报文长度可知,我们可以将每次传输的数据协议全部都转化为基础数据进行解析协议。对于解析的结构,以常见的报文结构举例,数据中报文结构如下所示:

中我们设置有报文头Message_Header,里面包含有消息码和报文长度等信息。我们定义messageA、messageB等作为消息内容中的基础数据,通过对于上述中的报文利用编译原理中的数据结构进行解析能够得到数据中的编解信息。我们知道协议总长度N,除messageHeader以外长度。我们需要对每个根据字节的偏移量设置相应的算法进行结构的解析和对应,其中对于每个字段长度的解析与测试算法为:

对于每个消息结构体messageAi的字段长度lengthAi,每个消息结构体的内存偏移量为PAi;对于区域内最后一个字节偏移量为PAj;其中计算PAij= PAj+lengthAj-PAi;重复上述步骤,对于每一个PAij与消息中数值长度进行对应。对于网络协议中数据的结构体解析,我们需要对基础数据的字段长度,阶段性内容进行计算和验证测试。

3 应用与结论

本文根据软件测试过程中所涉及的通信模块协议数据的测试,提出一种协议的数据模型,并根据协议的数据模型提出了数据解析的方法。并基于该方法设计相关的协议模型解析平台首先本文所举例的协议结构中的数据进行解析和测试。该系统平台可以针对软件测试过程中所涉及的协议数据进行充分的解析和测试,从而大大的缩减测试的时间和人力成本。同时具备很好的经济价值和使用价值,并为后续的智能化测试提供参考依据。

猜你喜欢
段长度数据模型软件测试
软件测试方向人才培养“1+X”融合研究
高速公路改扩建高边坡预应力锚索施工技术研究
巧用参数法解答一类定值问题
煤矸光电分选输送机上料段物料冲击稳定性研究*
基于区块链的微网绿电交易数据模型研究
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
基于Pro/E 的发射装置设计数据快速转化方法
首排锚杆锚固段长度对基坑顶地表裂缝开展的影响分析
关于 Web 应用系统的软件测试的研究