0、引言
随着TD-SCDMA技术的不断进步和完善,备受关注的TD-SCDMA外场测试也已经全面展开,现已顺利通过了空载测试、负载测试,即将进入第3阶段的测试。与此同时,设备提供商纷纷加快了通信网络管理软件的研发和测试的步伐,作为管理TD网络无线接入部分(RNC和Node B)的核心软件操作——维护中心(openation maintenance center,OMC)系统也在紧张有序的测试之中。由于在OMC功能测试中往往会遇到一些与真实网元相关的而普通实验室无法实现的测试用例,例如:对大量不同类型告警管理的测试,OMC对大量网元的管理功能的测试。这些问题给正常的功能测试带来了极大的不便,并且严重影响着软件质量和测试进度。为了解决OMC功能测试中的这一系列问题,利用网元仿真技术辅助测试将是一种十分有效的方法。
1、OMC系统简述
TD-SCDMA的OMC属于EMS层网管部分,其主要功能是管理3G网络中无线接入部分网络设备RNC和Node B,同时它也通过北向接口提供服务或者把相关数据提供给上层网管,它与OMC-S等核心网网管程序组成完整的3G网络管理应用[1]。根据OMC所处的层次以及工业化的需求,OMC主要包括CM(configuration management),FM(fault management),PM(performance management),SWM(software management),SM(security management)等主要相关模块[2,3]。其中CM模块主要完成网元与OMC本身的配置管理,包括对网元配置数据的同步采集、呈现以及对配置管理对象的状态管理;PM模块完成对网元性能业务数据的集中管理,包括收集网元性能业务数据,对数据进行处理、保存并为用户提供查询监视功能,同时可以通过建立测量任务定时收集网元性能数据[4];FM模块实现对网元上告警信息的收集和呈现,通过告警呈现知道网元的运行情况,为用户维护网元提供重要的依据和保障[5];SWM软件管理模块是确保整个网管系统可以正确、正常地运行,主要完成对网元软件、数据文件、License文件及其他类型文件的下载与上传,对Node B网元激活和RNC复位,对OMC文件系统与外部介质之间的文件导入导出、OMC的版本软件的创建与管理、OMC文件系统的管理、网元文件系统的管理等。OMC系统架构如图1所示。
图1 OMC架构图
Fig.1 Framework of OMC diagram
2、基于网元仿真技术的OMC功能测试
在软件功能测试中,主要关注于被测软件的功能实现,而不是内部逻辑。被测对象的内部结构、运作情况对测试人员是不可见的。测试人员对被测产品的验证主要是根据产品的需求规格说明书和测试需求列表来验证产品的功能实现是否符合产品的需求规格。功能测试主要是为了发现以下几类错误:功能错误或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误和初始化或终止错误[7]。
对于OMC功能测试主要完成CM,FM,SM,SWM,PM,NBI等相关模块的功能测试。不但涉及到界面错误,数据库的一致性而且还包括网元消息的解析、配置的同步、告警上报呈现的正确性、管理大量网元的压力测试。使得OMC的功能测试涉及的内容和方法与一般软件大有不同,也存在普通软件功能测试几乎不可能出现的难题。例如:①稳定性测试过程中需要大量的网元,在实验室环境下难以实现;②需要对网元进行相关配置,而OMC暂不提供图形用户接口(GUI)配置功能;③需要生成网元告警,不可能损坏机器生成告警。
为了很好地解决以上传统软件功能测试方法不能完成的OMC功能测试问题,在实际工作中引入了网元仿真技术的概念是十分必要的。
2.1 网元仿真仪表
网元仿真仪表(NE Simulator)具有模拟与OMC系统有关的网元功能,以及能实现FM,PM,CM,SWM,SM等模块的相关功能,为外部测试提供必要的支持,成为OMC功能测试中一个重要的测试工具。NE Simulator主要具有以下功能:
1)生成RNC MML下行命令;
2)生成Node B下行命令;
3)批量生成告警报文,模拟RNC及Node B上报告警;
4)根据用户需求上报性能文件;
5)修改配置文件,单机模拟多网元;
6)网元文件的上传、下载;
7)模拟各种不同版本的网元。
具备以上功能的NE Simulator即可高度模拟真实的Node B和RNC进行相关的测试。通过使用NE Simulator可以很好地解决上述OMC功能测试当中的常规软件测试不能完成的问题。NE Simulator在网络中位于网元管理层NMS,与真实的网元处于同一位置,通过打开相应端口来响应OMC的请求。NE Simulator在网络中的位置如图2所示。
图2 NE Simulator在网络中的位置
Fig.2 NE simulator location in network
2.2 NE Simulator的软件实现
NE Simulator的工作原理如图3所示。NE Simulator模拟RNC,Node B打开端口监听来自OMC的连接请求,对OMC进行身份鉴权,处理OMC下发的网元命令并作出响应。并且根据需求下发告警,模拟上报性能测试数据,允许对网元进行配置实现模拟CM,SWM,FM,PM,SM模块功能。
图3 NE Simulator的工作原理图
Fig.3 NE Simulator work schematic diagram
NE Simulator可以通过客户端IP创建模拟网元,并且根据配置文件完成真实网元的初始化,自动进行网元同步,完成网元与服务器的数据同步。在功能测试过程中,模拟网元根据真实网元的消息模型,对OMC的同步命令等网元命令作出回应,并按照固定的格式发送到OMC Server。服务器通过消息或文件的解析读取模拟网元上报的数据并更新数据库数据,更新客户端各个模块相应数据的显示或设备面板,TOPO界面的更新,从而完成网元和OMC的交互,达到测试的目的,为测试提供必要的依据。
根据业务实现NE Simulato在纵向上可分为3个部分:GUI APPLICATION,Domain Logic,Framework。
●GUI Application:主要通过TestBox,List,Button,Menu等控件实现NE simulator的界面框架,为用户提供一个友好的界面和方便快捷的操作方式。同时利用Domain Logic特有的消息机制即消息监听器Listeners完成对用户操作的监听,从而触发相应的事件。
●Domain Logic:这个层次是NE Simulator的核心,业务逻辑的实现层主要分为3个部分:Meta & MIT,NE Business Logic,Mapping。Meta & MIT为其他模块提供元信息支持和网元业务逻辑。NE Business Logic是所有业务逻辑的实现,分为PM,FM,SM,SWM,CM 5个模块,分别模拟真实网元对相关命令作出响应,并完成真实网元的相关模块的业务功能。
●Frameworks:包括一些业务无关的技术框架,一般具有非常良好的复用性。由于OMC要实现与网元的消息通信,主要由Socket完成。因此,Frameworks中最主要的Socket Manager完成管理Socket框架的连接、通断及发送消息。
2.3 NE Simulator实验室环境搭建
进行OMC功能测试要将真实网元和模拟网元二者相结合。NE Simulator只提供一些基本的功能和参数校验,很多Relation校验、业务逻辑校验等功能还不完备,所以要以真实网元为基础、以模拟网元为依托组建网络来完成相关功能测试。实验室设备连接情况如图4所示。
图4 设备连接图
Fig.4 Equipment connection diagram
2.4 NE Simulator在OMC功能测试中的应用
NE Simulator在OMC实际的功能测试中,通过终端IP或虚拟IP创建模拟网元,对OMC下发的命令做出响应来模拟真实网元。下面就功能测试当中遇到的几个难题来说明NE Simulator实现OMC功能测试的过程。
1)执行增量同步LMT命令。为了满足测试用例前置条件,有时需要增加相应的MO(management object),但此项功能暂时不能在OMC中以GUI方式实现,可以通过增量同步LMT命令增加对象,满足测试条件。具体流程如下:首先模拟网元发出LMT命令,Mediation处理LMT命令获得MO的类型和属性信息,并将信息保存到内存中,同时也根据需要,自动添加子MO修改相应的配置文件,发送LMT事件至OMC,事件报文中包含MO在OMC所关心的属性信息。模拟网元调用相关模块的方法,将得到的结果发给OMT,从而实现模拟网元与OMC的交互,完成在OMC当中有些命令无法以GUI方式实现的难题。
2)上报大量告警。由于FM是OMC中的某些重要模块涉及到告警屏蔽规则设置,单板告警显示等功能。这些功能的测试需要大量不同类型的告警,使用真实网元制造告警是不切实际的,而NE Simulator恰恰可以模拟真实网元上报大量告警。首先在模拟网元的客户端选择告警类型和告警编号,并通过设置告警发送的速率和发送时间上报测试所需求的告警。告警类型根据3GPP规范可分为Critical,Major,Minor,Cleared 4种级别。服务器根据模拟网元的告警类型等信息更新数据库实时刷新客户端的告警信息及相关高级模块的显示。
3)模拟大量不同版本网元。由于OMC要实现对于多版本网元的管理,用大量不同版本真实网元显然是难以实现的,我们可以通过不同版本的NE Simulator模拟不同版本的网元,测试多版本网元管理。NE Simulator对大量Node B的模拟并不需要大量的客户端,而是通过修改模拟器配置文件中Node B的信息,增加单个RNC管理的Node B对象,并设置为不同的IP地址。在对应的RNC的同步过程中,会根据配置文件中相应的IP地址,自动发现RNC管理的大量Node B,从而实现模拟大量Node B的功能,为进行大量网元高负载的测试创造了测试环境。
NE Simulator可以用少量的终端模拟大量不同版本的网元,完成对OMC各个模块的功能测试和性能压力测试,为OMC的测试提供了有力的保障。
2.5 测试结果及其分析
以NE Simulator建立模拟网元为例,在使用NE Simulator建立模拟网元后,即可实时的在OMC系统得到新的网元树并可以对模拟网元进行操作和管理。在OMC的功能测试中,对真实网元的操作和对模拟网元的操作完全一致,并且像真实网元一样对OMC系统的操作做出响应,完成CM,FM,SM,SWM,PM等的相关操作,可以方便快捷的协助完成OMC功能测试。
但是由于NE Simulator毕竟是模拟器,与真实网元相比还存在很多不足。例如对于有些业务逻辑校验、异常处理、域值校验方面还存在不足,所以NE Simulator还不能在功能测试中完全取代真实网元。
3、结束语
对TD-SCDMA网管系统OMC进行了简单的介绍,并着重论述了基于网元仿真技术的OMC功能测试技术以及NE Simulator模拟网元的工作流程和原理。OMC功能测试当中会遇到一些使用真实网元难以完成的测试用例,NE Simulator可以很好的协助完成这些用例的执行,更好的保证OMC功能测试的可靠性和有效性。但是NE Simulator毕竟只是对网元的一种模拟,同时还是需要真实网元协助来进行OMC功能测试。因此我们还是应该不断完善NE Simulator的功能以便更好地配合真实网元完成OMC的功能测试。
参考文献:
[1] 谢显中.TD-SCDMA第三代移动通信系统技术与实现[M].北京:电子工业出版社,2004.
[2] 3GPP.TS 32.101 V7.2.0 Telecommunication management Principles and high level requirement[EB/OL].(2006-10)[2006-11-15].http://www.3gpp.org/ftp/Specs/archive/32_series/32.101/32101-720.zip
[3] 3GPP.TS 32.102 V7.0.0 Telecommunication management Architecture[EB/OL].(2006-3)[2006-11-15].http://www.3gpp.org/ftp/Specs/archive/32_series/32.102/32102-700.zip.
[4] 3GPP.TS 32.600 V6.0.0 Configuration Management (CM);Concept and high-level requirements [EB/OL].(2004-3)[2006-11-15].http://WWW.3gpp.org/ftp/Specs/archive/32_series/32.600/32600-600.zip.
[5] 3GPP.TS 32.401 V7.0.0 Performance Management(PM);Concept and requirements[EB/OL].(2006-6)[2006-11-15].http://WWW.3gpp.org/ftp/Specs/archive/32_series/32.401/32401-700.zip.
[6] 3GPP.TS 32.111 V6.0.1 Fault Management requirements [EB/OL].(2005-6)[2006-11-15].http://WWW.3gpp.org/ftp/Specs/archive/32_series/32.1111/32111-1-601.zip.
[7] 古乐.软件测试技术概论[M].北京:清华大学出版社,2004.