|
摘要 随着通信技术的快速发展,针对协议的测试越来越重要。本文介绍了协议一致性测试和互操作测试,分析了二者的优缺点,同时明确了它们之间的关系,以及相关标准进展情况,从而指导我们选择正确的协议测试技术。
1、引言
随着通信技术的快速发展,网络之间的互联互通以及通信业务越来越依赖通信协议的发展。可以说,通信系统的正常运行和通信业务的顺利开展,首要就是取决于协议软件是否满足协议规范的要求。所以必须进行专门的协议测试加以保证。
协议测试技术的目的就是保证通信协议正确实现以及确保不同的通信设备之间可以正确互联。在通信测试中,协议测试仅仅是一种黑盒测试,它并不检查协议代码,而是按照协议标准,通过控制观察被测协议实现的外部行为对其进行评价。协议测试技术主要包括一致性测试(Conformance Testing)和互操作测试(Interoperability Testing)。本文重点介绍两种协议测试技术以及它们之间的关系。
2、协议测试技术介绍
2.1 一致性测试
一致性测试主要是确定被测实现(Implementation Under Test,IUT)是否与标准规定一致。通常利用一组测试案例序列,在一定的网络环境下,对被测实现进行黑盒测试,通过比较IUT的实际输出与预期输出的异同,判定IUT是否与协议描述相一致,采用的测试拓扑见图1。
图1 一致性测试拓扑图
根据ITU-TX.290系列ISO/IEC-9646定义的一致性测试方法,测试标准包括三部分:抽象测试集(ATS)、协议实现一致性说明(PICS)和协议实施附加信息(PIXIT)。可执行测试集(ETS)在以上三部分的基础上生成。ATS规定某一标准协议的测试目的、测试内容和测试步骤:PICS说明实施的要求、能力及选项实现的情况;PIXIT提供测试必须的协议参数。其测试步骤如下:
首先是静态测试:测试仪读取PICS/PIXIT文件并根据协议标准进行静态测试,检查IUT参数说明是否符合标准。
其次是动态测试:测试仪根据PICS/PIXIT文件和ATS生成ETS,然后执行ETS对IUT进行激励/响应测试。具体采用的测试类型包括:本地测试方式、分布式测试方式、协同测试方式和远程测试方式。
最后是测试报告:对测试执行产生的测试记录文件进行分析,按照测试报告描述规格生成一致性测试报告。协议一致性测试报告记录了所有测试案例的测试结果:成功(PASS)、失败(FAIL)、不确定(INCONCLUSIVE)。
采用的工作流程如图2所示。
图2 一致性测试流程图
2.2 互操作测试
互操作测试评价被测实现与相连接相似实现之间在网络操作环境中是否能够正确地交互并且完成协议标准中规定的功能,从而确定被测设备是否支持所需要的功能。互操作测试通常用于研发阶段多厂商准正式测试或者运营商的选型测试,提供重要的互通信息。
事实上,在互操作测试中,被采用最多的形式是测试单位选择经互操作认可的设备来与被测设备进行互操作测试。认可设备可能是终端设备、网络设备或者应用软件,也可能是一个单独设备或者若干设备组合。采用的测试拓扑见图3。
图3 互操作测试拓扑图
在拓扑图中,认可设备(可能是一个或若干设备)和被测设备共同定义测试边界,二者来自不同厂商(至少不同生产线);互操作测试基于用户期望的功能,并由用户控制并观察测试结果,用户可以是人工操作也可以是软件程序。事实上互操作测试主要关注设备功能,而并不关心协议细节。
互操作测试主要包括两个部分:开发互操作测试规范和具体互操作测试过程。
开发互操作测试规范类似于制定一致性测试规范,只不过这个过程通常由进行互操作者根据关注测试功能要点进行制定,该步骤是互操作测试中最重要的部分。相应流程见图4。 |