接口测试范例6篇

接口测试

接口测试范文1

本文结合继电保护自动测试的需求,针对测试系统中的保护逻辑测试和继电保护测试仪控制进行了标准化设计,提出了一种基于XML的通用的继电保护自动测试接口,并以此为基础,在广东昂立电气自动化有限公司的三种不同的测试仪型号上进行了实现和验证,证明了该接口的通用性和可行性,可以进一步推广应用到其他厂家的测试仪,从而实现自动测试系统对多种继电保护测试仪的兼容性。

关键词

继电保护;自动测试;测试仪驱动保护;逻辑测试

1引言

自动测试系统的测试项目以保护的逻辑测试为核心,逻辑测试需要驱动测试仪按照测试需求向保护输出序列化的电压电流,并根据保护的相关开出接点记录保护的反应,从而完成保护的逻辑功能测试。由此可以看出,继电保护自动测试标准接口的设计包括两个方面的内容:标准化的继电保护测试功能数据,标准化的测试仪控制。目前的自动测试系统开发模式基本上还是以各测试仪生产厂家自行开发为主。各厂家开发自动测试时基本上都是采用自定义的测试参数,并且只针对本厂家的测试仪提供控制接口,在系统设计时没有从架构上考虑对别的厂家测试仪器的兼容性,不仅限制了自动测试用户对于测试仪的自主选择权,也给自动测试系统的使用和推广带来了诸多不便。本文通过对继电保护装置(如:距离保护、零序保护、差动保护等)逻辑测试功能的研究,抽象其功能测试,提出了一套标准化的继电保护测试项目和数据接口,并以此为基础,通过对各测试仪生产厂家测试过程的分析比对,求同存异,设计出一套通用的继电保护测试仪控制接口,从而实现了继电保护测试仪的标准化控制。

2标准化的继电保护测试功能数据接口

目前继电保护装置主要包括线路保护、变压器保护、母线保护、发变组保护、发电机保护、断路器保护等。综合分析各类型保护的逻辑功能,基本上可以归结为以下几大类(1)采样值测试(2)电流型保护功能,如过流、零序过流、负序过流,过负荷等;(3)电压型保护功能,如过压、欠压、过激磁等;(4)阻抗型保护功能,如距离保护、阻抗保护、工频变化量保护等;(5)差动型保护功能,如变压器差动、母线差动、线路差动等;对于不同类型的保护,保护逻辑的工作原理决定了其对应的测试方法,包括测试需要提供的数据、测试后应记录的结果数据。以“距离保护”为例,距离保护的工作原理为“三相系统发生短路故障时,保护通过测量保护安装处的三相电压、电流,计算故障点到保护安装处的正序阻抗,从而判断短路点位置是否处于保护范围之内,确定动作与否”。由此可知,距离保护定值校验时需要提供短路点的位置信息,即短路点距离保护安装处的短路阻抗(包括幅值和角度),同时测试过程需要测试仪模拟三相系统的短路故障,所以还必须提供相应的短路计算参数,包括故障类型、故障方向、短路电流,等等。距离保护的动作逻辑结果为在规定的时间范围内跳开断路器的ABC相接点,所以测试结果数据表现现为A、B、C相跳闸时间。基于以上方法,本文通过对以上各类常见的保护逻辑测试功能测试过程的研究,抽象其功能测试,设计了一套标准化的继电保护测试功能数据接口。每一种测试功能数据接口包括三部分,分别为测试项目标识、测试数据、结果数据,采用XML标准格式表示。仍然以“距离保护”为例,其标准化的测试功能数据接口描述如下图所示,左侧为树状结构描述,右侧为XML描述,其中clsid部分为测试项目标识,params部分为测试数据,result部分为结果数据。如图1所示。

3标准化的继电保护测试仪控制接口

自动测试系统要完成保护的逻辑测试,必须通过与测试仪器的数据交互,控制测试仪实现电压电流输出,记录保护接点反馈信息,从而完成保护逻辑功能的测试。各继电保护测试仪生产厂家的软件互不相同,因此需要进行抽象分析,提取其中的共性,同时结合标准化的继电保护测试功能数据接口,设计出一套测试仪控制的通用接口,从而实现继电保护测试仪的控制标准化。

3.1测试仪控制接口设计通过对各厂家测试仪软件对测试仪控制过程的分析,总结得出以下几个共同的控制操作点:(1)测试仪连接:通过接口(网口)与PC机通讯;(2)测试参数下载;(3)测试执行;(4)测试结果获取;由此可以根据以上共同的操作定义一组通用的测试仪控制接口,包括测试仪连接、启动测试、停止测试、开出量发送、开入量状态读取等等。其中“测试参数下载”和“测试结果获取”两个操作需要提供相关数据,这一部分的数据已经通过前面标准化的继电保护测试功能数据接口描述来加以定义。测试仪的控制接口包括下行消息和上行事件两部分,具体定义如下面所示:

3.1.1下行消息定义如表1所示。

3.1.2上行事件定义如表2所示。

3.2通用控制接口的实现方式自动测试的测试仪控制接口实现包括“客户端”和“服务器端”两部分。客户端由自动测试系统通过“自动测试服务进程”的方式实现,包括发送下行消息、接收测试仪的上行反馈信息,包括开入接点的变位、测试结果等事件。服务器端由具体的测试仪生产厂家提供实现,用于完成测试仪控制接口的具体功能,包括下行消息的处理、上行事件的发送等等。客户端和服务器端之间采用TCP协议进行数据传输,数据格式定义为XML格式,服务器端的端口固定为TCP4566。

3.2.1客户端和服务器端之间的通讯数据结构定义如表3所示。

3.2.2客户端和服务器端之间的通讯数据编码方式定义

4应用举例

按照本文提出的标准化的测试功能数据接口以及标准化的测试仪接口控制设计,针对广东昂立电气自动化有限公司的三种不同的测试仪型号,包括A/AD系列传统测试仪、F系列光数字化测试仪、B系列数模一体化测试仪,进行了实现和验证,TCP实现过程如表4所示。

5结论

本文结合继电保护自动测试的需求,通过对继电保护装置逻辑测试功能的抽象,提出了一套标准化的继电保护测试功能数据接口,并以此为基础,设计出一种基于XML的通用的继电保护自动测试接口,从而实现了继电保护测试仪的标准化控制。通过在广东昂立电气自动化有限公司三种不同的测试仪型号的实现和验证,证明了该接口的通用性和可行性,可以进一步推广应用到其他厂家的测试仪,从而实现自动测试系统对多种继电保护测试仪的兼容性。

参考文献

[1]陈泾生,陈久林,郑海雁,等.继电保护检验标准化作业专家系统的研发和应用实践[J].电力系统自动化,2009,33(16):108-111.

[2]赖擎,华建卫,吕云,等.通用继电保护自动测试系统软件的研究[J].电力系统保护与控制,2010,38(3):90-94.

