一种通信协议测试的发送控制方法

文档序号:8415444阅读:440来源:国知局
一种通信协议测试的发送控制方法
【技术领域】
[0001]本发明涉及一种通信协议测试的发送控制方法,属于通信接口及其协议测试领域。
【背景技术】
[0002]随着通信技术发展,各种通信接口及其协议的测试是技术开发以及产品检验的一个必要环节。当前已有的通信接口及其协议测试,只能提供人工计算数值、人工完成转换数据、人工设置多条数据帧、定时循环、接收帧完全匹配后触发的功能,没有提供更便捷的自动化协议测试功能。中国发明专利《通信协议接口的测试方法及系统(申请号:CN201110279981.4)介绍了一种通信协议测试方法,如图1所示。该通信协议测试方法基于测试脚本模块调用协议测试库的函数,模拟客户端行为,并发送测试用数据给被测对象,通用逻辑服务模拟器接收回复数据,传输给所述测试脚本模块进行验证。该通信协议测试方法的发送部分,通过测试脚本和协议测试库可以实现对所发数据的选择,但该测试系统未包含对测试发送数据帧时间、循环、触发的控制,只能实现通信数据产生、发送,只能用于验证发送数据和依据测试协议库产生的接收数据的一致性,无法适应数据协议因设备特性、接口特性不同而不同的情况,无法完成复杂的、长时间的、不断变化条件的自动测试功能。
[0003]随着串口通信协议的日趋复杂,已有的串口计算机调试工具已经不能满足调试需要。已有的串口计算机调试工具通常只能完成简单的串口收发控制和循环发送功能。然而,当前对串口通信可靠性的测试,还需要对串口发送插入延时、等待回复后再发送、自动修改发送帧数据、自动完成校验码计算和填写。为此,提出串口协议发送测试软件的新需求。

【发明内容】

