CN105071990A - 一种通用的信息***接口测试方法及装置 - Google Patents
一种通用的信息***接口测试方法及装置 Download PDFInfo
- Publication number
- CN105071990A CN105071990A CN201510489713.3A CN201510489713A CN105071990A CN 105071990 A CN105071990 A CN 105071990A CN 201510489713 A CN201510489713 A CN 201510489713A CN 105071990 A CN105071990 A CN 105071990A
- Authority
- CN
- China
- Prior art keywords
- data section
- data
- segment
- atomic
- data segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通用的信息***接口测试方法及装置,通过提供的通用的测试消息生成方法,并通过测试消息的格式定义以及数据赋值、打包和发送功能,从而不需要对测试软件代码进行修改,也不依赖于配置文件,而是通过图形界面来完成测试消息的格式定义,从而适应不同类型的被测试***或装备。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通用的信息***接口测试方法及装置。
背景技术
信息***的接口测试在***测试中占有重要地位,其目的有两个方面,一是验证信息***接口一致性,即验证信息***是否能够按照设计文件来接收一定的接口数据,另一个方面是测试接口的符合性,即测试信息***处理特定的接口数据后的处理和反应是否与预期的设计符合。
现有的***接口测试主要采用软件自带固定的测试消息格式,这是最为常见的***测试设计方案,针对特定的被测试***或者装备进行设计。由于这种方式有明确的针对性,因此操作简单、方便,但是存在使用范围有限的缺陷。在软件完成后,如果需要修改已有的测试接口或者增加新的测试接口,一般的处理方法是对整个测试软件或者其中部分组件模块的源代码进行重新修改、编译。
由于不同型号被测试***或者装备的数据接口各不相同,结构复杂并且种类繁多,因此导致在测试***的灵活性设计方面面临较大的困难,现有的实现方案都有一定的局限性。而针对特定被测***或装备设计测试软件的方法,由于其具有很强的针对性,测试接口的扩展能力弱,如果要增加新的测试接口,必须通过修改测试软件的代码来完成,测试准备时间长、自动化程度低,难以保证测试的效率和可靠性。
发明内容
鉴于上述的分析,本发明旨在提供一种通用的信息***接口测试方法及装置,用以完全或至少部分的解决上述技术问题。
为解决上述问题,本发明主要是通过以下技术方案实现的:
本发明一方面提供了一种通用的信息***接口测试方法,该方法包括:
建立测试消息;
将所述测试消息发送给被测接口进行接口测试。
优选地,所述建立测试消息具体包括:
根据被测接口从预设的原子数据段和复合数据段中选择数据段,并定义测试消息格式,根据测试消息格式进行赋值以建立所述测试消息;
所述原子数据段为在内存中占据有固定的长度,且所述原子数据段为预先根据不同功能而定义的原子数据段的名称、长度、约束类型以及编码方式;
所述复合数据段为由若干原子数据段按照一定的规则组合而成的数据段。
优选地,所述复合数据段包括:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段;
所述固定格式数据段为由多个原子数据段作为子字段按照先后顺序直接拼接构成的数据段;
所述显式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,在所述显式重复数据段的头部附加一个字节描述子字段的重复次数;
所述隐式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,拼接方式为,如果当前子字段之后还有重复出现的子字段,则在当前子字段之后附加一个比特位并置为1,否则附加一个比特位并置为0;
所述多重组合数据段为由一个字节标识位后加8个原子数据段或者固定格式数据段作为备选数据段组成,标志位中的每一个比特位依次与8个备选数据段对应,标志位为1表示对应的备选数据段有效,标志位为0表示无效。
所述动态格式数据段为由固定段和动态段两个部分组成,固定段的组成规则与固定格式数据段类似,动态段有多个原子数据段或者固定格式数据段作为备选数据段,根据固定段中某个原子数据段的取值来选择一个备选数据段作为动态段。
优选地,所述测试消息为采用XML方法进行描述。
优选地,该方法还包括:接收所述被测试接口返回的反馈信息;
根据所述反馈信息的类型进行解析,并进行显示控制。
本发明再一方面提供了一种通用的信息***接口测试装置,包括:
建立单元,用于建立测试消息;
发送单元,用于将所述测试消息发送给被测接口进行接口测试。
优选地,所述建立单元具体用于,根据被测接口从预设的原子数据段和复合数据段中选择数据段,并定义测试消息格式,根据测试消息格式进行赋值以建立所述测试消息;所述原子数据段为在内存中占据有固定的长度,且所述原子数据段为预先根据不同功能而定义的原子数据段的名称、长度、约束类型以及编码方式;所述复合数据段为由若干原子数据段按照一定的规则组合而成的数据段。
优选地,所述复合数据段包括:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段;
所述固定格式数据段为由多个原子数据段作为子字段按照先后顺序直接拼接构成的数据段;
所述显式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,在所述显式重复数据段的头部附加一个字节描述子字段的重复次数;
所述隐式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,拼接方式为,如果当前子字段之后还有重复出现的子字段,则在当前子字段之后附加一个比特位并置为1,否则附加一个比特位并置为0;
所述多重组合数据段为由一个字节标识位后加8个原子数据段或者固定格式数据段作为备选数据段组成,标志位中的每一个比特位依次与8个备选数据段对应,标志位为1表示对应的备选数据段有效,标志位为0表示无效。
所述动态格式数据段为由固定段和动态段两个部分组成,固定段的组成规则与固定格式数据段类似,动态段有多个原子数据段或者固定格式数据段作为备选数据段,根据固定段中某个原子数据段的取值来选择一个备选数据段作为动态段。
优选地,所述测试消息为采用XML方法进行描述。
优选地,该装置还包括:
接收单元,用于接收所述被测试接口返回的反馈信息;
解析显示单元,用于根据所述反馈信息的类型进行解析,并进行显示控制。
本发明提供的通用的测试消息生成方法,包括测试消息的格式定义以及数据赋值、打包和发送功能,本发明不需要对测试软件代码进行修改,也不依赖于配置文件,而是通过图形界面来完成测试消息的格式定义;并基于测试消息的格式定义,自底向上、层次化地完成测试消息的赋值和打包,从而适应不同类型的被测试***或装备。
本发明的其他特征和优点将在随后的说明书中阐述,并且部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本发明实施例的一种通用的信息***接口测试方法的流程示意图;
图2为本发明实施例的通用的信息***接口测试方法实现的原理框图;
图3为本发明实施例的原子数据段的定义规则示意图;
图4为本发明实施例的复合数据字段组合规则示意图;
图5为本发明实施例的两种类型的标志位段示意图;
图6为本发明实施例的测试消息格式定义的工作流程示意图;
图7为本发明实施例的测试消息赋值与发送流程示意图;
图8为本发明实施例的反馈消息接收与解析流程示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。为了清楚和简化目的,当其可能使本发明的主题模糊不清时,将省略本文所描述的器件中已知功能和结构的详细具体说明。
为了解决现有技术中现有技术中需要怎对不同类型的被测***而设计不同的测试消息的问题,本发明提供了一种通用的信息***接口测试方法及装置,以下结合附图以及几个实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例
本发明实施例提供了一种通用的信息***接口测试方法,参见图1,该方法包括:
S101、建立测试消息;
S102、将所述测试消息发送给被测接口进行接口测试。
需要说明的是,本发明实施例所述的测试消息为通用的测试消息,下文将详细说明该测试消息。
即,本发明不需要对测试软件代码进行修改,也不依赖于配置文件,而是通过图形界面来完成测试消息的格式定义;并基于测试消息的格式定义,自底向上、层次化地完成测试消息的赋值和打包,从而适应不同类型的被测试***或装备。
本发明实施例所述步骤S101具体包括:
根据被测接口从预设的原子数据段和复合数据段中选择数据段,并定义测试消息格式,根据测试消息格式进行赋值以建立所述测试消息;
所述原子数据段为在内存中占据有固定的长度,且所述原子数据段为预先根据不同功能而定义的原子数据段的名称、长度、约束类型以及编码方式;
所述复合数据段为由若干原子数据段按照一定的规则组合而成的数据段。
需要说明的是,本发明实施例所述的原子数据段是逻辑上不能继续细分或者不需要继续细分的一类数据段,在内存中占据一段固定的长度。从名称、长度、约束类型、编码方式四个方面进行格式的定义。
具体来说,本发明所述复合数据段包括:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段;
下面将对各个数据段进行详细的说明:
所述固定格式数据段为由多个原子数据段作为子字段按照先后顺序直接拼接构成的数据段;
所述显式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,在所述显式重复数据段的头部附加一个字节描述子字段的重复次数;
所述隐式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,拼接方式为,如果当前子字段之后还有重复出现的子字段,则在当前子字段之后附加一个比特位并置为1,否则附加一个比特位并置为0;
所述多重组合数据段为由一个字节标识位后加8个原子数据段或者固定格式数据段作为备选数据段组成,标志位中的每一个比特位依次与8个备选数据段对应,标志位为1表示对应的备选数据段有效,标志位为0表示无效。
所述动态格式数据段为由固定段和动态段两个部分组成,固定段的组成规则与固定格式数据段类似,动态段有多个原子数据段或者固定格式数据段作为备选数据段,根据固定段中某个原子数据段的取值来选择一个备选数据段作为动态段。
需要说明的是,本发明实施例所述测试消息为采用XML方法进行描述。
本发明实施例所述的方法还包括:
接收所述被测试接口返回的反馈信息;
根据所述反馈信息的类型进行解析,并进行显示控制。
下面将结合图2-8以及几个具体的例子对本发明所述的方法进行详细的解释和说明:
本发明按照测试消息格式可定义、消息内容可修改、消息发送方式可选择的设计要求,通过消息格式定义模块实现测试消息的逐层定义;通过测试消息赋值与发送模块实现测试消息内容的输入和按需修改,实现消息发送方式的配置和选择功能;通过消息接收与解析模块用来接收被测试***/装备的反馈消息,并对消息按照其定义格式进行解析和显示。本测试方法的原理框图如图2所示。
下面将主要介绍测试消息格式定义:
测试消息格式定义是整个测试消息生成的核心部分,本发明实施例的测试消息主要按照功能组成进行定义,具体来说,用户可以通过该部分定义各类标准的接口数据格式。该部分由三个模块组成:原子数据段定义、复合数据段定义、测试消息定义。
a)原子数据段定义
一条测试消息由若干条原子数据段和(或)复合数据段构成,复合数据段由若干条原子数据段组合而成,因此原子数据段是定义测试消息格式的基础。
原子数据段是内存上一段占据固定长度的数据,从名称、长度、约束类型、编码方式四个方面进行格式的定义,如图3所示。
名称:该原子数据段的标识;
长度:该原子数据段所占的比特位数;
约束类型:该原子数据段对储存数据取值的约束,目前共有三种约束类型
1)保留约束用户可以设定具体的保留值,表示该数据段在测试消息生成阶段不能由用户自由赋值,而是默认设定为保留值;
2)枚举约束用户可以设定若干个枚举值及其代表的含义,在测试消息生成阶段,用户只能从预设定的枚举值中选择一个作为数据值;
3)无约束在当前格式定义阶段无需做任务的设定,在测试消息生成阶段,用户可以自由输入数据。
编码方式:指将用户输入数据转换为数据段对应内存上存储的二进制数据的方式。目前共有十进制编码、八进制编码、十六进制编码、BCD编码、ASCII编码、GB18030-2000编码、格雷码编码、二进制编码。
1)十进制编码将用户输入的数据作为一个十进制整数直接转换为二进制数进行存储,合法的输入为0-9之间的数字;
2)八进制编码将用户输入的数据作为八进制数转换为二进制数进行存储,合法的输入为0-7之间的数字;
3)十六进制编码将用户输入的数据作为十六进制数转换为二进制数进行存储,合法的输入为0-9之间的数字以及A-F或者a-f之间的字符;
4)BCD编码将用户输入的数据作为一个十进制的整数按照BCD码的编码方式编为二进制数,合法的输入为0-9之间的数字;
5)ASCII编码将用户输入的数据作为一个字符串按照ASCII码的编码方式进行编码,合法的输入是所有数字、字符以及特殊字符;
6)GB18030-2000编码将用户输入的字母和汉字按照GB18030-2000的编码方式进行编码,合法的输入是GB18030-2000中规定的所有能够编码的汉字、字母等;
7)格雷码编码将用户输入的数字作为一个十进制数转换为二进制编码,再将二进制编码按照格雷码编码规则进行转换;
8)二进制编码将用户数据的字符作为二进制数进行转换和存储,合法的输入仅包括0和1。
图3是本发明实施例的原子数据段的定义规则示意图,参见图3,一个名称为“目标类别”,长度为3个比特的原子数据段,其约束规则为枚举约束,其编码规则为十进制编码,
b)复合数据段定义
复合数据段是由若干原子数据段按照一定的规则组合而成的数据段,按照组合规则的不同可以分为如下几种类别:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段。这几种类别复合数据的组合规则为:
1)固定格式数据段:选择若干个原子数据段,按照先后顺序直接拼接为固定格式数据段;
2)显式重复数据段:选择一个原子数据段或者固定格式数据段作为可多次重复的数据段,在该数据段头部附加一个字节存放重复次数;
3)隐式重复数据段选择一个原子数据段或者固定格式数据段作为可以多次重复的数据段,在每两个重复的数据段之间附加一个比特位并置1,在最后一个重复数据段之后附加一个比特位并置0;
4)多重组合数据段选择多个(最多8个)原子数据段或者固定格式数据段作为备选数据段(可多选),在数据段头部附加一个字节标识各备选数据段的有效状态。
5)动态格式数据段由固定段和动态段两个子段组成,选择一个或者多个原子数据段直接拼接作为固定段,选择多个原子数据段或者固定格式数据段作为动态段的备选数据段(单选),动态段的选择依赖于固定段中某个原子数据段的取值。
以上五种复合数据字段的组合规则参见图4。
c)测试消息定义
测试消息由标志位段和数据段组成,数据段包含若干个原子数据段或者是复合数据段。
首先是选择数据段,用户从已有的原子数据段和复合数据段中任意选取一个或者多个作为一条测试消息的数据段;
其次是选取标志位类型,目前***提供两种类型的标志位:消息头扩展标志位和数据段头扩展标志位。
消息头扩展标志位:消息头有若干字节为标志位段,每个字节中的前7位是数据标志位,最后一位是连接位,若为1表示下一个字节还是标志位段,若为0表示标志位结束,之后是数据字段,标志位段中的第i个比特对应数据段中的第i个数据段,若标志位为1表示对应的数据段存在且有效,若干位0表示对应的数据段不存在;
数据段头扩展标志位:测试消息中每个数据段之前扩展1个比特位表示该数据段是否有效,1表示有效,则接下来是该数据段的值,0为无效,则对应的数据段不存在,接下来是下一个数据段的标志位。两种类型的标志位段如图5所示。
图6为本发明实施例的测试消息格式定义的工作流程示意图,参见图6,本发明所述方法的工作流程具体包括:
测试消息格式定义的工作流程分为三个主要阶段:定义原子数据段格式、定义复合数据段格式、定义测试消息格式。
在定义原子数据段格式过程中,首先需要定义原子数据段的名称和长度;其次定义约束类型,如果是保留约束则需要定义保留值,如果是枚举约束则需要定义所有枚举值;最后是为该原子数据段选择编码方式。
定义复合数据段格式的主要工作是选择复合数据段的类型,如果是固定格式,则需要选择组成该格式的一个或者多个原子数据段,如果是显式重复数据段或者隐式重复数据段则需要选择一个原子数据段或者固定格式数据段作为被重复数据段,如果是多重组合数据段,则需要选择1~8个原子数据段或者固定格式数据段作为该多重组合数据段的子数据段,如果是动态格式数据段,则需要首先选择若干原子数据段或者固定格式数据段作为固定段,在选择多个原子数据段或者固定格式数据段作为备选段,最后确定备选段和固定段的依赖关系。
定义测试消息格式的过程,首先是确定测试消息的每一个数据段,其次是选择标志位的类型。
测试消息格式定义的工作流程如图6所示。
本发明实施例所述测试消息的格式描述方法具体包括:
需要说明的是本发明定义的测试消息格式通过XML文件来描述。
基于测试消息的格式定义,以XML文件的形式自底向上,从原子数据段、复合数据段、测试消息三个层次对测试消息的格式进行描述。
描述原子数据段的属性包括名称、长度、约束类型、编码规则四个方面,描述方法为:
<数据段名称="XXX"长度="XX"约束类型="XX"编码规则="XX"/>
复合数据段的描述方法按照不同的组合规则分别进行。
描述固定格式数据段的属性包括组成该复合字段的每个子字段的名称和值(即对应的原子数据段的名称),描述方法为:
<字段类型名称="XXX"类别="固定格式数据段">
<数据段名称="XX"值="XX"/>
……
<数据段名称="XX"值="XX"/>
</字段类型>
显式重复数据段和隐式重复数据段的属性包括重复数据段的名称和值(即对应的原子数据段或者固定格式数据段的名称),描述方法为:
<字段类型名称="XXX"类别="隐式重复数据段">
<参数序号="1"名称="XXX"值="固定字段XX"描述="XX"/>
</字段类型>
<字段类型名称="XXX"类别="显式重复数据段">
<参数序号="1"名称="XXX"值="固定字段XX"描述="XX"/>
</字段类型>
多重组合数据段的属性包括每个备选数据段的名称和值(即对应的原子数据段或者固定格式数据段的名称),描述方法为:
<字段类型名称="XXX"类别="多重组合数据段">
<参数序号="8"名称="XX"值="固定格式XX"/>
<参数序号="7"名称="XX"值="固定格式XX"/>
……
<参数序号="2"名称="XX"值="固定格式XX"/>
<参数序号="1"名称="XX"值="固定格式XX"/>
</字段类型>
动态格式数据段的属性包括固定段中每个子字段的名称和值,动态段的名称、依赖段名称,以及每个被选段对应的依赖段取值和备选格式名称,描述方法为:
<字段类型名称="XXX"类别="动态格式数据段">
<数据段序号="0"名称="XX"值="固定格式XX"/>
……
<数据段序号="n"名称="XX"值="固定格式XX">
<数据段序号="n+1"名称="XX"类型="备选字段"依赖数据段序号="i">
<备选字段键值="xx0"依赖固定字段="固定格式XX"/>
……
<备选字段键值="xx1"依赖固定字段="固定格式XX"/>
</数据段>
</字段类型>
描述测试消息格式的属性包括名称和标志位类型,以及每个字段的名称和对应的格式,描述方法如下:
<消息类型名称="XXXXX"标志位类型="消息头扩展标志位"描述="XX">
<字段名称="XX"字段类型名称="固定格式数据段XX"/>
<字段名称="XX"字段类型名称="显式重复数据段XX"/>
……
<字段名称="XX"字段类型名称="动态格式数据段XX"/>
</消息类型>
测试消息的格式描述示例
原子数据段的格式描述方法示例如下:
<数据段名称="距离"长度="24"约束类型="无约束"编码规则="十进制"/>
<数据段名称="方位"长度="16"约束类型="无约束"编码规则="十进制"/>
<数据段名称="横向距离"长度="16"约束类型="无约束"编码规则="十进制"/>
<数据段名称="纵向距离"长度="16"约束类型="无约束"编码规则="十进制"/>
<数据段名称="上层高度"长度="16"约束类型="无约束"编码规则="十进制"/>
<数据段名称="下层高度"长度="16"约束类型="无约束"编码规则="十进制"/>
复合数据段的格式描述方法示例如下:
<字段类型名称="目标代码A"类别="固定格式数据段">
<数据段名称="保留字段"值="原子数据段1"/>
<数据段名称="目标代码"值="原子数据段2"/>
</字段类型>
<字段类型名称="隐式重复数据段A"类别="隐式重复数据段">
<参数序号="1"名称="重复类型名称"值="固定字段A"描述=""/>
</字段类型>
<字段类型名称="显式重复数据段B"类别="显式重复数据段">
<参数序号="1"名称="重复类型名称"值="固定字段B"描述=""/>
</字段类型>
<字段类型名称="目标信息"类别="多重组合数据段">
<参数序号="8"名称="经度子字段"值="固定_经度子字段"/>
<参数序号="7"名称="纬度子字段"值="固定_纬度子字段"/>
<参数序号="6"名称="海拔高度子字段"值="固定_海拔高度子字段"/>
<参数序号="5"名称="航向子字段"值="固定_航向子字段"/>
<参数序号="4"名称="速率子字段"值="固定_速率子字段"/>
</字段类型>
<字段类型名称="高度"类别="动态格式数据段">
<数据段序号="0"名称="高度类型"值="固定_高度类型选择"/>
<数据段序号="1"名称="高度源代码"值="固定_高度源">
<数据段序号="2"名称="高度值"类型="备选字段"依赖数据段序号="0">
<备选字段键值="00"依赖固定字段="固定_无符号位高度值"/>
<备选字段键值="01"依赖固定字段="固定_带符号位高度值"/>
</数据段>
</字段类型>
测试消息的格式描述方法如下:
<消息类型名称="测试消息A"描述="简单测试"标志位类型="消息头扩展标志位">
<字段名称="位置"字段类型名称="固定格式数据段A"/>
<字段名称="名称"字段类型名称="显式重复数据段B"/>
<字段名称="情报"字段类型名称="隐式重复数据段C"/>
<字段名称="状态"字段类型名称="多重组合数据段D"/>
<字段名称="来源"字段类型名称="动态格式数据段E"/>
</消息类型>
测试消息赋值与发送
功能组成
测试消息的赋值与发送功能由三个模块组成,即数据段赋值模块、发送方式配置模块、测试消息打包与发送模块。
a)数据段赋值
数据段赋值是对测试消息格式中定义的每一个数据段分别进行赋值。
原子数据段赋值的方式为:保留约束的字段不需要赋值;枚举约束的字段需要从预设的枚举值中选择一个;无约束字段可以自由输入。
复合数据段的赋值方法为:对构成复合数据段的所有原子数据段逐个赋值。
对于固定格式数据段,对其中的每个原子数据段分别进行赋值即可;
对于显示和隐式重复数据段,根据重复次数对重复数据段进行添加和赋值,需要重复几次则添加几个重复数据段并赋值;
对于多重组合数据段,对于格式中的备选数据段逐个进行判断,如果有需要则进行赋值,无需要则不必进行赋值;
对于动态格式数据段,首先对固定段进行赋值,赋值方法与固定格式数据段相同,其次对备选数据段进行赋值,***会根据备选数据段依赖的数据段的赋值情况自动选择一个备选数据段作为当前数据段,只需要对此数据段进行赋值即可。
b)发送方式配置
测试消息的发送主要从以下几个方面配置:发送协议、发送数量、发送间隔、是否循环发送。
发送协议配置:***内置了若干种通信协议供用户选择,用户可以自由选择。如果用户需要其他的通信协议,***可以生成一个代码框架,用户在代码中集成所用的通信协议后编译为一个动态库即可由***自动加载;
发送数量配置:设置测试消息需要发送的总的数量;
发送间隔配置:设置每发送两个测试消息之间的时间间隔,单位为毫秒;
循环发送配置:如果选择了循环发送,当最后一个消息完成发送后,再从第一个消息重新开始发送,直到收到停止命令,如果选择了不循环发送,则最后一个消息发送完成后自动停止。
c)测试消息打包与发送
测试消息的打包发送是指根据测试消息格式的定义和赋值,将所有标志位和数据段封装为一个连续的数据块并按照配置的发送方式进行发送。
对于消息头扩展标志位类型,首先确定标志位段的字节数,即「n/7字节;其次是标志位的赋值和消息打包,标志位段除去最后一个字节的连接位置0外,其他字节的连接位都置1,然后从消息的第1个数据段开始进行逐个判断,如果第i个数据段赋了值则将第i个标志(除去连接位)为置为1,并将该数据段拼接到第i-1个数据段之后,如果第i个数据段没有赋值,则给第i个标志位(除去连接位)置0,该数据段不打包。
对于数据段头扩展标志位类型,从消息的第1个数据段开始进行逐个判断,如果第i个数据段赋了值则在该数据段之前扩展一个比特位作为标志位并置为1,然后将该数据段和标志位拼接到第i-1个数据段之后,如果第i个数据段没有赋值,则在已经完成拼接的第i-1个数据段之后扩展一个比特作为标志位并置为0,不打包对应的数据段。
结束打包后如果数据块的比特位数不是8的整数倍,则在末尾扩展置为0的比特位补齐。
最后,将完成打包的数据块按照事先配置的发送方式发送。
工作流程
测试消息赋值与发送的工作流程主要包括三个步骤:测试消息中各个数据段的赋值、消息发送方式配置、测试消息的打包发送。
首先是为测试消息中的数据段逐个赋值,数据段的赋值方法为:依照数据段类型,为组成该数据段的每一个原子数据段进行赋值。
消息发送方式配置的内容主要包括:发送协议、发送数量、发送时间间隔以及是否循环发送等。
测试消息的打包发送过程,首先是判断标识位类型并为数据段扩展标志位,其次是对标志位和数据段统一进行打包,最后是将打包后消息的比特位数扩展为8的整数倍并按照配置的发送方式进行发送。
测试消息赋值与发送工作流程如图7所示。
反馈消息接收与解析
功能组成具体包括:反馈消息的接收与解析功能由三个模块组成:反馈消息的接收、消息的解析、消息的显示。
a)反馈消息接收
根据消息发送中配置的通信协议,自动连接到该协议并接收被测试***/装备返回的反馈消息。
b)反馈消息解析
按照反馈消息的类型,对反馈消息的各个数据段进行解析,保存为格式化的消息内容。反馈消息解析过程是测试消息打包的逆过程,不再赘述。
c)反馈消息显示
将解析后的格式化的反馈消息在软件界面以表格的形式显示。
工作流程
反馈消息接收与解析的工作流程分为三个步骤:反馈消息接收、反馈消息格式解析和反馈消息显示,如图8所示。
装置实施例
本发明实施例提供了一种通用的信息***接口测试装置,该装置包括相互连接的建立单元和发送单元,具体的:
建立单元,用于建立测试消息;
发送单元,用于将所述测试消息发送给被测接口进行接口测试。
即,本发明不需要对测试软件代码进行修改,也不依赖于配置文件,而是通过图形界面来完成测试消息的格式定义;并基于测试消息的格式定义,自底向上、层次化地完成测试消息的赋值和打包,从而适应不同类型的被测试***或装备。
本发明实施例还提供了以下的优选的实施方式,所述建立单元具体用于,根据被测接口从预设的原子数据段和复合数据段中选择数据段,并定义测试消息格式,根据测试消息格式进行赋值以建立所述测试消息;所述原子数据段为在内存中占据有固定的长度,且所述原子数据段为预先根据不同功能而定义的原子数据段的名称、长度、约束类型以及编码方式;所述复合数据段为由若干原子数据段按照一定的规则组合而成的数据段。
本发明实施例还提供了以下的优选的实施方式,所述复合数据段包括:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段;
所述固定格式数据段为由多个原子数据段作为子字段按照先后顺序直接拼接构成的数据段;
所述显式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,在所述显式重复数据段的头部附加一个字节描述子字段的重复次数;
所述隐式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,拼接方式为,如果当前子字段之后还有重复出现的子字段,则在当前子字段之后附加一个比特位并置为1,否则附加一个比特位并置为0;
所述多重组合数据段为由一个字节标识位后加8个原子数据段或者固定格式数据段作为备选数据段组成,标志位中的每一个比特位依次与8个备选数据段对应,标志位为1表示对应的备选数据段有效,标志位为0表示无效。
所述动态格式数据段为由固定段和动态段两个部分组成,固定段的组成规则与固定格式数据段类似,动态段有多个原子数据段或者固定格式数据段作为备选数据段,根据固定段中某个原子数据段的取值来选择一个备选数据段作为动态段。
本发明实施例还提供了以下的优选的实施方式,所述测试消息为采用XML方法进行描述。
本发明实施例还提供了以下的优选的实施方式,本发明实施例所述的装置还包括:接收单元,用于接收所述被测试接口返回的反馈信息;解析显示单元,用于根据所述反馈信息的类型进行解析,并进行显示控制。
本发明实施例的所述的方法中的相关内容可参考***实施例部分的相关内容进行理解,在此不再赘述。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种通用的信息***接口测试方法,其特征在于,包括:
建立测试消息;
将所述测试消息发送给被测接口进行接口测试。
2.根据权利要求1所述的方法,其特征在于,所述建立测试消息具体包括:
根据被测接口从预设的原子数据段和复合数据段中选择数据段,并定义测试消息格式,根据测试消息格式进行赋值以建立所述测试消息;
所述原子数据段为在内存中占据有固定的长度,且所述原子数据段为预先根据不同功能而定义的原子数据段的名称、长度、约束类型以及编码方式;
所述复合数据段为由若干原子数据段按照一定的规则组合而成的数据段。
3.根据权利要求2所述的方法,其特征在于,
所述复合数据段包括:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段;
所述固定格式数据段为由多个原子数据段作为子字段按照先后顺序直接拼接构成的数据段;
所述显式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,在所述显式重复数据段的头部附加一个字节描述子字段的重复次数;
所述隐式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,拼接方式为,如果当前子字段之后还有重复出现的子字段,则在当前子字段之后附加一个比特位并置为1,否则附加一个比特位并置为0;
所述多重组合数据段为由一个字节标识位后加8个原子数据段或者固定格式数据段作为备选数据段组成,标志位中的每一个比特位依次与8个备选数据段对应,标志位为1表示对应的备选数据段有效,标志位为0表示无效。
所述动态格式数据段为由固定段和动态段两个部分组成,固定段的组成规则与固定格式数据段类似,动态段有多个原子数据段或者固定格式数据段作为备选数据段,根据固定段中某个原子数据段的取值来选择一个备选数据段作为动态段。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,
所述测试消息为采用XML方法进行描述。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收所述被测试接口返回的反馈信息;
根据所述反馈信息的类型进行解析,并进行显示控制。
6.一种通用的信息***接口测试装置,其特征在于,包括:
建立单元,用于建立测试消息;
发送单元,用于将所述测试消息发送给被测接口进行接口测试。
7.根据权利要求6所述的装置,其特征在于,
所述建立单元具体用于,根据被测接口从预设的原子数据段和复合数据段中选择数据段,并定义测试消息格式,根据测试消息格式进行赋值以建立所述测试消息;所述原子数据段为在内存中占据有固定的长度,且所述原子数据段为预先根据不同功能而定义的原子数据段的名称、长度、约束类型以及编码方式;所述复合数据段为由若干原子数据段按照一定的规则组合而成的数据段。
8.根据权利要求7所述的装置,其特征在于,
所述复合数据段包括:固定格式数据段、显式扩展数据段、隐式扩展数据段、多重组合数据段、动态格式数据段;
所述固定格式数据段为由多个原子数据段作为子字段按照先后顺序直接拼接构成的数据段;
所述显式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,在所述显式重复数据段的头部附加一个字节描述子字段的重复次数;
所述隐式重复数据段为由一个原子数据段或者固定格式数据段作为子字段经过多次重复出现拼接而成,拼接方式为,如果当前子字段之后还有重复出现的子字段,则在当前子字段之后附加一个比特位并置为1,否则附加一个比特位并置为0;
所述多重组合数据段为由一个字节标识位后加8个原子数据段或者固定格式数据段作为备选数据段组成,标志位中的每一个比特位依次与8个备选数据段对应,标志位为1表示对应的备选数据段有效,标志位为0表示无效。
所述动态格式数据段为由固定段和动态段两个部分组成,固定段的组成规则与固定格式数据段类似,动态段有多个原子数据段或者固定格式数据段作为备选数据段,根据固定段中某个原子数据段的取值来选择一个备选数据段作为动态段。
9.根据权利要求6-8中任意一项所述的装置,其特征在于,
所述测试消息为采用XML方法进行描述。
10.根据权利要求6所述的方法,其特征在于,还包括:
接收单元,用于接收所述被测试接口返回的反馈信息;
解析显示单元,用于根据所述反馈信息的类型进行解析,并进行显示控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510489713.3A CN105071990B (zh) | 2015-08-11 | 2015-08-11 | 一种通用的信息***接口测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510489713.3A CN105071990B (zh) | 2015-08-11 | 2015-08-11 | 一种通用的信息***接口测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105071990A true CN105071990A (zh) | 2015-11-18 |
CN105071990B CN105071990B (zh) | 2018-11-06 |
Family
ID=54501277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510489713.3A Active CN105071990B (zh) | 2015-08-11 | 2015-08-11 | 一种通用的信息***接口测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105071990B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763363A (zh) * | 2018-05-17 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 一种检验待写入记录的方法及装置 |
CN109257117A (zh) * | 2018-09-26 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种通用公共无线接口测试方法和*** |
WO2019223426A1 (zh) * | 2018-05-21 | 2019-11-28 | 北京大米科技有限公司 | 消息格式的配置方法、装置、计算机设备及可读存储介质 |
CN111562490A (zh) * | 2019-02-14 | 2020-08-21 | 深圳市汇顶科技股份有限公司 | 测试方法及*** |
CN111628845A (zh) * | 2017-09-01 | 2020-09-04 | 惠州市德赛西威汽车电子股份有限公司 | 一种提高数据传输效率的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192191A (zh) * | 2006-11-23 | 2008-06-04 | 中兴通讯股份有限公司 | 一种降低gui测试成本的逻辑组织方法 |
CN101453711A (zh) * | 2007-12-06 | 2009-06-10 | 中兴通讯股份有限公司 | 一种手机短消息自动测试***以及测试方法 |
CN101534221A (zh) * | 2008-03-11 | 2009-09-16 | 朗讯科技公司 | 一种在测试设备中对通信协议进行测试的方法和装置 |
CN104077216A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 软件测试方法及测试装置 |
-
2015
- 2015-08-11 CN CN201510489713.3A patent/CN105071990B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192191A (zh) * | 2006-11-23 | 2008-06-04 | 中兴通讯股份有限公司 | 一种降低gui测试成本的逻辑组织方法 |
CN101453711A (zh) * | 2007-12-06 | 2009-06-10 | 中兴通讯股份有限公司 | 一种手机短消息自动测试***以及测试方法 |
CN101534221A (zh) * | 2008-03-11 | 2009-09-16 | 朗讯科技公司 | 一种在测试设备中对通信协议进行测试的方法和装置 |
CN104077216A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 软件测试方法及测试装置 |
Non-Patent Citations (1)
Title |
---|
翟瑛,魏振春,韩江洪,卫星,: ""基于脚本语言建模的汽车ECU测试***设计"", 《计算机工程》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111628845A (zh) * | 2017-09-01 | 2020-09-04 | 惠州市德赛西威汽车电子股份有限公司 | 一种提高数据传输效率的方法 |
CN111628845B (zh) * | 2017-09-01 | 2022-12-06 | 惠州市德赛西威汽车电子股份有限公司 | 一种提高数据传输效率的方法 |
CN108763363A (zh) * | 2018-05-17 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 一种检验待写入记录的方法及装置 |
CN108763363B (zh) * | 2018-05-17 | 2022-02-18 | 创新先进技术有限公司 | 一种检验待写入记录的方法及装置 |
WO2019223426A1 (zh) * | 2018-05-21 | 2019-11-28 | 北京大米科技有限公司 | 消息格式的配置方法、装置、计算机设备及可读存储介质 |
CN109257117A (zh) * | 2018-09-26 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种通用公共无线接口测试方法和*** |
CN111562490A (zh) * | 2019-02-14 | 2020-08-21 | 深圳市汇顶科技股份有限公司 | 测试方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105071990B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105071990A (zh) | 一种通用的信息***接口测试方法及装置 | |
CN101651683B (zh) | 一种信令消息解析源代码生成方法 | |
CN109768970A (zh) | 一种基于可配置的通用协议生成方法 | |
EP1722529B1 (en) | Device and method for simulating communication system capable of easily controlling protocol message | |
CN111191422B (zh) | 一种文件格式转换方法、装置和计算机可读存储介质 | |
CN101197818A (zh) | 一种asn.1报文面向对象的处理方法 | |
US20180232427A1 (en) | Data structure endian conversion system | |
CN109460220A (zh) | 报文预定义代码生成方法、装置、电子设备和存储介质 | |
US20100211930A1 (en) | Object oriented management device for asn.1 message | |
CN105868037A (zh) | 程序运行过程中错误信息的处理方法及*** | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN108471401A (zh) | 一种can信号封装、解析方法及装置 | |
US20200019896A1 (en) | Numerical graphical flow diagram conversion and comparison | |
CN100505743C (zh) | 通用消息解释器的实现方法 | |
CN102708106B (zh) | Exi 编码器 | |
CN111192143B (zh) | 数据处理方法、装置、存储介质及区块链节点 | |
CN114594927A (zh) | 低代码开发方法、装置、***、服务器及存储介质 | |
CN105227873A (zh) | 一种在屏显示数据的测试方法和装置 | |
CN112989433A (zh) | 基于Java Bean校验规则的校验方法及相关设备 | |
CN104750468A (zh) | 一种服务端拓扑数据转换方法和转换装置 | |
CN115794106A (zh) | 一种轨道交通二进制协议数据配置式解析的方法及*** | |
CN108429764A (zh) | 一种基于私有协议的数据传输和解析的方法 | |
CN110351860A (zh) | 一种mac pdu传输方法及装置 | |
CN113949749B (zh) | Xml报文处理方法及装置 | |
CN110806973A (zh) | 一种接口报文的自动生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |