qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

计算机网络协议测试技术分析

摘要:介绍了协议测试技术以及相关标准进展情况,着重介绍了协议一致性测试和互操作性测试,分析了二者的差异,明确了它们之间的关系。便于进一步理解协议测试技术。

  关键词:协议测试;互操作性测试;计算机网络协议

  1、引言

   随着网络以及通信技术的快速发展,网络更加普及,协议测试也显的越来越重要。协议测试技术的目的就是保证通信协议正确实现以及确保不同的通信设备之间可 以正确互联。对于商业测试而言协议测试技术非常具有实用价值,得到了广泛的应用。目前除了一致性测试有国际标准外,其他测试技术还未有国际标准。故此协议 测试技术的理论化、标准化工作有待深入研究。本文在介绍协议测试技术的基础上重点探讨一致性测试和互操作性测试以及它们之间的关系。

  2、协议测试技术介绍

  目前在测试领域测试方法分为3种:白盒测试黑盒测试和 灰盒测试。白盒测试通过每条语句至少执行一次来全面检查整个程序代码,而黑盒测试只测试软件外部可以观察到的行为,不涉及程序的内部结构。白盒测试的测试 能力非常强,但是过程过于复杂,对被测软件要求也很高。黑盒测试只关心被测软件的输入和输出,测试能力虽然弱了些,但是测试过程本身相对简单,对被测软件 要求也无特殊要求。灰盒测试是将白盒测试和黑盒测试结合起来形成的一种测试方法,吸收了两种方法的优点。在通信测试中,协议测试仅仅是一种黑盒测试,它并 不检查协议代码,而是按照协议标准,通过控制观察被测协议实现或系统的外部行为对其进行评价。协议测试技术包括四种类型的测试:①一致性测试 (Conformance Testing):检测协议实现本身与协议规范的符合程度;②互操作性测试(Interoperability Testing):基于某一协议检测不同协议实现间互操作互通信的能力;③性能测试(Performance Testing):检测协议实现的性能指标(如数据传输速度、连接时间、执行速度、吞吐量、并发度等);④健壮性测试(Robust Testing):检测协议实现在各种恶劣的环境下运行的能力(如注入干扰报文、通信故障、信道被切断等)。

   在过去的通信发展中,国际标准组织主要关注协议一致性测试,故此一致性测试开展最早,也形成了很多有价值的成果,而其他三种测试仅仅作为商业测试的手段 来满足具体测试者的需求。90年代国际标准化组织ISO制订的国际标准ISO/IEC 9646(ITU-TX.290系列)——“OSI协议一致性测试的方法和框架”,描述了基于OSI七层参考模型的协议测试过程、概念和方法,相应标准见 表1。另外,还有ETSI ETS 300 406“测试和规范方法;协议一致性测试规范”。

   随着通信技术的发展,新的协议越来越复杂,协议一致性测试工作遇到了很多困难。在实 际测试中,一致性测试通过并不能保证互操作测试一定可以通过。所以互操作性测试相关研 究越来越受到重视。虽然互操作性测试目前还未制定国际标准,但是中国以及ETSI、ITU-T 、ISO等国际组织都开展了相应的研究工作,具体成果有:①ETSI TS 102 237“互操作测试方法和途径”;ETSI TS 202 237“互操作测试方法”;②ITU-T正在完善ITU-T Z.itfm“互操作测试框架和方法”;③ISO正在许多协议簇中增加互操作测试;④“中国通信行业标准YD/T1521-2006路由协议互操作性测试 方法”该标准主要是信息产业 部电信研究院、华为技术有限公司、中兴通讯股份有限公司参与起草,由中华人民共和国信 息产业部发布。

  互操作测试、性能测试和健壮性测试的研究对于商业测试具有非常实用价值,得到了广泛的 应用,然而其理论化、标准化的工作还有待深入研究。

  3、协议一致性测试与互操作性测试技术

  一个协议实现或系统能否通过一致性测试和互操作性测试是它能否与其它实现成功互连互通 的重要保障,因此对协议实现进行一致性测试和互操作性测试是非常重要的。





  3.1 协议一致性测试技术

  ISO/IEC 9646对一致性定义如下:“一个一致性的实现应满足静态一致性需求 和动态一致性需求,并与协议实现一致性声明(Protocol Implementation Conformance St atements,PICS)中所声明的功能相符合。” 一致性测试主要是确定被测实现(Implement ation Under Test,IUT)是否与标准规定一致。通常利用一组测试案例序列,在一定的网 络环境下,对被测实现进行黑盒测试,通过比较IUT的实际输出与预期输出的异同,判定IUT 是否与协议描述相一致。一致性测试拓扑结构如图1。表现一致性测试的重要特征是:①被测系统(System Under Test,SUT)或被测实现定义测试边界;②测试由一个能够完全控制SUT和拥有观察SUT所有通信能力的专门测试系统实施;③测试在开方式标准接口上 执行,也就是说接口指定在协议级。

  根据ITU-T X.290系列ISO/IEC-9646定义的一致性测试方法,测试标准主要包括五部分:①测试套结构和测试目的(Test Suite Structure and Test Purposes,TSS&TP):由相关标 准而得。它们为每个测试提供一个非正式易读的描述,集中于测试意图而不是如何实现。他 们通常在协议层上定义;②抽象测试套(Abstract Test Suite,ATS):是测试例的集合,测试例通过测试描述语言(如 TTCN、XML)描述;③协议实现一致性说明(PICS):PICS说明被测实施的要求、能力及选项实现的情况;④协议实施附加信息(Protocol Implementation eXtra Information for Testing,PIXIT):PIXIT提供测试必须的协议参数(例如特殊地址、计时器值等);⑤可执行测试套(Executable Test Suite,ETS):可以通过ATS简单快速的生成。协议一致性测试采用的工作流程如图2,其测试步骤如下:①静态测试:测试仪读取 PICS/PIXIT文件并根据协议标准进行静态测试,检查IUT参数说明 是否符合标准。②动态测试:测试仪根据PICS/PIXIT文件和ATS生成ETS,然后执行ETS对IUT进行激励/响应 测试。具体采用的测试类型包括:本地测试方式、分布式测试方式、协同测试方式和远程测 试方式。③测试报告:对测试执行产生的测试记录文件进行分析,按照测试报告描述规格生成一致 性测试报告。协议一致性测试报告记录了所有测试案例的测试结果:成功(PASS)、失败( FAIL)、不确定(INCONCLUSIVE)。 

  3.2 协议互操作性测试技术

  目前互操作性测试没有标准定义,通常用于研发阶段多厂商准正式测试或者运营商的选型测 试中。互操作测试评估被测实现与相连接相似实现之间在网络操作环境中交互能力,并且完 成协议标准中规定的功能,从而确定被测设备是否支持所需要的功能。

  在互操作测试中,被采用最多的形式是测试单位选择经一致性操作和互操作测试认可设备来 与被测设备进行互操作测试。互操作性测试拓扑结构如图3。表现互操作性测试的重要特征 是:①认可设备(Qualified Equipment, QE)和被测设备(Equipment Under Test,EUT) 来自不 同厂商(至少不同生产线)共同定义测试边界。二者可能是终端设备、网络设备或者应用软 件,也可能是一个单独设备或者若干设备组合;②互操作性测试基于用户期望的功能,并由用户控制并观察测试结果。用户(Test Driver) 可以是人工操作也可以是软件程序;③互操作性测试在功能性接口上执行和观察,也就是说接口没有指定在协议级而是功能级上 。这些接口包括人机接口(Man-Machine Interfaces,MMIs)、协议设备接口(protocol ser vice interfaces)、应用程序接口(Application Programming Interfaces , APIs)。

  互操作测试过程除了测试使用规范、测试设备和测试驱动与一致性测试不同以外,其它基本 与一致性测试类似。互操作测试过程主要包括两个部分:①开发互操作测试规范过程,通常由互操作者根据测试功能要点进行制定。该过程主要包 括以下内容:指定抽象测试架构、准备互操作特征声明(Interoperable Features Statemen t, IFS)草稿、声明测试套架构(Test Suite Structure, TSS)、写测试目的、写测试例、IF S定案;

  ②测试过程,主要包括以下内容:准备测试、具体测试、测试报告。




  3.3 协议一致性测试与互操作性测试的比较

  一致性测试和互操作测试都是测试协议实现重要而有效的方法,在某种程度上可以相互验证,但二者并不是完全一样,主要差异在于:

  ①测试目的不同,一致性测试是确定被测实现是否与标准规定一致,而互操作测试是确定被 测设备之间基于某一协议的交互能力;②测试对象不同,一致性测试的对象是设备或者系统。而互操作测试的对象是设备;③测试级别不同,一致性测试是在协议 级.而互操作测试是在功能级;④测试效果不同,一致性测试适用所有协议实现,而互操作测试主要适用于被测设备。

  实际测试中,一致性测试通过并不能保证互操作测试一定可以通过。具体原因表现在三方面 :①标准方面:标准中错误与含糊内容;标准本身的兼容性问题;②实施方面:人为错误(如编程错误);对于标准理解不同;标准本身允许不同选项;③技术方 面:通信网络使用不同流量策略;设备兼容性问题;设备配置问题。 

  互操作测试可以证实被测系统中不同设备之间的互操作能力,但不能证实设备是否符合标准 。一致性测试可以证实设备是否符合标准,但不能保证设备之间可以互相通信。故此,互操 作测试不可能替代一致性测试,在互操作测试前必须首先进行一致性测试。一致性测试和互 操作测试是互为验证、互为补充的关系,只有把两者合理地结合才能完成完整的协议测试。

  4、结束语

  自90年代协议测试技术发展以来,协议测试技术得到了广泛的应用。随着计算机网络发展特 别是开放型异构网络的迅猛发展,协议测试理论和技术的研究将更加重要。协议测试并非本 文描述的那么简单,在实际测试中需要针对测试例研究测试算法和理论。我认为随着互操作 性测试优越性的体现,互操作性测试的研究将越来越重要。基于一致性测试与互操作性测试 的关系,将二者结合进行协议测试也有待进一步研究。


posted on 2012-08-31 10:16 顺其自然EVO 阅读(354) 评论(0)  编辑  收藏 所属分类: 测试学习专栏


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