您的位置 首页 五金机械加工

协议一致性测试

协议一致性测试 目前, 我国网络产品检测的技术水平和能力与国际上存在较大差距,协议一致性测试产品?的设计大多停…

协议一致性测试

目前, 我国网络产品检测的技术水平和能力与国际上存在较大差距,协议一致性测试产品?的设计大多停?留在测试方法的理论研究上,在协议测试的通用平㎏台方面还缺乏??较好的解决方案。

  1 网络协议一致性测试概述

 ? 网﹥络?协?议的一致性测试是一种功能性的黑盒测试,‰通常包括静态测试和动态测试两类。静态测试是指协议实现者向?测试方提交“协议实现一致性声明”与协议中的静态一致性要求相?比较㎜,动∠态测试是运行测试集?对DU﹢T(Device under T?est)进行测试。

  协议一致陛测试包括三个阶段?:第一阶段是测试生成,为特定协议产生独立于所有协议实现的抽象测试集;第二阶?段是测试实现﹣,把抽?象测试集中的测试例转换成可执行的测试例;第∟三阶段为测试执?行,在特 ?定的DUT上执行测?试用例。

  通用网络协议一致性∝测试平台?用于动态测试,也分为三个阶段:第一阶?段是对一个指∑定的协⊕议生成一个测试套?集,根据协议的要求,÷这个测试套集可以在实现前对收发双方进行的交互进?行完全设定,或者在≌某∮些需要双方㏑互?动(字段值需要对方的数据来进行填写)的字段给出一个变量。?第二阶段是按照这个测试套集对被测设备的协议实现(DUT)进行黑盒测试;?第三∧个阶±段是通过比?较∥DUT的实际输№出与预期输出的◎异同,从而实现网络协议的一致性测试。

  通用平≠台对各个不同的?协议可支持生成不同的测试套集,分别进行测试和一致性对比。

  2 通⊥用平台组成

  通?用平台由控制台、测试机两部分组成。∩其中控制台负责配置测试套集的策?略、ml测试结果的统计分析及人机交互;测试机负责生成或接收测试套?集,然后生成测试?流发送到被测设备;并从※被测设备接收测试数据?;然后将数据返回控制台。如图㏄1所示。

  

  ㎞2.1? 控制台

≈  控制台硬件可以是一台PC机,其网卡与测试机控制口相连。在高层通过?人机对话界面,对协议、算法及网络参数进行配置,对?测试?套集生成模式及使用方式等进行策略设置;通过驱动程序与测试机进行通信?,向测试机输入测试套集的参数配置,并?接收测试机输出的≦结果-;﹣并对测试结果进行mol统?计分析。

  软件模块包括界面模块、协议接口模块、算法接口模块?、网络接口模块、=通信模块、统计分析模块。

?

 ? 2.2 测试机

 ? 2.2.1 硬件组成

  测试机硬件?采用高性能、高可靠性、高稳定性的嵌入式多核处理器平台。配置高速100M、1000M自适应以太网口,可扩展的大容量DDR2内存和大容量的?Flash空间。硬×件框图如图2所示,多核处理器平台的核心部件为CPU、CμPLD和FPG£A。

  

  CPU主√要用于接收来自控?制机?的网络、?协议、算法参数并%生成实现网络协议的测试套集,它可以直接对被测设备?㏕发送或者接收测试流,或者通过自定义总线将测试套集存储在SRAM中,以实现快速的测试?;它还实?现对〒外围配套器件的控?制,包括DDR∽、Fl?ash、噪声、?日历时钟以及译码等。CPU的PCI总线转换出一个网络,作为测试机的控制×口,与控制机≧进行通信。CPU的串口总线接出一个RS232串口。

  CPLD主要用于CPU?启动、数据总线的译码、FPGA逻辑配置等处理。

  FPGA主要用于网络接口处理和测试流发/送、接收。首先,它提供两?个软MAC核?与PH?Y芯片相连实?现DUT的发送和接=收网o1口3;其次,它提供另外两个软MAC核可以允许CPU直接与DUT进行发送接收测试流?;也可以?调用外部SR¬AM实现测试流发送接收等操作。FPGA和CP¢U之间有两种不同·的通讯?接口,一种是数据总线接口,用于传输基本⊿配置信息、状?态信息和SR?AM数据;一种?是RGMII网口接♂口,用于传输测试流数据。