接口测试范文2

【关键词】口语水平测试;社会需要;口语教学

一、口语测试的理论基础

口语测试是一种直接测试(direct test),即通过直接的方式让考生在测试中直接地表现出所要测试的语言能力。科学和理想的语言测试应当包括口语测试。英语口语测试是对学生进行英语综合能力测试中最直接的方式,是检测学生语言输出的重要手段。语言教学不能缺少口语教学。为此,在我校实行口语测试是与促进提供英语教学息息相关的。

二、口语测试的社会环境基础

世界经济全球化以及多元文化趋势的发展,引发了全国各行各业学习英语的热情,口语教学日益成为英语教学的重要部分。大学生必须学会如何在社会中沟通,在国际大环境下学会更好交流。社会语言学家Hymes在1972 年首先提出了“交际能力”的概念,使得口语教学得到了理论支持。迎合社会需要,口语测试成为英语水平测试的重要环节。取得我国主流口语测试的证书,对于一些行业来说是必须品,对于部分学生和职场人员来说,是通行证。比如,含金量高的就是人事部的CATTI3级和2级,还有就是上海初中高级口译。人事部的更难,但全国通用,上海的只在沿海城市认可度较高。

三、口语测试的社会现状

目前的主流口语测试证书如下:英语四、六级口语证,商务英语口语证书 ,国家英语口语证书,国际英语口语证(CELS),口译证书(初级口译,中级口译和高级口译)。

社会上的口语测试,主要是如下:三一口语测试,全国英语等级考试,商务英语测试,一般都是在上海和北京考,比如说中级口译,高级口译。

雅思,托福,GRE等国外英语测试中,对口语测试则给与相当高的权重。

四、我校口语教学与测试现状,须解决的问题

我校是综合性较强的艺术类院校,学生的英语入学水平本就较一般高等院校要低,学生面临就业压力,须过四、六级,这使他们偏爱满堂灌的传统教学,即使运用了当代的多媒体手段,也是为笔试服务,加之课程设置并没有给与足够的时间,口语教学则完全让位于应试性较强的听力教学。

鉴于以上所述的社会大环境,为解决学生的口语水平问题,扭转英语教学现状,我校建立能与社会接轨的英语口语测试模式成为必要。通过测试实验与研究,证明口语测试在我校实行的可行性,并期待将这一成果应用于英语教学,改变传统模式导向的哑巴英语。我校外语系几位老师特申报了科研项目,成立了英语口语测试研究小组,旨在建立与社会接轨的我校口语测试体系模型。

五、研究总体设计和实施过程

从本校工商系随机选取60名学生,为期一年,跟踪进行口语测试实验,并做了口语测试信度与效度的研究,因关系到教师工作量的问题,我们尤其对口语评分制度进行了研究。

研究小组首先制定了口语测试的方案和实行办法,采纳的考试形式基本与四级考试中的口语测试相同。每一组考试都由4名学生参加。

考试目的:①检验学生对微语言技能和常规技能的掌握程度。②能力范畴:首次考试目的是测试初级口语能力;后期实验则是考中、高级口语能力,应变技能的比例增加;③正确描述考试对象:把握考试难度、考试内容针对性、公正性等。考生是在校学生,考题就多涉及学校生活、学习情况之类的话题;④直接口试:符合社会上的主流考试形式,也能为学生所接受。⑤考试题型:口试的考试任务,话题选考生平时熟悉的,使学生言之有物。题型多样,尽量从不同的角度观察考生的口语能力。⑥考官考前培训:考官是保证口试信度的关键。考官都是本校相关的任课老师,考前进行了相关的培训。⑦口语考试的评分方法采用两种:整体评分法和分析评分法。考场有两位老师,一位主考,采用整体评分法,另一位老师采用分析评分法,备有等级评分表,确保评分的公允性和效率性兼顾。研究成果和结论:通过实验研究证明,在我校进行大规模英语口语测试是可行的,测试接近合理的信度和效度。在评分方法的研究表明,分析法和整体评分法的结果差异几乎可以忽略。

六、存在的问题和未来展望

盼望设计出明确的口语能力大纲。包括评分标准、语言功能项目、考试形式、信息输入方式(如文字、图片、图表或者录音等)、评分标准描述等。

参考文献:

[1]王杰.大学英语口语测试现状及分析[J].山东外语教学,2003(4)

[2]高丙梁.大学英语口语测试研究热点述评[J].外语教学理论与研究,2008(1)

接口测试范文3

【关键词】IEC61968CX;WebServices拦截器

1.引言

随首电力信息化系统的发展,各开发商为不同的业务部门开发了相应的业务信息化系统,由于各开发商所使用的技术不同、开发周期不同,没有采用统一的技术,从而导致各业务系统相互独立,业务系统间形成数据的壁垒,数据只能在各业务系统内流转,从而产生“数据孤岛”问题,严重阻碍了信息化建设的开展,容易形成重复建设的情况,降低了数据作为“资产”的价值。

“信息孤岛”现象不是一个个案,在电力行业乃至信息化行业内普遍存在,为了解决电力行业内的“信息孤岛”问题,国际电力标准委员会制定了IEC 61970/IEC 61968系列标准。IEC 61970标准中定义了公共信息模型(Common Information Model,CIM[1])和组件接口规范(Component Interface Specification,CIS[2]),为各应用系统间的交互提供了语义和语法上的依据。IEC 61970定义的CIS接口采用CORBA(Common Object Request Broker Architecture,CORBA[3])技术,技术门槛较高,且采用紧耦合的方式,适合以高性能进行大量数据的传输,对于一些通知消息类的小数据量传输来说,其结构过于庞大,不利于开发商的快速实现,为此IEC 61968标准在IEC 61970 CIM/CIS标准的基础之上,扩展了配电管理部分的CIM模型,并定义了业务系统信息交换模型(Information Exchange Model,IEM[4])和另一种松耦合方式的消息传递标准,以当前流行的WebServices技术进行实现。

本文对IEC 61968标准定义的WebServices标准接口进行了介绍,同时描述了一个采用Apache CXF[5]实现的IEC 61968标准接口的测试方法,采用JAVA编程语言,以CXF中拦截器的方式实现对WebServices输入输出的拦截,并对输入输出XML[6]内容进行查看和编辑,可以为不同的要求配置不同的WebServices输入内容,从而实现IEC 61968标准接口的自动化测试。

2.IEC 61968 WebServices接口

IEC 61968接口可以通过多种技术方式进行实现,如WebServices、JMS等,本文对WebServices实现方式进行了说明。

IEC 61968标准定义了一个通用的接口,并以WSDL[7]的方式对接口进行了规范化定义,其中WebServices服务名称为:Service,该服务只包含三个方法:

