您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 基于白盒测试的Parlay_API接口测试方法设计
基于白盒测试的ParlayAPI接口测试方法设计下一代网络(NGN)是可以提供语音、数据和多媒体等各种业务的综合开放的网络架构,可以支持快速业务部署以及第三方业务控制。NGN开放式业务提供的是一个分布式系统,为了实现第三方业务开发,业务结构应采用开放式接口控制技术,正在研究和开发的技术包括移动代理技术、主动网络技术和应用编程接口(API)技术。目前现实可行的是API技术。许多组织提出了开放业务平台的API,Parlay是其中最活跃、最有影响力的一个。在Parlay组织成立后不久,3GPP和ETSI启动了3G系统UMTS的开放式业务架构的研究,称之为OSA。两者非常类似,最初的OSA标准就是由Parlay1.2和2.1加上少量的3GPP新增功能组成的。其后,两个组织决定从Parlay3.0和OSAR5开始统一发布接口标准,命名为Parlay/OSA,这奠定了固定和移动NGN业务层融合的技术基础。两者的差别在于,Parlay是单纯的接口标准,而OSA是一种业务结构,不仅包括业务接口,还包括体系结构以及Parlay至移动网络协议,如MAP、CAP等的映射。一、PariayAPl对业务的支持ParlayAPI是一种基于分布式技术的、开放的、面向对象的下一代业务开发技术,它通过协议映射技术把底层网络的通信细节抽象成标准的API形式供业务开发者开发业务逻辑程序。它带来的好处是降低了业务开发的技术门槛,能使业务开发者更快捷地满足用户的个性化需要,提供丰富多彩的业务,为下一代网络的应用和发展提供最有效的驱动力。ParlayAPl是一个标准的接口,从而能够使第三方通过此接口利用运营商的基础网络提供丰富多彩的业务,例如统一消息业务、基于位置的业务、呼叫中心业务等,这些业务的业务逻辑都位于应用服务器上。通过Parlay提供的第三方业务主要分为以下几类:·通信类业务,如点击拨号、VoIP、点击传真、可视通话、会议电话,以及与位置相关的紧急呼叫业务等;·消息类业务,如统一消息、短消息、语音信箱、E-mail、多媒体消息、聊天等;·信息类业务,如新闻、体育、旅游、金融、天气、黄页、票务等各种信息的查询、订制、通知,以及基于位置的人员跟踪、找朋友等;·娱乐类业务,如游戏、博彩、谜语、教育、广告等。各类业务可以相对独立,也可以有机地结合,例如可以在查询信息时根据相应的信息进行支付类业务,而且各种娱乐可以通过不同的消息方式来表现(短消息、E-mail),将娱乐与消息业务相结合。框架服务器接口和业务能力接口是ParlayAPI定义的两类主要接口。业务逻辑程序通过Parlay网关中框架服务器接口的鉴权后,被授权接入规定的业务,然后使用框架服务器接口提供的业务能力发现和业务能力选择功能,通过签订在线业务能力使用协议,获得在框架服务器中注册的、满足业务需求的业务能力管理类接口引用。业务逻辑通过获得业务能力管理类接口引用就可以和其对应的业务能力接口进行通信,实现特定业务逻辑的呼叫控制、用户交互及计赞等功能。Parlay标准定义的是控制底层网络资源的API,并非网络协议。两者的差别在于:协议面向具体的网络,由严格定义的一组消息和通信规则组成;API面向软件编程者,由一组抽象的操作或过程组成。在不同的网络中完成同样的功能所用的协议可能完全不同,但是所用的API则完全相同。这样,原来对通信网技术知之甚少的软件人员也可以利用Parlay接口自如地开发应用业务程序。二、开放式业务接口ParlayAPI的测试业务支撑环境是业务实现的重要环节,下一代网络的业务支撑环境主要包括应用服务器、业务服务器和业务生成环境,它们互相配合,共同完成向用户提供多样灵活的基于下一代网络的增值业务的任务。其中应用服务器是支撑环境的主体,它通过开放的协议或者API与软交换设备之间的交互来间接地利用底层网络资源,从而实现了业务与呼叫控制的分离,有利于新业务的引入。应用服务器可分为SIP应用服务器和Parlay应用服务器两类,前者与软交换之间采用SIP协议进行交互,后者将采用ParlayAPI作为与软交换之间的接口。通过协议开发业务的主要特点是:开发的业务与特定的网络和协议有关,即应用与具体的协议和网络相联系,这样开发的业务互通性不好,同时业务也不可移植。而采用基于开放API开发方法的主要特点是:互通性好,具有可编程性,可扩展性好,支持第三方业务开发。Parlay应用服务器的框架如图1所示。图1Parlay应用服务器的框架ParlayAPI主要由两部分组成:①业务接口(serviceInterface):这类应用编程接口可以访问Parlay服务器所提供的一系列基本业务能力,比如建立或释放路由、与用户交互、发送用户消息及设定QoS级别等。业务供应商可以按照不同的业务逻辑调用它们以实现不同的业务。②框架接口(Frame-workInterface):它们对客户端使用业务接口提供必需的安全、管理支持。框架服务器保证了底层通信网的安全开放和Parlay服务器的有序运行。业务逻辑程序通过Parlay网关中的框架服务器接口鉴权后,被授权接入规定的业务,然后使用框架服务器接口提供的业务能力发现和业务能力选择功能,通过签订在线业务能力使用协议,获得在框架服务器中注册的、满足业务需求的业务能力管理类接口调用。业务逻辑通过获得业务能力管理类接口调用就可以和其对应的业务能力接口进行通信,实现特定业务逻辑的呼叫控制、用户交互及计费等功能。ParlayAPI实际上定义了一套能使外部网络访问通信网络各种资源的标准接口,并屏蔽了底层网络以及复杂的信令交互,使得业务开发人员无需掌握太多的通信背景知识,即可编写出丰富多彩的业务应用。所以,Parlay应用服务器除了要为Parlay业务提供一个安全可靠、高性能、开放的运行环境外,还要充当业务与下层网络之间的中间者,实现对与下层网络通信的CORBA对象的本地化封装,向运行其中的业务提供本地APl接口,为业务开发者屏蔽复杂的CORBA接口,因此,对ParlayAPI接口进行测试,以保证与下层网络的互通和业务的正常运行是必须的。CORBA作为ParlayAPI的一种常用的底层通信环境,实现了功能实体的位置透明性和执行状态的透明性,使Parlay业务具有良好的分布特性。而CORBA复杂的调用接口参数配置也给对接口的测试带来了很大的难度。对于应用服务器所封装的ParlayAPI接口进行测试,可以有多种测试方法,业务也是复杂多样,如果想完全模拟全部的业务是不可能的,因此需要设计一套基于自盒测试的模拟测试环境,仿真整个网络的业务生成环境,这样不但可以节省购置大量硬件设备的资金,也可以对业务的触发进行软件控制。白盒测试又称为结构测试或逻辑驱动测试,主要是列程序模块进行如下检查:·对逻辑模块的所有独立的执行路径至少测试一遍;·对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一遍;·在循环的边界和运行的界限内执行循环体;·测试内部数据结构的有效性。应用白盒测试的思想,通过测试用例设计和脚本的编写,即可实现对ParlayAPI接口调用的业务逻辑进行更准确的测试。三、PariayAPl测试方案的设计测试方案可以细化为被测系统、被测实体和服务SP三个部分,其中,被测系统为Parlay应用服务器;被测实体是Parlay应用服务器的Parlay接口功能;为测试系统和被测系统提供互联功能的服务SP可以是ParlayAPI所采用的CORBA环境。首先,可以把ParlayAPI接口分为业务侧和网关侧,其中网关侧API实现了对下层网络能力的封装,向上层应用提供统一的调用接口。而业务侧API则用来为网关侧提供回调的接口,网关侧通过此接口向上层应用上报所有的呼叫事件及业务的操作结果。因此,在整个测试环境中需要两个测试器:位于网关侧的呼叫模拟和位于业务侧的业务模拟。对于两侧的测试器,可以设置两个观察窗口,对两侧API的调用情况分别进行监测。整个测试系统的主要目的就是对应用服务器所封装的ParlayAPI接口进行测试,验证其是否将Parlay网关和业务之间发送的ParlayAPI调用正确地进行了传递,其中包括了函数名、参数是否正确以及在传递过程中是否正确地维持了方法调用的逻辑顺序,特别是在大话务量情况下,这种正确性是否仍然能得到保证。因此,对于网关侧的测试器发出和处理ParlayAPI所依据的规则并不要求必须是基于动态呼叫状态的,所以,没有必要在网关侧实现一个复杂的仿真网络环境。对于ParlayAPI的发送、接收和处理所依据的规则采用静态定义的方法即可,即对所要测试的业务控制功能(SCF),甚至是SCF中定义的某些方法编写测试用例,由测试用例来控制各方法、参数和调用的逻辑顺序。ParlayAPI的呼叫APl分为一般呼叫控制、多方呼叫控制、多媒体呼叫控制和会议呼叫控制接口。1.一般呼叫控制一般呼叫控制服务是整个呼叫模型的子集。呼叫局限于两方且不可控制呼叫线路(CallLeg)。由于一般呼叫控制服务不能处理多媒体连接,所以不可能控制媒体信道。一般呼叫控制由网络侧的两个接口,即IpCallControlManager和IpCall,以及相对应的企业侧的两个接口,即IpAppCallControlManager和IpAppCall构成。IpCallControlManager提供管理呼叫的方法。该接口的CreateCall()方法可建立新的呼叫对象(即实现IpCall接口的对象)。它也提供请求向客户应用通知呼叫事件的方法。例如,客户应用能够调用IpCallControlManager接口请求将送到指定电话号码或一定范围电话号码的呼叫事件通知给客户应用,如果由于某种错误呼叫通知不可进行,则不允许客户应用请求呼叫通知。一旦调用了呼叫通知请求,就可以通过接口更改或删除。接口也提供在一系列呼叫上实施的负载控制方法和取消先前设嚣的负载限制的方法。IpCall接口提供将呼叫路由到目的方或监视呼叫状态的方法。例如,客户应用能调用接口的方法,请求当呼叫结束时,设置与呼叫相关的信息(例如计费)。使用lpCall接口,客户应用也能请求监视呼叫,即经过指定时长后,将呼叫的状态报告送到客户应用且将呼叫的控制交给应用。这在预付费应用中很有用,以防止当预付费账户为零时,呼叫仍然继续。IpCall接口也提供设置呼叫计费的操作,IpCall提供的另两个接口是请求用户提供更多的双音多频(DTMF)输入和计费建议操作,它通知用户有关呼叫计费的信息(即消息被发送到它的终端,如果终端有能力显示这一信息)。IpAppCalIControlManager是IpCallContrdManager企业侧的对应接口。这个接口提供当呼叫事件(通过IpCallControlManager接口请求)到达时被调用的方法。也提供用以接受底层网络呼叫通知状态(能或不能)信息和当网络遇到呼叫过载时Parlay网关发送的通知信息的方法。接口也提供指示网络中呼叫终止的方法,当网络检测到呼叫(应用感兴趣的)终止后,由Parlay网关调用。IpAppCall是IpCall接口企业侧对应的接口。该接口提供用以处理呼叫请求的响应和状态报告的方法。例如,IpAppCall接口被通知有关路由请求的状态:路由成功和被叫应答,或被叫忙等。IpAppCall接口接受所有通过IpCall设置的请求的状态报告。2.多方呼叫控制在多方呼叫控制服务中,有六个重要的接口:IpMultiPartyCallControlManager、IpAppMultiPartyCallCaontrolManager、IpMultiPartyCall、IpAppMultiPartyCall、IpCallLeg和IpAppCallLeg。接口IpMultiPartyCallControlManager、lpAppMultiPartyCallControlManager和IpAppMultiPartyCall从一般呼叫控制继承了所有方法目没有引入新的方法,IpMultiPartyCall接口是IpCall的扩展。它包含显式接入呼叫Leg的
本文标题:基于白盒测试的Parlay_API接口测试方法设计
链接地址:https://www.777doc.com/doc-2576011 .html