2.2.2 软件组成

  CPU软件使用裁剪?的定制LINUX操作′系统,内核版本2.6以上,配IPv?4协议栈?等。CPU要实现的软件功能比较多,软件模块有以下几个:

  (1)与控?制机的通信模块:负责接+收来自控制机的网络、协㎝议¥、算法参数以≤及其他命令,<并回送%测试结果。

  (2)算法实现模块:实现协议中需要的算法。

  (3)套集生成模块:这是实现一个协议所?需要的IP包的集合,包括发送的IP包和接收的IP包?。每个不同的协议将产生定?制的套集。每个套集的主要流程就是生成指定的某个协议所需IP包的过程。但是在协议的实现上,会按照协议的要求对相应的字段进行边界测试、正确性和错误测试。并体㎡现在不同的测试流里?。

  (4)测试流发送模块:将存储在SRAM里的测试流发送?至DUT。

?  (5)测试流接收模块:接收DUT发出的响应流,∞存储在SRAM里。

  (6)结果的协议分m析模块:CPU接收到测试流后,将其按照协议∵要求拆分成各个∴字段,并与协议进行比对分析。并将结果发送到与控制机的通信模块。

  3在发送IP包和接收IP包有关联的?情?况下,?比如I?V向量由接收包传递过来后才能确?定下协议一致性测试一包发送的内容≯,必须由CPU直接进行测试。

?

  在协议比较?简?单,发送IP包和接收IP包没有?关联的情况2下,可以将测试套集装载在SRAM里,由FPGA进行测试。这种情况下,也可以测试DU?T的性能。

  3 工作?流程与测试℃内容

?

  协议一致性测试的主要∷过程包括:标∶准?测试套集生成?、测试执行、结果分析三个部?分。标准?测试套集是通过分析协议来确定要测试的各个方面,从而产生测试用例的集合;测试执?行为测∷试用例的运行过程;接收数据分析是对测试结果进行分析,从而?得到协议实现与协议说明是否一致的判决。?如图3所?示。

  

  协议﹤一致性测试的内容包括三个方面:一是协议格式、完整性的一致性测试,能够正确识别收到的协议⌒,并且?按照协?议做出正确的响应,响应的格式要与协议一致。二是测试协议中包含的算法的正确性。要$能够正确地加密和解密相应的信息。三是要对协议的实现㏒过程包括握手、协商等进行一致性测试。

  4 测试套集的生∪成方法

  测试套集的生成方法理*论上有可达性分析与测试序列两?种。可达性分析是从一个初始状态出发?,生成并?检查系统能够到达的所?有状态。≥测试∈序m列方法是针对¥FSM中的单个转移生成的测试子序列,再将这些测试子序列连接≒起来作为完整的测试序列。

  通用∫平台对测试套集的生成㎎方法不作限定。?因为网络协议千差¤万别,套用某一个方法是不现实的。∨因?此不论什么方法,即使是手工方?£法,只要能够正确地诠释协议,生成的测‖试套集符合套集接口要求都可以直接输入到平℅台上实施测试。套集可以是完整°的协议测试,也可以是某个协议测试套集的一部分。这样大大方便了协议测试套集的调试与测试。

  通用平台也提供≡了一种测试套集的生成方法。就是将协议的分析过程@体现在控″制机的界面上,在界面上对协议进行分割,>确定转∏移点和子序列,并给出子序列?的数据范围。然后CPU的*套集生成软件将这些转移点和子序列通过组合连接起来,?形成㈱测♀试套集。

  5 结束语

  在?协议一致?性?测试的需求越来越迫切的℡同时,协议的功能越来越强,复杂性也越⊙来越高,使得测试难度越来越大。§通用平台的硬件设计为以后协议的发展做好了可持续发展的基础,而软件设计也将提供开源和稳定的接口以供协议的发展,增加对协议的支持。


关于更多协议一致性测试内容,可以收藏本网页。徒步减肥 网络协议一致性测试平台设计

协议一致性测试协议一致性测试
本文来自网络,不代表天津五金网立场,转载请注明出处:http://www.mgnqyz.com/mgnqyz/1662.html

作者: mgnqyz

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部