PublishEvent:事件方法,用于事件通知。PublishEvent方法的输入参数为EventMessage,返回值为ResponseMessage。

Request:请求方法,用于查询或更新操作。Request方法的输入参数为RequestMessage,返回值为ResponseMessage。

Response:响应方法,用于对通知消息的确认,或是对数据处理结果的反馈。Response方法的输入参数为ResponseMessage,返回值为ResponseMessage。

3.IEC 61968消息结构

3.1 消息头结构

IEC 61968 Header(消息头)包含了一些消息基本描述与控制信息。请求、响应、事件消息都有消息头结构。消息头只有Verb(动词)和Noun(名词)两个必须的字段,其他的字段都是可选的,消息头包括以下元素:

Verb(动词):描述要进行的动作,用来标识要采取的动作类型,如create(创建)、close(关闭)、cancel(取消);created(已创建)、closed(已关闭)、changed(已更改)。IEC 61968标准规范了一个动词列表,动词取值只能从动词列表中选择。

Noun(名词):用来标识Payload(消息有效内容)的类型,描述消息的主题。

Revision(修订):消息修订版本号。

ReplayDetection(重发检测):这是一个复杂元素,包含一个timestamp(时标)和一个nonce(随机数)用于防止重发攻击。时标由源系统生成表示消息创建的时间;随机数是一个序列号或随机生成的字符串(例如UUID),由源系统生成,并且在一天内不允许重复。

Context(上下文):表示消息上下文,如PRODUCTION(生产)、TESTING(测试)、STUDY(研究)、TRAINING(培训)等。

Timestamp(时标):一个遵循ISO-8601的字符串,表示消息发送的时间。

Source(来源):消息产生的来源,系统或组织的名称,如EMS、GIS。

AsyncReplyFlag(异步应答标志):表示应答消息是否异步发送。

ReplyAddress(应答地址):异步应答发送消息的目标地址。

AckRequired(确认请求):表示请求的消息是否需要一个回传的确认消息。

User(用户):一个复杂结构表示用户以及相关的组织,包含一个UserID(用户标识)Organization(组织标识)。

MessageID(消息ID):消息的唯一标识,两个消息不允许有相同的MessageID。

CorrelationID(关联ID):该字段用于将消息连接在一起。该字段可以在请求中提供,因此客户端可以关联对应的应答消息。服务器段会将应答消息的CorrelationID设置为源消息的CorrelationID取值。

Comment(注释):任何描述性的文字。

Property(性质):复合类型允许客户以键/值对的方式扩展传输的信息,包含一个Name(名称)和Value(取值)。

other(其他):其他的客户扩展,由开发商自行定义扩展。

IEC 61968标准规范了一个动词列表,Verb(动词)只能为下表的取值。

表1 IEC 61968推荐动词表

请求动词 回复动词 事件动词 使用场景

Get Reply 无 查询

Create Reply Created 事务

Change Reply Changed 事务

Cancel Reply Canceled 事务

Close Reply Closed 事务

Delete Reply Deleted 事务

Execute Reply Executed 事务

Request(请求动词)的使用方法如下:

Get用于查询消息名词中指定类型的对象。

Create用于创建消息名词中指定类型的对象。

Delete用于删除对象,为了维持修订历史,有时目录系统并不是真正删除对象。

Close和Cancel用于与业务处理相关的动作,如关闭一个工作订单或取消了控制请求。

Change用于更改对象,但需注意,当通过业务规则进行表示时会模棱两可,尤其是在复杂数据集的情况下(复杂数据集一般具有N:1的关系)。

Execute用于使用操作集进行传输的复杂事务,可能包含一个以上的动词。

每个Request(请求)都使用Reply(回复动词)进行回复。Event(事件动词)常常是请求的结果,一个Create可导致一个Created事件的产生。事件中使用的动词为相应请求动词的“过去式”。

消息头的定义如图1所示:

图1 消息头定义

3.2 消息请求结构

IEC 61968Request(消息请求)结构只用于请求消息中,用于存放请求消息的请求参数,请求结构中的元素都不是必须的,在实际应用中可以根据实际情况进行选用。消息请求结构包括的元素描述如下:

StartTime(起始时间):当一个请求需要起始时间作为过滤条件时使用。

EndTime(结束时间):当一个请求需要结束时间作为过滤条件时使用。

Option(配置):名值对方式,在查询请求时可作为过滤条件,可用于规定超时时间或规范化响应模式等,在具体实现时作为自定义的扩展。

ID(标识):在查询请求时,可以作为过滤条件标识一个或多个对象,可以在“close”、“delete”、“cancel”事务中标识特定的对象。每个ID都有一组属性,“kind”用于说明标识的类型,如名称、UUID、事务ID或其他类型,UUID默认采用对象的mRID属性取值;如果取值为名称,“idType”和“idAuthority”需要提供。

Other:其他的自定义扩展。

消息请求的定义如图2所示:

图2 消息请求定义

3.3 消息回复结构

Reply(消息回复)作为对其他消息的响应,包括的元素描述如下:

Result(结果):消息回复的结果,取值为以下之一:

OK:没有错误,返回所有的结果,“Error”元素不需要。

PARTIAL:部分,返回部分结果,有一个或多个“Error”元素。

FAILED:错误,没有返回结果,有一个或多个“Error”元素。

Error(错误):错误描述。

ID(标识):错误对象ID。

Other(其他):其他的自定义扩展。

OperationId(操作ID):操作ID,与请求的操作相同,用于描述是对哪个请求的回复。

消息回复的定义如图3所示:

图3 消息回复定义

Error元素描述处理的错误信息,其元素描述如下:

code(错误代码):用来描述错误的类型。

level(严重级别):分为:INFORM(信息)、WARNING(警告的)、FATAL(严重的)、CATASTROPHIC(灾难的)。

reason(错误原因):一般为人可读的错误名。

detail(详细信息):自由格式描述错误具体的信息。

xpath(出错路径):XPath表达式标识具体的出错的XML元素,

stackTrace(异常堆栈):软件产生的异常堆栈。

Location(异常位置):软件产生异常的位置。

ID(事务ID):对应的事务ID。

relationID(关联ID):出错的关联对象,用于描述两个对象间的关联出错。

opertionId(操作ID):与请求的操作相同,用于描述是对哪个请求的回复。

3.4 消息有效内容结构

Payload(消息有效内容)可以看作是CIM模型的一个子集,通过定义包含在该消息中的IEC TC57 CIM模型的类和属性实现。并不是所有的消息都需要有效内容,例如get,close,cancel,reply操作等只需要消息头,有效内容可以为空。

有些类型的消息必须提供有效内容,如果带有动词create或change的请求消息,以及一些响应消息和一些事件消息。

有效内容一般包含遵循一个已定义了XSD[8]的XML文档。

有些情况也会有例外,例如:一些XML有效内容没有XML Schemas,如RDF文件或动态查询结果,还可能是非XML格式,如CSV和PDF。