[0004]本发明的目的是提出一种通信协议测试的发送控制方法,所设计的测试输入的发送数据文本,除了包含发送数据,还包含标号、变量、数据计算和转换函数、发送控制函数以及测试参数设置函数,从而实现测试条件在通信测试过程中自动改变,实现自动数据变化后的协议组帧,实现便捷的数据计算和格式转换,实现更灵活的循环发送和条件跳转,实现依据接收数据的自动应答功能。
[0005]本发明为解决上述技术问题而提供一种通信协议测试的发送控制方法,该方法包含如下步骤:
步骤1、对通信协议测试的发送数据文本进行文本解析处理,分解出发送数据、标号、变量、数据计算和转换函数、发送控制函数以及测试参数设置函数;
步骤2、发送控制处理接收文本解析处理所提供的发送控制函数,准备执行包括循环和跳转控制、时间触发控制、以及条件触发控制在内的发送控制;测试参数设置函数处理依据文本解析处理所提供的测试参数设置函数,设置通信协议测试的参数;
步骤3、在循环和跳转控制下,发送数据、标号、变量以及数据计算和转换函数输入到数据计算和转换处理,获得数据计算和转换函数的处理结果、以及变量的当前数值; 步骤4、发送数据、变量的当前数值以及数据计算和转换函数的处理结果输入到发送数据生成处理,产生待发数据;
步骤5、发送数据生成处理所产生的待发数据经过缓存处理被保存;
步骤6、当时间触发控制和条件触发控制的触发条件满足时,数据发送处理将缓存的待发数据从通信发送接口发送出去。
[0006]其中,所述的通信协议测试的参数包含对通信发送接口和通信接收接口的设置参数。
[0007]进一步的,所述的通信协议测试的参数包含对测试环境的设置参数。
[0008]进一步的,所述的通信协议测试的参数包含对接收和发送数据的处理、统计、测量和显示的设置参数。
[0009]进一步的,所述的时间触发控制包含延时触发控制。
[0010]进一步的,所述的时间触发控制包含定时触发控制。
[0011]进一步的,所述的条件触发控制依据接收数据处理从通信接收接口获得的接收数据,经过接收数据特征判断产生触发条件,触发条件满足时控制数据发送处理将待发数据从通信发送接口发送出去。
[0012]进一步的,所述步骤I至步骤6可以循环,在每次循环中步骤I的文本解析处理依据发送控制函数只对发送数据文本中部分内容进行解析处理。
[0013]本发明所提出通信协议测试发送控制方法的原理框图如图2所示,该方法的有益之处在于通过在发送数据文本中包含变量和函数等符号定义,可以实现更灵活的测试控制。具体而言,发送数据文本中的标号、变量、数据计算和转换函数,从而实现发送数据在测试过程中的自动计算和便捷生成。发送数据文本中的测试参数设置函数,可以用于在测试过程中动态调整通信接口的速度等参数特性,依据不同测试要求更改测试总体环境。测试参数设置函数还可以对发送数据和接收数据进行进一步的数据分析,比如:提取接收数据中特定数据段并转换为实际物理意义对应的数值进行显示;统计测试过程中通信成功率;变更收发数据在显示窗口的显示内容和形式;在显示窗口输出测试消息。
[0014]发送控制函数用于对通信协议测试的数据发送过程实施更灵活的控制,以简化自动测试过程,提供更丰富的测试功能。由于数据发送过程包括数据计算和转换处理、发送数据生成处理、待发数据缓存处理、以及最终的数据发送处理。本发明所实施的发送控制包含两个控制环节。一个控制环节是针对发送数据生成的循环和跳转控制,另一个控制环节是控制缓存中待发数据启动发送的时间触发控制和条件触发控制。发送控制方式的设置仍然是通过发送数据文本中的函数形式来描述。循环和跳转控制函数可以大大方便测试过程的描述,比如:通过在循环中用变量来产生变化的通信目标地址,可以实现多目标的数据发送测试;通过依据不同条件进行跳转,可以实现对不同测试情况的自适应处理。时间触发控制功能对通信测试也非常重要。通过时间触发控制可以实现对通信设备应答响应时间、回复处理时间等时间参数的测量。本发明中,时间触发包含延时触发和定时触发两种类型。条件触发控制则用于实现更灵活的通信协议发送控制,比如依据接收数据发送应答数据、模拟故障数据发送测试、模拟通信冲突测试。条件触发控制也可以依据条件取消发送,并通过结合循环和跳转控制实现发送数据的重组。
【附图说明】
[0015]图1是已有的一种通信协议接口的测试方法的原理框图。
[0016]图2是本发明提出的一种通信协议测试的发送控制方法的原理框图。
【具体实施方式】
[0017]本发明的一个具体实施例的应用背景是基于计算机串口对电气设备的串行数据接口进行通信协议测试。通信协议测试的发送数据文本中所采用的基本的发送数据格式是以空格分隔的、16进制字节数据串的形式,默认串行发送顺序为低字节在前。例如,当发送的字符串为“AB⑶EF”时,其对应的发送数据文本为:41 42 43 44 45 46。
[0018]本发明实施例在发送数据文本中通过前缀“ #”识别标号或变量,通过前缀“$ ”识别函数。标号或变量名称的格式区别是变量名称之后在括号中具有变量赋值的数据、字符串、包含常见的数值运算函数、字符串运算函数和校验码计算的公式表达式。例如:#lable_name对应标号定义,标号名称为lable_name ;#varl (1.5)对应变量定义,变量名称为varl,其数值为1.5 ;#var2 (〃ABCD〃)定义变量var2,初始赋值为字符串〃ABCD〃 ;#var3 (kl: s: k2)定义变量var3,是从kl至k2,步长为s的数组;#var4 (max (x, y) +1.5)定义变量var4,其数值等于表达式(max(x, y)+l.5)的结果。
[0019]本发明实施例在发送数据文本中的数据计算和转换函数包括:从标号J1到标号72的字节长度计算函数$LEN(么XF, I1, 72),其中々为长度数据所占的字节个数,XF用于设置通信低字节在前(LF)或高字节在前(HF)发送,后续函数中XF定义相同;从标号J1到标号I2的校验码计算函数$CHECK(ijpe,I1, I2),其中type对应校验算法类型;将字符串str_力ez作为16进制表示发送的数据类型转换函数$BYTE;将数据z转化为々字节无符号整数、有符号整数、单精度浮点数、双精度浮点数的数据类型转换函
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1