徐 楠,董桂官
(中国电子技术标准化研究院,北京 100007)
混合网络环境下的数字电视协议测试系统研究
徐 楠,董桂官
(中国电子技术标准化研究院,北京 100007)
在研究协议测试原理和方法的基础上,围绕实现混合网络环境下的数字电视协议测试系统的目标,设计了数字电视交互协议测试系统的软件架构,同时在Windows平台上实现了该系统,并对数字电视基本交互协议进行了测试,验证了该系统的实用性和有效性。
混合网络;数字电视;协议测试
随着广播电视网络数字化、信息化和双向化的改造,广播电视与互联网技术的结合,广电行业正在向新的业务运营模式转变。因此,基于数字广播与宽带混合网络环境的电视系统应运而生。在欧洲,广播宽带混合型电视(Hybrid Broadcast/Broadband TV,HBBTV)得到了各界的大力支持,在中国智能电视发展的浪潮中,混合广播与宽带网络环境下的数字电视也逐渐走进用户的生活[1]。混合网络环境下的数字电视涉及了广播和宽带两个技术领域,能够同时连接到两个平行网络通道。通过广播连接,混合终端可以接收标准视音频信号、应用数据和信令等广播内容;通过宽带接口连接到互联网,混合终端还可以同应用服务器通信,接收应用数据和点播的节目等内容[2]。
混合终端连接到互联网与应用服务器的交互主要依赖通信协议,而双方的通信必须建立在实现相同协议的基础上。终端设备及服务器的开发者有可能会对标准的协议有不同的理解,这将导致同一协议会有不同的实现,甚至可能出现完全错误的协议实现,因此对协议实现的一致性进行判断,即协议测试就显得尤为重要[3]。
本文研究的数字电视交互协议测试系统为混合网络环境下的数字电视提供了一种协议测试的方法,由于本文研究的混合网络环境下的数字电视交互协议(以下简称“交互协议”)仍处在项目研究阶段,并不是公开的协议,因此本文不涉及具体协议格式及内容,仅依据协议测试理论描述交互协议测试系统的设计与实现。
协议测试是依据标准的协议对某个协议的实现进行测试,评价该协议实现或被测系统与所对应的标准协议是否相一致的所有测试活动全过程。协议测试是黑盒测试,不需要考虑被测协议实现或被测系统的内部结构和开发实现,只需要通过其输入和输出来判断协议的实现是否正确。国际标准化组织ISO在20世纪90年代制定了一套标准ISO/IEC 9646[4],它制定了一种方法,用于测试某一声称实现了ISO协议的产品与标准协议的一致性,该标准为协议测试系统的设计与实现提供了基本的思路和方法。协议一致性测试的流程包括测试生成、测试实现和测试执行这3个阶段,如图1所示。
图1 协议测试流程图
测试生成是为一个给定的协议生成独立于所有其他协议实现的抽象测试集(Abstract Test Suite,ATS)。测试实现是依据协议实现一致性声明(Protocol Imple⁃mentation Conformance Statement,PICS)和协议实现额外信息(Protocol Implementation extra Information State⁃ment,PIXIT)从ATS中选取适当的测试用例,并根据PIXIT提供的信息量化这些测试用例,产生参数化的可执行测试用例集。测试执行包括被测实现(Implemen⁃tation Under Test,IUT)的PICS分析和测试用例的执行,IUT可以是被测系统或协议实现,也可以是被测系统的一部分,IUT的PICS分析是分析该协议实现一致性声明与标准的要求是否一致;测试用例的执行是通过运行测试用例,来观察IUT的输出或响应,判定IUT与标准要求是否相一致[5-6]。
通过对混合网络环境下的数字电视系统的交互流程及交互协议的分析,明确了本次测试的测试目标,即验证IUT对数字电视交互协议实现的一致性,并为此设计了数字电视协议测试系统。数字电视协议测试系统分为4个部分:测试客户端、测试服务器、监听服务器和数据库,如图2所示。测试客户端通过IUT选择模块与IUT交互,生成测试用例集,客户端将待执行的测试用例提交给测试服务器;服务器按照测试用例列表顺序执行测试用例,判定测试结果,将结果返回客户端,呈现在客户端界面上。客户端呈现的测试结果包括测试执行过程中实时输出的数据包解析日志和每条测试用例的判定结果[7]。监听服务器是在网络层抓取被测系统的交互数据包,辅助测试服务器执行测试。整个测试过程中,从生成测试用例到最后结果输出,数据库负责全部数据的写入、查询、删除和更新。由于本文研究的交互协议属于应用层协议,测试的交互是通过以太网在此基础上定义了应用层通信实体,因此测试系统不需要实现该交互协议,只要存在以太网链路接口即可[8]。
图2 数字电视协议测试系统架构
在系统设计的前期,需要仔细研究交互协议报文的结构和参数,因为每个测试用例中的被测协议不同,对应被测的数据包也不同,监听服务器会按照测试用例的要求,获取报头参数符合对应被测协议的数据包,因此测试用例的设计是否合理是整个测试系统正常运行的关键。
1)测试客户端
测试客户端由IUT选择、测试用例显示、结果输出这3个模块组成。IUT选择模块用于测试人员选择被测协议,测试系统开始测试时,IUT选择模块将测试人员选择的测试协议集信息提供给测试服务器加载;测试用例显示模块用于显示测试人员选择的测试用例集,以及每个测试用例的描述和测试步骤;结果输出模块用于实时地将测试服务器返回的日志信息输出到测试运行界面,并在测试结束后打印输出完整的测试结果。
2)测试服务器
测试服务器是测试系统重要的组成部分,它运行于测试系统的后台,即对于测试人员来说是透明的,其架构如图3所示。测试服务器主要接收来自客户端的测试执行要求以及测试用例列表,根据测试用例列表加载测试用例并执行,在测试开始时启动监听服务器,接收其抓取的被测系统交互数据包,并将数据包存储到数据库中;协议解析模块按照协议标准解析数据包,进行测试结果判定,并实时将判定结果返回测试客户端。
图3 数字电视协议测试系统测试服务器架构图
3)监听服务器
监听服务器的主要功能是获取被测系统交互过程中的网络数据包,并将符合被测协议的数据包过滤出来,发送到数据库中。测试人员在测试客户端点击测试开始时,客户端开始执行测试用例,同时在后台开启监听服务器,监听程序按照测试用例的要求抓取被测系统交互过程中的全部数据包,存储到数据库中的指定位置。
4)数据库
数据库是测试系统中重要的存储部分,测试执行过程中抓取的交互数据包、实时的执行结果都存储在数据库中,供测试客户端调用。数据库的开发使用MySQL,本系统中使用的表包括:测试用例表、测试数据包信息表、测试过程时间记录表、被测设备记录表、标准协议存储表和测试结果信息表。测试用例表用于存储封装标准的测试用例参数;测试数据包信息表用于存储监听服务器获取的数据报文;标准协议存储表用于存储标准的测试协议报头和报文参数;客户端将测试数据包信息表中的数据解析后,同协议一致性比对表中的报文进行比对,来进行结果判定,并将测试判定的结果存储到测试结果信息表中。
按照上述设计的系统架构,在Windows平台上实现了整个测试系统,搭建了交互式测试平台。其中,测试客户端由Javascript和HTML编写,向用户呈现测试运行和测试结果界面;测试服务器主要由C#语言编写,读取数据库的数据并且解析包中信息,进而对其分析输出协议测试结果;监听服务器使用Java语言编写,获得交互过程中的数据包,将获取的数据存入数据库;数据库使用MySQL,存储交互数据包及测试过程中的全部数据。
本文选取了市场上在售的一款混合网络终端,对数字电视基本交互协议进行了测试验证。按照图4所示拓扑图连接测试平台与被测系统,通过交换机汇聚通信链路,被测服务器和终端与测试平台连接到了同一个局域网中。
图4 数字电视交互协议测试系统拓扑图
进入测试平台,填写被测设备信息后,就进入测试客户端界面,如图5所示。界面左侧是IUT选择界面,测试人员可以通过勾选被测协议,生成被测用例列表;测试界面的右上角有测试开始、测试停止、保存三个按钮,分别控制测试过程的开始、结束和保存测试结果。界面右侧上部分显示测试用例信息,包括测试用例名称、用例描述和被测设备型号,右侧下部分实时输出测试用例的结果。测试用例结果包括详细测试结果、被选项测试结果和测试结果概况,由Tab控件展示在页面上,测试开始后,详细测试结果实时输出全部的测试日志,包括测试时间、收发数据信息、解析数据信息、判定结果信息;被选项测试结果是当点击左侧某测试用例时,单独显示该项用例的日志信息;测试用例概况仅显示已完成测试项目的判定结果,并不输出其他过程数据。
图5 测试执行界面(截图)
测试服务器运行于后台,为实现客户端功能而执行数据分析和逻辑运算,监听服务器的监听程序需要部署在被测系统中,获取被测系统的交互数据包,二者均无界面展示。监听程序获取到数据包后,由测试服务器的解析模块按照协议的报文格式解析出每个数据包的含义,由此判定该数据包是否符合每个测试用例的结果要求,即是否满足该项协议实现的一致性。由于不同协议的报文格式不同,每项测试用例的解析内容也就不尽相同,而报文解析需要严格按照交互协议的报文格式来进行,因此完成全部测试项解析功能的解析模块是系统实现的难点所在[9]。
测试平台按照测试用例顺序执行测试后,测试结束。点击右上角保存按钮,生成测试结果报告,由于协议测试的日志比较长,报告篇幅较大,因此仅附上报告首页,如图6所示。报告详细记录了测试内容、被测设备型号、测试起止时间、测试结果概况和测试详细结果。测试结果概况输出每一测试项目的判定结果,测试结果若为通过,则输出绿色字体,测试结果若为失败,则输出红色字体。详细测试结果中记录了每一项测试用例的日志信息,测试失败的用例也可以从中找出问题所在,便于被测设备的开发研究人员修改其设备功能。
图6 测试结果输出界面(截图)
混合网络环境下的数字电视除了具有传统机顶盒的广播功能之外,还可以通过实现标准化的交互协议来开展各类交互业务,符合广播电视行业未来发展的需要,可以将电视广播和宽带业务无缝地结合在一起。与此同时,如何判定各终端厂商生产的终端具有相同的协议实现,可以互相通信就显得尤为重要[10]。
本文根据协议测试原理,在Windows平台设计并实现了混合网络环境下的数字电视协议测试系统,提供了一种验证被测终端与服务器之间交互是否符合一致性的检测方法,能够为今后混合终端的研发及测试提供借鉴。在系统实现的过程中发现,被测系统大部分是基于Linux系统实现的,但考虑到未来的发展趋势,基于Windows系统的交互终端也会占有一定的市场份额,甚至会有根据不同场景定制的基于Unix系统的交互终端,因此提高本文测试系统的可扩展性和可移植性是下一步的工作重点。一种提高扩展性的思路是,按照本文系统设计的架构,开发适配不同平台的监听程序,这样在未来的测试中,根据不同操作系统选择不同平台的监听程序即可。
[1] 张仪.中国式HbbTV引领潮流[J].卫星电视与宽带多媒体,2012(18):18-20.
[2] 刘龙,彭劲.HBBTV混合广播宽带电视系统架构及业务模式探析[C]//2011中国电影电视技术学会影视技术文集.北京:中国电影电视技术学会,2011:367-371.
[3] 李强,余祥,齐建业,等.协议一致性测试研究进展[J].西南科技大学学报,2013(4):85-92.
[4] ISO/IEC 9646-1,Information technology,open system intercon⁃nection,conformance testing methodology and framework,part 1:general concepts[S].1994.
[5] ISO/IEC 9646-2,Information technology,open system intercon⁃nection,OSI conformance testing methodology and framework. part2:Abstract test suite specification[S].1994.
[6] ISO/IEC 9646-4,Information technology,open system intercon⁃nection,conformance testing methodology and framework:part 4: test realization[S].1994.
[7] 李建.路由协议测试系统研究及实现[J].计算机工程与应用,2005(16):119-123.
[8] 田军.IPv6协议一致性测试研究及测试系统实现[D].北京:中国科学院,2001.
[9] 落红卫.协议测试技术分析——一致性测试与互操作测试[J].电信网技术,2007(3):58-60.
[10] 陈修环,黄春波.表示层协议一致性测试的研究与实现[J].计算机研究与发展,1999(2):98-102.
Research of Digital TV Protocol Testing System in Hybrid Network
XU Nan,DONG Guiguan
(China Electronics Standardization Institute,Beijing 100007,China)
In this paper,based on the study of protocol test principle and method,around the goal of implementing the digital TV protocol testing system under the hybrid network,the software architecture of digital TV interaction protocol test system is designed.At the same time,the system is implemented on the Windows platform,and the basic interaction protocol of digital television is tested,which verifies that the system is practical and effective.
hybrid network;digital TV;protocol testing
TN949.197
A
徐 楠(1987—),女,助理工程师,主研智能终端、智慧家庭的标准体系及检测技术;
�� 薇
2014-10-05
【本文献信息】徐楠,董桂官.混合网络环境下的数字电视协议测试系统研究[J].电视技术,2014,38(24).
国家“863”计划项目(2012AA011706)
董桂官(1987—),助理工程师,主研智能终端相关电声产品检测技术及声学标准修订。