还有些情况,有效内容很大,必须进行压缩,否则将浪费大量带宽。为了适应多种格式选项,有效内容提供了以下的格式(图4):

图4 消息有效内容定义

在消息有效内容中,我们可以通过使用XML的“any”结构,来包含任何类型的XML文件。另外,它也提供了松耦合选项,也能使用由XSD定义的特殊复杂类型。

一些情况下可能需要zip格式、Base64+编码的字符串,此时可在消息中使用“compressed”标签。下列情况需要使用压缩方式:

一个遵循XML Schema的有效内容,超出了预定义的大小(如,1MB)。这种情况很常见。

具有非XML格式的有效内容,如PDF,Excel表格,CSV文件,或二进制图片。

使用XML格式但没有XML Schema的有效内容,超出了预定义的大小(如,1MB)。如作为一个SQL XML查询结果生成的动态XML。

当有效内容采用Base64编码的压缩方式时,它作为一个string存储于compressed消息元素内。另外,为了支持二进制格式数据的高效传输,数据采用Base64编码,但不压缩。如果XML格式不能满足性能的要求,可以对数据进行分类,通过压缩方式来实现“高速”传输。

Format标签可以用于标识特定的数据格式,比如XML、RDF、SVG、BINARY、PDF、DOC、CSV等。该标签是可选字段,它一般只用于当有效内容的存储使用compressed消息元素时。

4.Apache CXF

Apache CXF是一个开源的WebServices框架,大大简化了WebServices的创建,并可以在多种传输协议上运行。采用CXF构建WebServices服务非常方便,通过CXF的工具将WSDL生成为相应的JAVA编码后,只需要编写少量代码就可以实现WebServices服务的调用和。作为WebServices客户端,对其他WebServices服务进行调用时,相应的主要代码如下:首先构建工厂JaxWsProxyFactoryBean对象,设置要调用的服务类型Operations和服务地址,创建相应的客户端对象client,构建相应的参数,调用相应的服务方法。作为WebServices服务端,对外提供WebServices服务供其他客户端调用时,相应的主要代码如下:首先要实现对应的WebServices接口方法,通过Endpoint.publish,设置的地址和实现的对象即可。

5.CXF拦截器

通过Apache CXF实现WebServices的服务调用和服务非常简单,这些作用客户端应用进行服务调用和实现WebServices服务器很有用,但作为测试来讲,只能看到高层的JAVA对象是不够的,必须能够查看底层的消息并可以对消息进行随意的编辑才能实现测试的目的,这可以通过CXF的拦截器来实现。

CXF的拦截器是CXF功能最主要的扩展点。通过自定义的拦截器,可以改变请求和响应的一些消息处理,其中最基本的原理还是一个动态。当服务被调用时,一个拦截器链表被创建并调用。每一个拦截器都有机会做他们想要处理的消息,包括:读取,转化,处理头部,验证消息,等。拦截器可以用于CXF的客户端和服务端。当一个CXF客户端调用一个CXF服务端的时候,客户端有一个传出(Out)的拦截器链,服务端有一个传入(In)的拦截器链。当服务端发送响应给客户端时,服务端有一个传出(Out)的拦截器链,客户端有一个传入(In)的拦截器链。此外,在调用出错的情况下,一个CXF服务将创建单独的对外输出错误处理链,客户端将创建一个传入(In)的错误处理链。

创建工厂后分别向拦截器链表中添加相应的拦截器,其中MessageInInterceptor和MessageOutInterceptor分别对应客户端的传入拦截器和传出拦截器。服务器后分别向拦截器链表中添加相应的拦截器,其中MessageInInterceptor和MessageOutInterceptor分别对应服务端的传入拦截器和传出拦截器。代码的主要思想是将原始的消息内容XML展示出来,对其进行修改后,将修改后的内容放到消息流中,替换原来的消息内容,在发送消息时发送的就是修改后的消息内容。测试软件的界面如图5所示:

图5 测试软件界面

6.结束语

测试工具的开发平台是Eclipse 3.6.2,采用Eclipse RCP技术开发图形化界面,使用JAVA开发语言。这种针对IEC 61968WebServices标准接口测试方法,可针对不同的应用场景修改相应的测试消息内容,具有很好的通用性,测试效率高。此种测试方法没有考虑IEC 61868 对Payload定义XSD限制的情况,未对Payload的内容进一步的处理,可在此基础上对其进行改进以适应更广泛的测试要求。

参考文献

[1]IEC 61970-301 Energy management system application program interface(EMS-API):Part 301 Common Information Model(CIM)Base[S].2004.

[2]IEC 61970-401 Energy management system application program interface(EMS-API):Part 401 Component interface specification(CIS)f ramework[S].2005.

[3]OMG.CORBA/IIOP2.3 Specification[S].1998.

[4]IEC 61968-1 Application integration at electric utilities-System interfaces for distribution management-Part 1:Interface architecture and general requirements[C].2003.

[5]CXF,http://.

[6]W3C.Extensible Markup Language(XML)1.0(Fifth Edition).2008.

接口测试范文4

>> 基于CPCI总线的串口模块设计 基于航天测试技术的LXI多功能接口板卡设计 一种PCI接口AFDX端系统模块的设计与实现 基于WinDriver的CPCI板卡Windows驱动程序设计 基于VPX总线的SAR接口板卡设计 基于AMBA总线接口的AFDX端系统IP核 基于板卡的电机综合测试系统设计 基于CPCI和光纤接口的数据采集卡设计与实现 基于CPCI系统的高速数字通信接口电路设计与应用 基于CPCI总线的嵌入式计算机通用接口设计 基于FPGA的键盘接口模块设计 基于STM32的轴温报警器通讯模块测试软件设计 基于CPCI总线的智能A/D,D/A模块设计 实时AFDX网络选择模块的实现技术研究 基于SIPG网关E1接口板卡的设计与实现 基于SystemVerilog的多通道ARINC429总线通讯板卡的设计 基于单片机USB通讯接口的硬件设计 基于反射内存的多功能通讯板卡研制 基于统一可扩展固件接口的可信密码模块驱动研究与设计 基于单片机的保护设备板卡测试台设计 常见问题解答 当前所在位置:

关键词:AFDX;热插拔;CPCI接口;PCI9030

DOI: 10.3969/j.issn.1005-5517.2014.1.015

AFDX终端系统模块设计

本文设计的AFDX终端通讯系统包括FPGA控制模块、PCI接口模块、双冗余PHY模块。为了设计高可靠性的AFDX终端系统,设计了2个独立的双冗余交换网络,从而保证系统的可靠性信息传输。系统硬件架构如图1所示。

CPCI接口模块

