(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 CN 107733741 A(43)申请公布日 2018.02.23
(21)申请号 201711052235.5(22)申请日 2017.10.30
(71)申请人 中国电力科学研究院有限公司
地址 100192 北京市海淀区清河小营东路
15号
申请人 国家电网公司(72)发明人 唐悦 刘宣 张海龙 王帆 李然
杜蜀薇 周晖 章宏伟 (74)专利代理机构 北京工信联合知识产权代理
有限公司 11266
代理人 郭一斐(51)Int.Cl.
H04L 12/26(2006.01)H04L 1/24(2006.01)
(54)发明名称
用于协议一致性测试的软件架构方法及平台
(57)摘要
本发明涉及一种用于协议一致性测试的软件架构方法及平台,包括构建基础类型定义与连接管理;构建基础功能与相关协议封装,使所述基础功能与相关协议封装位于所述基础类型定义与连接管理的上层;构建业务功能与一致性评价封装,使所述业务功能与一致性评价封装位于所述基础功能与相关协议封装的上层;构建一致性测试用例,使所述一致性测试用例位于所述业务功能与一致性评价封装的上层。本发明层级和模块划分清晰,可行性高,方便扩展与维护,能够良好的满足协议一致性测试的软件需求。CN 107733741 A权利要求书1页 说明书5页 附图1页
CN 107733741 A
权 利 要 求 书
1/1页
1.一种用于协议一致性测试的软件架构方法,采用分层设计,其特征在于,包括如下步骤:
步骤S1:构建基础类型定义与连接管理,作为测试系统软件平台的基石;步骤S2:构建基础功能与相关协议封装,供测试用例或者业务功能函数调用,使所述基础功能与相关协议封装位于所述基础类型定义与连接管理的上层;
步骤S3:构建业务功能与一致性评价封装,对常用的业务功能进行封装,使所述业务功能与一致性评价封装位于所述基础功能与相关协议封装的上层;
步骤S4:构建一致性测试用例,承载协议一致性测试用例,对待测设备的协议一致性进行测试,使所述一致性测试用例位于所述业务功能与一致性评价封装的上层。
2.根据权利要求1所述用于协议一致性测试的软件架构方法,其特征在于:所述基础类型定义与连接管理中设有数据类型定义模块、编解码模块、组件定义模块、端口定义模块以及连接管理模块。
3.根据权利要求2所述用于协议一致性测试的软件架构方法,其特征在于:所述数据类型定义模块中设有基本数据类型、通道交互协议结构体类型以及待测协议的结构体类型。
4.根据权利要求1所述用于协议一致性测试的软件架构方法,其特征在于:所述基础功能与相关协议封装中设有常用数据处理方法模块、日志记录模块、硬件设备控制模块以及相关协议封装模块。
5.根据权利要求1所述用于协议一致性测试的软件架构方法,其特征在于:所述业务功能与一致性评价封装中设有业务功能函数模块、业务报文构造函数模块以及一致性评价模块。
6.根据权利要求5所述用于协议一致性测试的软件架构方法,其特征在于:所述一致性评价模块中,结合待测协议的一致性判断规则,判断报文格式及报文中填充的数据内容是否符合协议。
7.根据权利要求1所述用于协议一致性测试的软件架构方法,其特征在于:所述一致性测试用例中设有物理层一致性测试用例、数据链路层一致性测试用例以及应用层一致性测试用例。
8.一种用于协议一致性测试的软件平台,其特征在于:包括基础类型定义与连接管理、位于所述基础类型定义与连接管理上层的基础功能与相关协议封装、位于所述基础功能与相关协议封装上层的业务功能与一致性评价封装以及位于所述业务功能与一致性评价封装上层的一致性测试用例。
9.根据权利要求8所述用于协议一致性测试的软件平台,其特征在于:所述基础类型定义与连接管理包括数据类型定义模块、编解码模块、组件定义模块、端口定义模块以及连接管理模块。
10.根据权利要求8所述用于协议一致性测试的软件平台,其特征在于:所述基础功能与相关协议封装包括常用数据处理方法模块、日志记录模块、硬件设备控制模块以及相关协议封装模块。
2
CN 107733741 A
说 明 书
用于协议一致性测试的软件架构方法及平台
1/5页
技术领域
[0001]本发明涉及协议测试的技术领域,尤其是指一种用于协议一致性测试的软件架构方法及平台。
背景技术
[0002]通常协议测试包括一致性测试、性能测试、互操作性测试、健壮性测试,其中一致性测试是协议测试的一个重要方面,是性能测试、互操作性测试、健壮性测试的基础。一致性测试是一种黑盒测试,它依据一个协议的描述对协议的某个实现进行测试,从外部可观察行为来判断协议的实现是否符合协议规范。通常利用一组专门设计的测试用例对被测实现进行黑盒测试,通过比较被测实现输出和协议标准规定的预期输出是否相同,判定被测实现是否符合协议规范。通过协议一致性测试,可以检测待测设备的协议实现是否符合标准,如果待测设备的协议实现与标准不符,就不能与符合标准的设备互联互通。[0003]由于协议一致性测试是面向终端产品设计方案的全面测试,同时也是验证终端产品走入市场前是否具备商用水平的最重要的环节。对于终端而言,进行协议一致性测试可以保证终端和通信网络之间的连通性,进而确保不同厂家生产的终端在实际通信系统中能够正常工作。作为终端测试的关键设备,协议一致性测试的软件平台也得到了各国运营商、终端生产厂商和测试仪表厂商的重视,但是现有软件平台扩展维护复杂,而且现有的协议一致性软件平台滞后于终端测试的发展要求,不能迅速针对最新的协议开发测试用例。发明内容
[0004]为此,本发明所要解决的技术问题在于克服现有技术中一致性软件平台滞后于终端测试的发展要求的问题从而提供一种软件平台扩展维护简单且能够提高测试用例开发进度的用于协议一致性测试的软件架构方法及平台。[0005]为解决上述技术问题,本发明的一种用于协议一致性测试的软件架构方法,采用分层设计,包括如下步骤:步骤S1:构建基础类型定义与连接管理,作为测试系统软件平台的基石;步骤S2:构建基础功能与相关协议封装,供测试用例或者业务功能函数调用,使所述基础功能与相关协议封装位于所述基础类型定义与连接管理的上层;步骤S3:构建业务功能与一致性评价封装,对常用的业务功能进行封装,使所述业务功能与一致性评价封装位于所述基础功能与相关协议封装的上层;步骤S4:构建一致性测试用例,承载协议一致性测试用例,对待测设备的协议一致性进行测试,使所述一致性测试用例位于所述业务功能与一致性评价封装的上层。
[0006]在本发明的一个实施例中,所述基础类型定义与连接管理中设有数据类型定义模块、编解码模块、组件定义模块、端口定义模块以及连接管理模块。[0007]在本发明的一个实施例中,所述数据类型定义模块中设有基本数据类型、通道交互协议结构体类型以及待测协议的结构体类型。[0008]在本发明的一个实施例中,所述基础功能与相关协议封装中设有常用数据处理方
3
CN 107733741 A
说 明 书
2/5页
法模块、日志记录模块、硬件设备控制模块以及相关协议封装模块。[0009]在本发明的一个实施例中,所述业务功能与一致性评价封装中设有业务功能函数模块、业务报文构造函数模块以及一致性评价模块。[0010]在本发明的一个实施例中,所述一致性评价模块中,结合待测协议的一致性判断规则,判断报文格式及报文中填充的数据内容是否符合协议。[0011]在本发明的一个实施例中,所述一致性测试用例中设有物理层一致性测试用例、数据链路层一致性测试用例以及应用层一致性测试用例。
[0012]本发明还提供了一种用于协议一致性测试的软件平台,包括基础类型定义与连接管理、位于所述基础类型定义与连接管理上层的基础功能与相关协议封装、位于所述基础功能与相关协议封装上层的业务功能与一致性评价封装以及位于所述业务功能与一致性评价封装上层的一致性测试用例。[0013]在本发明的一个实施例中,所述基础类型定义与连接管理包括数据类型定义模块、编解码模块、组件定义模块、端口定义模块以及连接管理模块。[0014]在本发明的一个实施例中,所述基础功能与相关协议封装包括常用数据处理方法模块、日志记录模块、硬件设备控制模块以及相关协议封装模块。[0015]本发明的上述技术方案相比现有技术具有以下优点:[0016]本发明所述的用于协议一致性测试的软件架构方法,整体采用分层设计,共分为四层,分别是:基础类型定义与连接管理、基础功能与相关协议封装、业务功能与一致性评价封装以及一致性测试用例。每个层级又包含若干模块。本发明层级和模块划分清晰,可行性高,方便扩展与维护,能够良好的满足协议一致性测试的软件需求。附图说明
[0017]为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
[0018]图1是本发明用于协议一致性测试的软件架构方法流程图;[0019]图2是本发明所述协议一致性测试的软件平台的示意图。
具体实施方式[0020]实施例一[0021]如图1所示,本实施例提供一种用于协议一致性测试的软件架构方法,采用分层设计,包括如下步骤:步骤S1:构建基础类型定义与连接管理,作为测试系统软件平台的基石;步骤S2:构建基础功能与相关协议封装,供测试用例或者业务功能函数调用,使所述基础功能与相关协议封装位于所述基础类型定义与连接管理的上层;步骤S3:构建业务功能与一致性评价封装,对常用的业务功能进行封装,使所述业务功能与一致性评价封装位于所述基础功能与相关协议封装的上层;步骤S4:构建一致性测试用例,承载协议一致性测试用例,对待测设备的协议一致性进行测试,使所述一致性测试用例位于所述业务功能与一致性评价封装的上层。
[0022]本实施例所述用于协议一致性测试的软件架构方法,所述步骤S1中,构建基础类型定义与连接管理,作为第一层级,是测试系统软件平台的基石;所述步骤S2中,构建基础
4
CN 107733741 A
说 明 书
3/5页
功能与相关协议封装,作为第二层级,供测试用例或者业务功能函数调用,使所述基础功能与相关协议封装位于所述基础类型定义与连接管理的上层,通过所述基础功能与相关协议封装可以定义常用的基础功能函数,以及待测协议测试过程中可能使用到的其它协议封装,供测试用例或者业务功能函数调用;所述步骤S3中,构建业务功能与一致性评价封装,作为第三层级,对常用的业务功能进行封装,使所述业务功能与一致性评价封装位于所述基础功能与相关协议封装的上层,通过所述业务功能与一致性评价封装对常用的业务功能进行封装,通过提取出测试用例编写中常用的功能函数或者报文构造函数,简化测试用例的编写,减少测试代码重复度;所述步骤S4中,构建一致性测试用例,作为第四层级,承载协议一致性测试用例,对待测设备的协议一致性进行测试,使所述一致性测试用例位于所述业务功能与一致性评价封装的上层,本发明由于层级和模块划分清晰,可行性高,因此方便扩展与维护,能够良好的满足协议一致性测试的软件需求。[0023]所述步骤S1中,所述基础类型定义与连接管理中设有数据类型定义模块、编解码模块、组件定义模块、端口定义模块以及连接管理模块。其中,所述数据类型定义模块,对数据类型进行定义,包括基本数据类型、通道交互协议结构体类型以及待测协议的结构体类型,且所述基本数据类型是整型、字符串类型、字节串类型、数组等可能用到的所有基础类型;所述通道交互协议结构体类型,是软件平台与硬件设备进行数据交互约定的协议所涉及的结构体类型定义;所述待测协议的结构体类型是根据待测协议的文本描述,定义协议中可能用到的所有结构体类型。所述编解码模块,可分为编码和解码,且所述编码是指将指定的结构体类型编码为字节流;所述解码是指根据字节流特征,将字节流解码为结构体。所述组件定义模块,可分别定义MTC、PTC、STC组件,其中MTC是测试用例运行所在的组件;PTC是可能用到的并行组件,在MTC中创建与使用;STC是与硬件设备对应的系统接口组件,STC中的每一个端口对应一个硬件设备;每个组件内需包含若干端口,组件间通过端口进行数据交互。所述端口定义模块,是对端口名称以及端口允许传输的数据类型进行定义。所述连接管理模块,是和硬件设备建立连接,并进行数据收发。[0024]所述步骤S2中,所述基础功能与相关协议封装定义常用的基础功能函数,以及待测协议测试过程中可能使用到的其它协议封装,供测试用例或者业务功能函数调用。所述基础功能与相关协议封装包括常用数据处理方法模块、日志记录模块、硬件设备控制模块以及相关协议封装模块。其中,所述常用数据处理方法模块,是定义数据处理的常用方法,比如:字节串查找、校验和计算等。所述日志记录模块,是定义不同层级或类别的日志记录方法,供用例编写过程中调用,以在用例执行过程中进行日志显示或存储。所述硬件设备控制模块,定义对协议测试过程中涉及的硬件设备进行控制的方法。所述相关协议封装模块,在待测协议测试过程中,如果涉及其它协议,则在此定义相关协议的可能用到的封装方法。[0025]所述步骤S3中,所述业务功能与一致性评价封装进一步对常用的业务功能进行封装,通过提取出测试用例编写中常用的功能函数或者报文构造函数,简化测试用例的编写,减少测试代码重复度。所述业务功能与一致性评价封装包括业务功能函数模块、业务报文构造函数模块以及一致性评价模块。其中所述业务功能函数模块,结合待测协议的实际业务场景,提取出复用程度高的功能函数,供测试用例编写过程中直接调用。所述业务报文构造函数模块,提取测试用例编写过程中常用的构造业务报文的方法,通过根据不同的场景设置不同的参数,以得到同类型的不同业务报文,便于测试用例编写过程中快速获取相应
5
CN 107733741 A
说 明 书
4/5页
的业务报文。所述一致性评价模块,结合待测协议的一致性判断规则,判断报文格式及报文中填充的数据内容是否符合协议,返回true或false(true表示符合,false表示不符合)。具体地,判断方法中也可显示的打印出不符合协议的具体字段或数据内容,对判断错误的具体的域进行日志显示或记录。针对报文是否符合协议的判断,有两种判断方法:一种是判断域预期值为固定值的判断方法:此类方法针对要判断的报文,其预期值是固定的,可将预期的值直接写入方法中;第二种是判断域预期值为可变值的判断方法:此类方法,根据不同的场景,其对报文的预期值不同,需要将判断域的预期值作为参数传入判断方法中,通过所述单独的一致性评价模块,有助于对一致性评价需要判断的协议细节进行管理。[0026]所述步骤S4中,所述一致性测试用例分为三个模块:物理层一致性测试用例、数据链路层一致性测试用例以及应用层一致性测试用例,三个模块的测试用例分别从不同层面对待测设备的协议一致性进行测试。[0027]实施例二:[0028]如图2所示,本实施例提供一种用于协议一致性测试的软件平台,根据实施例一所述的构建方法创建,包括基础类型定义与连接管理11、位于所述基础类型定义与连接管理上层的基础功能与相关协议封装12、位于所述基础功能与相关协议封装12上层的业务功能与一致性评价封装13以及位于所述业务功能与一致性评价封装13上层的一致性测试用例14。
[0029]本发明所述用于协议一致性测试的软件平台,包括基础类型定义与连接管理11、基础功能与相关协议封装12、业务功能与一致性评价封装13以及一致性测试用例14,其中所述基础类型定义与连接管理11,作为第一层级,是测试系统软件平台的基石;所述基础功能与相关协议封装12位于所述基础类型定义与连接管理11的上层,所述基础功能与相关协议封装,作为第二层级,供测试用例或者业务功能函数调用,通过所述基础功能与相关协议封装可以定义常用的基础功能函数,以及待测协议测试过程中可能使用到的其它协议封装,供测试用例或者业务功能函数调用;所述一致性评价封装13位于所述基础功能与相关协议封装12的上层,所述构建业务功能与一致性评价封装,作为第三层级,对常用的业务功能进行封装,通过提取出测试用例编写中常用的功能函数或者报文构造函数,简化测试用例的编写,减少测试代码重复度;所述一致性测试用例14位于所述业务功能与一致性评价封装13的上层,所述构建一致性测试用例,作为第四层级,承载协议一致性测试用例,对待测设备的协议一致性进行测试,本发明由于层级和模块划分清晰,可行性高,因此方便扩展与维护,能够良好的满足协议一致性测试的软件需求。[0030]本实施例中,所述基础类型定义与连接管理11、所述基础功能与相关协议封装12、所述业务功能与一致性评价封装13以及所述一致性测试用例14与实施例一中论述的内容相同,因此不再一一详述。
[0031]本发明开发和建立一套完整的能用于终端协议一致性测试的软件平台,不仅可以应用在商用终端的认证测试中,以保证终端的一致性和互联互通性,而且还可以有效促进不同厂商生产的终端之间的相互连通测试,从而及时发现对协议理解和处理不一致的问题,避免后期影响终端之间连通性的问题。本发明基于所述软件架构方法,可开发出用于协议一致性测试的测试系统软件平台,广泛适用于各种协议的一致性测试,而软件平台扩展维护方便,满足了针对PLC宽带载波协议的物理层、数据链路层、应用层进行协议一致性测
6
CN 107733741 A
说 明 书
5/5页
试的需求。
[0032]本发明软件架构方法,尤其适用于采用TTCN(Testing and Test Control Notation)语言实现的一致性测试软件。[0033]显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
7
CN 107733741 A
说 明 书 附 图
1/1页
图1
图2
8