CPCI接口模块由2个部分组成,第一部分主要实现PCI总线协议功能,实现FPGA与上位机进行数据的通信;第二部分主要实现从CPCI接口采电,并在板上进行电源管理,对整个板卡实现支持热插拔的电源供应。

FPGA控制模块

FPGA控制模块是整个板卡的控制核心,它包含了AFDX协议栈的IP硬核,实现了AFDX协议栈特有的,如流量整形、虚拟链路调度、完整性检查、冗余管理、以太网MAC层硬件实现等功能以及其它如与PCI9056通信、内部数据的缓存管理等功能。支持10/100Mbps标准的航空实时以太网数据的可靠性传输。

以数据下传为例介绍FPGA控制模块的工作流程:首先在PC机上运行上层测试软件,通过它来设置发送通道的相应参数,该信息通过CPCI接口传送至可编程芯片,可编程芯片内的处理器单元根据PC机下传的参数来设置发送通道的相关寄存器参数,同时该消息经过流量整形模块,进行规划化处理,使其输出的数据帧是规整的、没有时延抖动的。来自流量整形模块的数据帧由虚拟调度模块添加序列号(SN)后,发往冗余管理模块。冗余管理模块将需要发送消息复制发送到2个独立的冗余MAC链路层中。 MAC模块对数据帧添加帧序列校验,发往PHY模块。PHY层模块将可编程芯片内的MAC层的数据帧进行电平转换后传送至其他标准航空以太网PHY设备中。

双冗余PHY物理接口

CPCI接口电源电路分析

热插拔功能主要用于CPCI设备,热插拔功能允许板卡随意从设备中插拔而不影响设备操作系统的正常运行。如图2所示,LTC1643L是一个允许CPCI型设备进行安全插入和拔出的电源管理控制器,将系统的CPCI插槽电源接入到AFDX板卡,图中IRF7413是一个N型MOS管,用于控制3.3V和5V的电源供应,而-12V和+12V电源由片上开关供应,所有的电压的上升时间可以达到一个可编程的速率,同时还有电源过流故障时的短路保护。

PCI9030的引脚BD_SEL#是CPCI接口中最小的插针之一,BD_SEL#连接LTC1643L的使能引脚,低电平时有效开启LTC1643L工作并同时给板卡供电。R10是一个0.018欧姆,0.5W,精度为1%的精密电阻,用于过流保护的电压检测电阻。当板卡发生故障导致电流超过额定值之后,R10两端的压差将增大,SENSE引脚将此过流信息反馈至LTC1643L电源管理器,同时切断电源供应,起到电源过流保护的功能。

FPGA与PCI9030接口模块时序分析

在PCI9030与本地FPGA之间的通信分为直接主模式(Direct Master Mode)、直接从模式(Direct Slave Mode)和DMA模式。由于PCI通信要AFDX网络的10M/100M通讯速率,这里采用直接从模式,工作时序如图3所示,PCI9030为主,FPGA为从。LHOLD为输出,声明使用本地地址数据总线,LHOLDA为本地总线申请使用成功的返回信号。LBE[3:0]#为本地总线使能控制引脚,这里选择32位宽的数据总线。LA[31:2]为地址总线,在本地总线申请使用成功信号返回且本地总线位宽使能有效后,开始输出地址信号。ADS#为起始信号,表明地址总线有效且开始一个有效的总线访问,同时一个周期后就可以读数据或者写数据了,LW/R#低电平为读高电平为写。为了与PCI9030进行高效的数据通信,FPGA里面必须有相应的本地数据通信接口。

WinDriver软件的驱动生产

通过PLXMON软件对PCI9056的配置芯片进行配置后,可以利用Windows操作系统中WinDriver自动生成PCI驱动程序,步骤如下:首先启动WinDriver Wizard,从开始菜单,选择“程序 | WinDriver | Driver Wizard”;然后在Driver Wizard 菜单,单击“File | New Project”菜单来新建一个工程,从即插即用列表中选择显示卡,通过生产商的名字来选定。单击“Memory”标签。该显示卡的三个内存范围显示出来。内存范围中的BAR2映射的是FPGA内的RAM缓存块和专用寄存器,根据FPGA内核对这些缓存块和寄存器的可读写定义,可以在BAR2映射的区域里进行读写,若写进去的数值跟读出来的数值一致,表面CPCI接口通信正常。最后一步为生成驱动代码:单击“Build | Generate code”菜单, Driver Wizard 将产生操作硬件资源的函数,可以在用户模式下在应用程序中直接使用这些函数,这个向导还会产生一个样本程序来使用这些函数操作硬件,上层界面的开发可以直接调用这些API函数。

总结

本论文中设计的带有CPCI接口的AFDX终端板卡通讯模块的设计,充分利用PCI总线传输速度快和CPCI接口支持热插拔的特点,使得设计能满足双冗余AFDX的高速数据传输,使用方便和设备体积相对较小,便于携带,该板卡已经实现AFDX通信协议并批量生产销售。此论文的研究为AFDX网络交换机的研发打下了良好的基础。

参考文献:

[1] Charara H, Scharbarg J L, Ermont J, etal. Methods for Bounding End-to-end Delays on an AFDX Networks [C]// Proceedings of the 18th Euromicro Conference on Realtime Systems. [S. l.]: IEEE Press, 2006.

[2] LTC1643L datasheet,PCI-Bus Hot Swap Controller,LINEAR TECHNOLOGY.

[3] PCI 9030 Data Book, PLX TECHNOLOGY.

接口测试范文5

【关键词】多系统合路平台(POI) 性能指标 测试方法

1 概述

多系统合路平台(POI,Point Of Interface)是近年来各通信设备厂家研发制作的一个大型合路平台。使用POI产品,可以实现同频段、同系统的多运营商信号共路双向或单向传输,避免了室内分布系统建设的重复投资,是一种实现多网络信号兼容覆盖的有效手段。

随着第三代移动通信的广泛应用,无线数据得到迅速发展,而室内的数据业务也大幅增加,如何将现有的GSM、CDMA、WLAN等无线通信系统与3G通信系统的室内覆盖有机结合,避免重复投资建设,成为各大运营商和设备集成商所关注的焦点,POI即为上述室内覆盖建设提供了一个可行的解决方案。

2 POI工作原理及测试需求分析

POI可引入包括GSM900、CDMA800、DCS1800、WCDMA、

TD—SCDMA、CDMA2000、WLAN等多个系统多种频段信号。为了避免干扰,POI采用上、下行两个平台,分别将上行和下行链路信号分开传输。作为连接信源和分布系统的桥梁,POI的主要作用是在于对上述系统的下行信号进行合路,同时对各系统的上行信号进行分路,并尽可能地抑制掉各频带间的无用干扰成分。

目前,POI已经应用在一些需要多网络系统接入的大型建筑、市政设施内,如大型展馆、地铁、火车站、机场以及政府办公机关等场所。而为了保证其工作质量,避免多系统、多频段的相互干扰,做到尽可能低损耗,测试其性能指标就显得尤为重要。本次测试主要使用的POI工作原理如图1所示:

由于POI同合路器工作原理类似,主要性能指标有插入损耗、带外抑制、电压驻波比、隔离度、三阶互调及功率容量。其中,插入损耗是测试信号传输过程中的损耗情况;带外抑制是测试系统其他频段信号对系统的干扰情况;电压驻波比是测试系统的回波损耗情况;三阶互调是测试三阶信号对系统的影响;功率容量是测试器件的大功率信号冲击的承受能力。POI设备不同于合路器的是有多个系统及多个频段,测试其系统间和系统内隔离度则可以得出多系统多频段相互间的干扰值是否符合要求。

3 POI测试方法探究

测试采用了某厂家的POI(见图1),该POI拥有电信CDMA800、移动/联通GSM900、移动/联通DCS1800、移动TD(D)/TD(FA)、联通WCDMA、电信CDMA2000等9个输入端口以及两个天线输出端口。针对该POI的技术指标及工作需求,对上、下行合路平台进行了性能指标的测试,而POI的设计原理与合路器类似,因此参考合路器的测试方法,得出了对POI相应的测试方案。

在测试中,同频段的信号对测试结果有一定影响。选用一组同频段端口进行测试,未进行测试的端口均加上匹配负载;以移动GSM900(简称端口1)及联通GSM900端口(简称端口2)为例,其余端口测试方法相同,具体测试方法如下:

(1)插入损耗及带内波动

1)如图2所示,POI端口1连接网络分析仪输出端口,ANT1端口连接网络分析仪输入端口,端口2及ANT2端口接匹配负载。

2)设置网络分析仪测试频率范围为POI工作频段及输出功率为POI功率范围内,并进入衰减测试界面。

3)开始测试,从仪表读取频段内最大衰减值及最小衰减值,最大值即为插入损耗,最大值与最小值的绝对值差值即为带内波动。

4)更换其他输入输出端口重复上述操作。

(2)带外抑制测试

1)按测试插入损耗的步骤连接测试系统及设置频段,进入衰减测试界面。

2)读取该通路频段以外的其他通路所有工作频段的最大衰减值(即最差值),其绝对值即为测试端口对其他端口工作频段的带外抑制。

3)更换其他输入输出端口重复上述操作。

(3)电压驻波比测试

1)POI端口1连接网络分析仪输出端口,POI端口2、ANT端口接匹配负载。

2)设置网络分析仪测试频率范围为POI工作频段及输出功率为 POI功率范围内,并进入驻波比(SWR)测试界面。

3)开始测试,从仪表读取频带内最大驻波比值(即最差值)。

4)更换其他所有端口重复上述操作。

(4)端口隔离度测试

1)如图3所示,POI端口1连接网络分析仪输出端口,POI端口2连接网络分析仪输入端口,其余端口接匹配阻抗。

2)设置网络分析仪测试频率范围为POI工作频段及输出功率为POI功率范围内,并进入衰减测试界面。

3)开始测试,从仪表读取频带内最小衰减值(即端口隔离度)。

4)更换其他输入输出端口重复上述操作。

(5)三阶互调测试

1)如图4所示连接测试系统,POI端口1接互调分析仪REV端口,ANT端口接低互调负载,其余输入端口空载或接低互调负载。

2)按照被测端口频段范围设置互调测试仪载波频率和无源互调阶数,互调阶数为3阶;设置互调测试仪输出功率,两载波均为43dBm,测试模式为反向(Rerverse)模式,扫描方式为扫频方式。

3)开始测试,读取仪表所显示的电平值,取最大电平值即为该次测试3阶互调值。

4)更换输入输出端口重复上述操作。

(6)功率容量测试

1)按图5所示连接设备,功放具有驻波比告警功能(

2)设置信号发生器的信号类型和频率,并根据功放增益及环境插损调整信号源输出功率,使得进入待测件入口的有用信号载波均值功率达到指标要求,并且此处信号的互调及调制频谱性能满足—65dBc的要求。

3)将1#频谱仪设置为maxhold模式,加电加信号,连续测试30分钟。

4)功率容量测试完成后,对待测件的关键电性能指标(如插损、驻波等)进行测试,需满足技术规范中的要求。

4 测试结果分析

通过对两套POI的测试,得出主要指标的测试结果如表1所示。

由表1可以看出,测试结果不符合指标要求的项目主要集中在三阶互调及功率容量后测试的插入损耗和驻波比,部分系统间隔离度处于临界的指标值。其中,三阶互调的不合格说明POI在处理上行信号时,三阶信号的影响较大,存在一定的互调干扰,对通话的质量会有影响;而功率容量后测试出现插入损耗及电压驻波比的不合格项,则POI对连续的大功率信号的冲击承受能力不足,使部分端口出现了性能指标的下降,甚至出现器件烧毁现象,无法保证发射及接收电平质量;隔离度处于临界的状况,可能会对不同频段间的信号产生一定的干扰,从而出现信号中断或是信号互串的情况。通过测试,试验POI的性能基本符合要求,但存在部分指标超差的状况,不能够保证通话的质量。

近来POI已经开始有了更加广泛的应用,做好POI的测试工作,也有利于运营商对设备的采购选择,使室内分布的信号达到更好。由于目前POI端口、频段较多,测试POI用时偏长,并且没有较为规范的标准要求,因此测试结果也不是特别准确,相信随着POI技术的日趋成熟以及相应技术标准的出台,能够更进一步地提高测试效率,给出更准确的测试结果。

参考文献:

接口测试范文6

【关键词】TTCN-3 LTE 终端一致性测试

中图分类号:TN929.5 文献标识码:B 文章编号:1006-1010(2013)-24-0056-07

1 引言

LTE作为新一代移动通信的主流技术,在全球得到了快速发展并展开商用。终端一致性测试的主要目标是能够通过完成一致性相关要求测试内容,进行国际化终端一致性认证,以保证不同厂家的终端在网络内的表现一致,并能够与不同厂家的系统设备、终端互联互通,是运营商、手机厂家等非常关注的一项测试。

LTE终端一致性测试需求由GCF(Global Certification Forum,全球认证论坛)提出,3GPP RAN5制定了一系列文本级测试规范,ETSI(European Telecommunication Standards Institute,欧洲电信标准化协会)与TDIA(Telecommunication Development Industry Alliance,TD产业联盟)合作开发基于TTCN-3语言的LTE协议一致性测试代码集,其中ETSI主要负责LTE FDD的开发,TDIA主要负责TD-LTE的开发。仪表厂家需要依据该统一的测试集进行终端一致性测试平台开发。基于TTCN-3的LTE终端一致性测试集验证通过后提交GCF和3GPP进行,作为标准测试集供第三方认证实验室对入网LTE终端进行测试认证。

2 TTCN-3语言与LTE终端一致性测试框架

TTCN-3语言由ETSI开发和维护,是一种专门为终端一致性测试和认证设计的标准化测试技术,其测试架构提供了控制测试执行的标准接口TRI和TCI,以方便测试平台的开发。TTCN-3是目前测试领域应用最广泛的测试例开发语言。一般来说,一个TTCN-3的测试系统由ATS(Abstract Test Suite,抽象测试套)、TTCN-3集成开发环境、适配层模块等部分组成。

TS 36.523-3给出了LTE一致性测试的框架示意图(见图1)。Host-PC承载TTCN-3代码,通过编译器翻译成C/Java代码,与适配层代码共同编译生成ETS(Executable Test Suite,可执行测试套)。硬件平台SS(System Simulator,系统模拟器)由Host-PC控制,与被测终端通过空中接口相连,负责模拟网络侧的PDCP/RLC/MAC层和射频部分等。由于协议一致性测试的特殊性,网络侧的RRC及以上层由TTCN-3实现。对于PDCP/RLC/MAC层的测试,系统模拟器要开放当前层的协议栈端口进行特殊配置:本层以下协议栈标准配置,本层DL和/或UL方向设置为透传模式,不进行头部的添加和/或头部的移除,由TTCN-3实现本层及其上层PDU编码和/或解码、相关参数的维护。适配层模块起到承上启下的作用,对上适配TTCN-3测试套,对下适配SS接口控制小区参数的配置和数据的收发。

3 TTCN-3在LTE终端一致性测试中的应用

3.1 TTCN-3测试集的主要构成

TTCN-3核心语言基于高级语言表达方式,与C语言有很多相似之处,由于要模拟通信过程进行黑盒测试,TTCN-3语言除了有很多常见的类型(如整型、布尔型、串类型、数组等),还有一些特殊的类型(如record、set、union、verdicttype、port、component、timer等)和操作语句。不同测试套中所使用的TTCN-3的类型和操作需要根据SUT(System Under Test,被测系统)的特点进行设计。TTCN-3测试集是检验LTE终端一致性的唯一标准,该测试集被3GPP在TS 36.523-3协议中。

图2简单显示了测试集的主要构成。testcase首先初始化MTC(Main Test Component,主测试组件)和System Interface,再由MTC建立EUTRA PTC(Parallel Test Component,并行测试组件),PTC还可以再建立NAS_EMU PTC(NAS模拟器PTC),在端口连接映射之后,测试组件之间即可相互通信。使用function对测试流程进行描述,主要包括三部分:被测系统状态准备Preamble、测试体Test body、被测系统恢复初始状态Postamble。

测试系统的重要功能是模拟通信收发,组件间的通信模拟了测试系统内部的计算和消息交互,组件通过系统接口与SUT完成最终通信。专门用于通信的特殊结构template,表示传送一类赋值参数的集合或者是为接收内容做接收匹配的样板。SUT的反应即测试系统接收情况通常是测试点,使用altstep来对接收过程可能发生的不同情况进行处理。TTCN-3提供ASN.1模块的调用,便于LTE L3消息的配置和收发。定时器(timer)在通信协议中至关重要,TTCN-3提供了定时器的启动、停止和超时等操作。此外,由于PDU在TTCN-3中以类型方式存在,如果测试过程中需要使用特定的PDU码流,就要进行编解码的操作。对于不同的SUT的PDU编解码,TTCN-3不可能一一遍历,因此通过利用函数encvalue/decvalue调用适配层的编解码函数的方法,获得函数的返回值。同时,TTCN-3也提供外部函数external、function来调用适配层中实现对应功能的函数。不同的SUT对于编解码和外部函数的需求不同,其在适配层中的具体实现不在本文的描述范围内,可参考TTCN-3的TCI和TRI标准以及所使用的TTCN-3集成开发环境的参考文档。最后,测试例运行需要给出一个判决结果,图2只给出了最终的判决示意,在测试例编写中,每个测试点都要进行测试结果的判决,并做好异常保护。

下面将围绕上述TTCN-3核心语言的主要构成部分,结合LTE终端一致性测试的设计思想进行TTCN-3代码集(简称测试集或者测试套)的介绍。

3.2 测试代码的流程与接口设计

TTCN-3 LTE测试例的顶层单元是module,所有的TTCN-3代码都要包含在module中,测试套中所有的.ttcn文件仅包含一个同名的module。module由定义部分和控制部分两个可选部分组成。模块的定义部分可以定义component、port、type、const、template、function、altstep、cestcase等,对于动态语言元素(如var或timer)的声明应该仅在控制部分、测试例、函数、可选步或组件中进行。一个模块如果需要使用其他模块中的定义,可在其定义部分使用import语句来引入所需模块。模块的控制部分可以通过control、execute语句控制调用测试例执行。一般来说,带有control/execute控制测试例选择的module是整个测试套的入口,可以由仪表厂家根据测试需要和上层界面设计自己编写。

TTCN-3可以与ASN.1(Abstract Syntax Notation One,抽象语法标记1)结合使用,ASN.1与TTCN-3的类型之间有对应关系,如SEQUENCE-record、SEQUENCE OF-record of、CHOICE-union、SET-set等。当ASN.1转化到TTCN-3时,连字符“-”变为下划线“_”;若ASN.1模块的定义字段使用了TTCN-3的关键字,则TTCN-3使用时在字段后面加上“_”。LTE一致性测试套中所有的EUTRA RRC message和RRC information elements都使用ASN.1描述于文件EUTRA_RRC_ASN1_Definitions.asn中,TTCN-3的模块可以通过关键字import和language引用该ASN.1模块对变量、类型、template进行定义。LTE使用了ASN.1的PER(Packed Encoding Rules,分组编码规则)编码对RRC消息进行编解码。

声明变量vc_EUTRA_Global(包含有EUTRA小区列表配置、security的配置和其他一些测试参数),定义系统配置端口SYS、系统响应端口SYSIND、信令无线承载端口SRB、数据无线承载端口DRB、NAS层控制端口NASCTRL、上层测试端口UT、与其他RAT间的端口UTRAN/GERAN/CDMA2000等。

System Interface是TTCN-3与SUT数据收发的最终通信端口。由于要与EUTRA、UTRAN、NAS-Emulation等PTC端口进行连接或者映射,测试系统接口的定义形式和component相同,可以使用关键字system引用测试系统接口定义进行测试例关联。对于关联测试例的系统接口,当测试例启动时,测试系统接口与MTC一起由系统初始化。

testcase是一种特殊的函数,使用execute语句来启动运行测试例,隐式的创建MTC并实例化MTC端口和测试系统接口,测试结果为verdicttype类型值。测试例头部须明确该测试运行的MTC,可以用system标出该测试例需要引用的系统端口。如图3所示,以测试例8.1.1.1的定义为例,测试例运行在主测试组件MTC_LTE上,测试系统接口为SYSTEM_LTE,由于是LTE单模测试例,仅create了并行测试组件EUTRA_PTC的实例,函数f_MTC_ConnectPTCs_LTE中建立NASEMU_PTC/IP_PTC等并行测试组件且开启各自的数据处理循环功能,并对端口进行了connect或map,开始EUTRA_PTC实例上的测试行为f_TC_8_1_1_1_EUTRA(),启动总定时器t_GuardTimer,开启MTC主循环。

组件中最重要的定义就是port端口,它用于component之间和component与测试系统接口之间的通信,通过关键字message定义端口上的ASP(Abstract Service Primitive,抽象服务原语),out用于发送,in用于接收,inout表示双向混合。对于E-UTRAN component上定义端口的ASP在TS36.523-3中规定,例如SYS端口定义SYSTEM_CTRL_REQ和SYSTEM_CTRL_CNF分别是该端口发送、接收的消息类型。port可以使用操作connect和map进行连接或映射,为MTC-PTC、MTC-System Interface、PTC-PTC、PTC-System Interface相关端口间的收发消息做准备,测试集中使用函数f_MTC_ConnectPTCs_LTE来完成端口的连接操作,连接映射如图4所示。

其中,最大边框表示系统接口SYSTEM_LTE,其他可能存在的component也在图4中画出,虚线的操作是否存在依赖于测试例、是否为多模测试或者LTE小区是否配置相关功能。如果两个端口被连接起来,例如SRB和TC_SRB,SRB.send的数据由TC_SRB.receive、SRB.receive的数据是TC_SRB.send过来的;如果两个端口进行了映射,例如SYS_SRB和E_SRB,SYS_SRB口上的收发就相当于E_SRB上数据的收发。

template模板为通信端口上发送send和接收receive操作传递的唯一结构,是一种特殊的数据结构,可用作参数传递。它为发送内容提供特定值的集合,为判定接收数据是否匹配提供模板依据。例如配置SS对UE的随机接入响应时,SYS端口send一个类型为SYSTEM_CTRL_REQ、对所有元素都已赋值的模板,其中对msg2、msg4等RACH参数赋特定值,其他配置不变的可选参数赋值为omit;如果需要确认SS反馈配置是否完成,那么接收端等待接收类型为SYSTEM_CTRL_CNF、cell配置完成的confirm模板。若receive收到的与接收模板匹配,则测试例继续;否则进入异常处理。

function用来描述测试流程,函数的定义或外部调用函数的声明(external)都要放在module中,可以return一个返回值。测试的步骤可以按序写在一个函数里,并且可以规定该函数运行在某个component上从而引用该component的定义。对于一些计算规则明确但计算过程繁琐、测试例中仅仅需要一个简单的返回值的函数,TTCN-3采用外部调用函数来处理。TTCN-3仅为外部函数提供函数接口,不允许包含端口、定时器和默认处理操作,不允许返回template。对于LTE中加密和完整性保护算法的计算,测试套采用了外部函数的处理方法,例如外部函数fx_NasIntegrityAlgorithm计算完整性保护消息MAC(Message Authentication Code,消息鉴权码),输入参数包括需要安全保护的消息p_EncodedNasPdu、完保算法p_IntegrityAlgorithm、K值p_KNASint、p_NasCount、p_BearerId、p_Direction,当该函数被调用时,将使用测试系统适配层中相应函数,进行完整性保护算法计算后再把MAC值作为输出参数返回给TTCN-3。

可选步altstep或alt语句针对可能发生的几个事件提供了一种处理的方法,常与数据接收、测试点判决、定时器等操作结合使用。其中,altstep和函数类似,也可以运行在一个component上来引用该component的定义,并且能够用activate和deactivate来激活或者取消激活可选步。altstep/alt语句利用在符号[]中不填或填入布尔表达式来控制当前可选对象被列入考察的条件,并且结合repeat语句进行循环接收以实现对较复杂情况的描述。例如用于层2测试的alt语句,如果收到满足模板要求的SRB或DRB数据之一就继续接收,直到SRB和DRB的数据都收到就成功跳出alt语句,或者发生t_Wait超时进入异常处理。

定时器在通信协议中必不可少,用来考察一个事件的到达,它的状态直接影响到接下来发生的行为。已声明的定时器可以赋一个持续时间值(非负浮点数),以秒为单位。TTCN-3 timer提供了start、stop、timeout等操作,以配合一定时间内对事件发生后进行正常或者异常处理。

测试例根据执行情况给出判决结果,其类型verdicttype取值包括:通过(pass)、失败(fail)、不确定的(inconc)、空(none)和错误(error)。测试结果判定的设计要充分考虑到测试过程中出现的各种可能性,做到完善的错误保护。一般来说,pass为测试流程正确结束;fail为测试例主体中接收过程有误;inconc为非测试主体的接收过程有误;error不是测试例编写过程中设置的,而是测试例运行时由测试系统设置,用来指出TTCN-3编译器或者是适配层等发生了一个错误。在测试例的调试过程中,需要调测人员对3GPP各层协议和测试协议比较了解,对TTCN-3语言和LTE测试集非常熟悉,掌握系统模拟器以及终端的配置和使用,并且对适配层有一定的认知,才能很快地定位出错的原因。

4 结束语

本文结合TTCN-3核心语言和终端一致性测试框架,简要介绍了LTE终端一致性测试集代码的流程和接口设计。本测试集作为GCF规定的终端进行一致性测试认证时必须使用的标准测试例代码,是测试仪表唯一的运行脚本和调试参考,是对核心协议的理解与实现,代码要求具有很高的正确性和完备性。目前TD-LTE和FDD LTE测试代码达到同步开发,2013年度STF160小组开发重点主要是:统一Rel-10版本之后所有测试例的测试模型,包含多个并行的测试模块、可处理不同的3GPP数据结构(ASN.1/CSN.1/XSD);新开发测试例包括语音呼叫(VoLTE、紧急呼叫)及呼叫连续性测试、LTE-A(载波聚合测试)、E-UTRA/UTRA更新和完善(MDT、ANR、UE positioning、NIMTC、3C/4C HSDPA)。

参考文献:

[1] ETSI ES 201 873-1 V4.4.1. Methods for Testing and Specification(MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language[S]. 2012.

[2] ETSI ES 201 873-1 V2.2.1. 测试描述方法(MTS);测试和测试控制表示法第三版;第一部分:TTCN-3核心语言[S]. 2003.

[3] 3GPP TS 36.523-3 V11.1.0. Evolved Universal Terrestrial Radio Access(E-UTRA) and Evolved Packet Core(EPC); User Equipment(UE) Conformance Specification; Part 3: Test Suites[S]. 2013.

上一篇渗透测试

下一篇回归测试