一种分布式测试组件框架系统及测试组件透传方法技术方案

技术编号:2859134 阅读:248 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种分布式测试组件框架系统及测试组件透传方法,所述系统包括DTCF软总线以及注册到DTCF软总线上的DTCF节点。所述方法应用于所述分布式测试组件框架系统,包括如下步骤:第一DTCF节点发送服务请求至DTCF软总线;DTCF软总线发送所述服务请求至第二DTCF节点;第二DTCF节点解析所述服务请求、将服务调用本地化并进行响应,并发送服务响应至DTCF软总线;DTCF软总线将所述服务响应返回至第一DTCF节点。本发明专利技术适用于软件测试领域,能够快速、高效、便捷地实现适应于跨平台运行环境与多语言开发环境中测试组件的共享重用。

【技术实现步骤摘要】

本专利技术涉及电子或通信领域的测试技术,特别是涉及一种分布式测试组件框架系统以及应用于所述系统的测试组件透传方法。
技术介绍
RPC(Remote Procedure Calling远程过程调用)是一种较为通用的技术,在测试领域中常采用RPC技术以实现测试组件的共享重用。目前,较为成熟的RPC有微软公司的COM/DCOM(Component Object Model组件对象模型/Distributed Component Object Model分布式组件对象模型)、OMG(ObjectManagement Group,国际对象管理组织)的CORBA(Common Object RequestBroker Architecture,通用对象请求代理系统结构)以及XML(Extensible MarkupLanguage可扩展标记语言)-RPC。这三种技术均能实现跨进程函数调用及跨机器远程调用。其中,COM/DCOM与CORBA实现RPC的机制比较接近。请参阅图1,是COBRA-RPC过程示意图。本地110欲调用远端120实例即对象,首先本地客户通过命名服务等机制引用远端对象;然后,由本地ORB(Object Request Broker,对象请求代理)检测出所述对象存在于远端120,并依据IIOP(Internet Inter-ORB Protocol,因特网ORB间协议)协议向远端0RB发起调用请求;最后,远端120响应调用请求并按照IIOP协议要求返回调用结果。这样,一次完整远程过程调用完成。当然,本地和远端是相对来讲的,也可以实现远端客户对本地对象的调用。众所周知,COM/DCOM或CORBA调用系统比较庞大,而通信产品的目标机单板受内存、CPU等资源限制,通常不能驻留上述庞大的系统,因此需要根据实际情况自行开发。但是,COM/DCOM或CORBA系统的开发较为繁琐,需要较大的资金和人力资源的投入,因而使得COM/DCOM或CORBA在测试组件共享重用领域的应用受到限制。因此,在实际应用中常采用相对简单的XML-RPC技术方案。请参阅图2,通常,XML-RPC调用请求包括三类数据被调函数名称、调用参数及类型。本地210采用XML脚本语言表述RPC调用语句,借助于HTTP协议将调用请求发送到远端220;远端220接收、解释并执行调用请求;之后,远端220依照发送请求过程的逆过程将调用结果返回至本地210。虽然XML-RPC系统相对于COM/DCOM或CORBA系统较为简单,但是实现RPC时需要借助于HTTP协议及XML脚本语言的支持,因此其应用范围也受到限制。请参阅图3,另一种实现RPC的现有技术是由IBM基金支持的共享源码项目STAF(Software Testing Automation Framework,软件测试自动框架)系统。STAF提供了一套易伸缩、支持跨平台、跨系统的框架系统,可方便地管理自动测试用例与测试环境。STAF系统包括STAF-Daemon进程、服务分发层、对外接口和服务。其中,服务指的是每个可重用的共享件。所述服务又分为内部服务与外部服务。所述内部服务是内嵌于Daemon的内核服务,包括数据管理服务、同步服务等;所述外部服务是由DLL(Dynamic Link Library,动态链接库)接口装入的用C/C++语言扩展的服务,或由代理接口导入的Java服务与Rexx服务。所述STAF系统支持本机调用和跨机调用。STAF端点启动STAF-Daemon进程,STAF系统的STAF-Daemon进程接收来自外部的服务请求,并由服务分发层完成服务的分类与分发。如果被调用的是内部服务,由STAF-Daemon进程直接完成服务调用,返回调用结果;如果是外部服务,则通过DLL接口或代理接口完成服务调用,并返回调用结果,最后调用API(Application Programming Interface,应用编程接口)以释放内存。STAF系统在测试领域中,同COM/DCOM和CORBA比较具有下述优势其一,STAF对外接口与测试中常用到的脚本语言(如Java、C/C++、Rexx、Python、TCL、Perl等)融合得较好,可以直接用脚本实现服务扩展,因而易于将服务接入STAF系统中;其二,STAF易于编程并且支持跨平台,是轻量级的解决方案,适合分布式测试;其三,STAF适用于低配置工作环境,因而可用于通讯领域中低配置的目标机单板。尽管相对于COM/DCOM和CORBA,STAF系统具有诸多优势,但是采用STAF实现RPC仍然不可避免的存在下述缺陷首先,STAF系统仅支持基于线程方式的服务扩展,而不支持基于进程方式的服务扩展。但是在实际应用中,通常纳入共享的测试服务常以复杂的形态出现,常需要跨进程协调,因此导致STAF系统的应用范围受到限制。其次,STAF系统未针对专门语言做封装,使得远程调用构造参数的过程较为繁琐。而且,执行调用操作后,相关内存资源不能被自动释放,需要调用API来释放,导致STAF系统对外提供的扩展接口复杂、使用不便。最后,STAF系统中同在本机的服务调用时延较长、效率较低,经测试得知一次完整的服务请求与服务响应的过程耗时2.4秒。单次调用时延过长、调用效率偏低将导致STAF系统难以用于服务调用比较频繁的场合。
技术实现思路
本专利技术提供,以解决现有技术中STAF系统存在的不支持基于进程方式的服务扩展及测试效率低下的问题。为此,本专利技术解决技术问题的技术方案是提供一种分布式测试组件框架DTCF系统,包括DTCF软总线以及注册到DTCF软总线上的DTCF节点;所述DTCF节点用于编码或解析服务请求和服务响应,将服务调用本地化,并响应服务请求;所述DTCF软总线用于传送DTCF节点之间的服务请求和服务响应。所述DTCF节点包括底层通信层、自动路由机制层、过程透传和实体透传协议层以及编程语言适配接口层;所述自动路由机制层用于通过节点标志实现各DTCF节点之间互相访问;所述过程透传与实体透传的透传协议层用于实现编解码和服务调用;所述编程语言适配接口层用于提供本地化的扩展接口。所述底层通信层具有用于本机DTCF节点之间的共享内存通信方式,和/或用于跨机的DTCF节点之间的跨机通信方式。所述的分布式测试组件框架系统进一步包括注册于DTCF软总线上的网络节点,用于跨机通信时转发服务请求或服务响应。所述过程透传和实体透传协议层配置编解码规则,以及服务请求和服务响应的服务协议。所述自动路由机制层配置自动路由机制,自动发送服务请求以及自动返回服务响应。所述编程语言适配接口层包括Python、TCL、C、VBA或Delphi语言的适配接口。提供一种分布式测试组件透传的方法,应用于分布式测试组件框架系统,包括步骤1)第一DTCF节点发送服务请求至DTCF软总线;2)DTCF软总线发送所述服务请求至第二DTCF节点;3)第二DTCF节点解析所述服务请求、将服务调用本地化并进行响应,并发送服务响应至DTCF软总线;4)DTCF软总线将所述服务响应返回至第一DTCF节点。所述步骤2)中DTCF软总线采用共享内存通信方式发送服务请求;所述步骤4)中DTCF软总线采用共享内存通信方式发送服务响应。本文档来自技高网
...

【技术保护点】
一种分布式测试组件框架DTCF系统,其特征在于:包括DTCF软总线以及注册到DTCF软总线上的DTCF节点;所述DTCF节点用于编码或解析服务请求和服务响应,将服务调用本地化,并响应服务请求;所述DTCF软总线用于传送DTCF节点之间的服务请求和服务响应。

【技术特征摘要】
1.一种分布式测试组件框架DTCF系统,其特征在于包括DTCF软总线以及注册到DTCF软总线上的DTCF节点;所述DTCF节点用于编码或解析服务请求和服务响应,将服务调用本地化,并响应服务请求;所述DTCF软总线用于传送DTCF节点之间的服务请求和服务响应。2.根据权利要求1所述的分布式测试组件框架系统,其特征在于,所述DTCF节点包括底层通信层、自动路由机制层、过程透传和实体透传协议层以及编程语言适配接口层;所述自动路由机制层用于通过节点标志实现各DTCF节点之间互相访问;所述过程透传与实体透传的透传协议层用于实现编解码和服务调用;所述编程语言适配接口层用于提供本地化的扩展接口。3.根据权利要求2所述的分布式测试组件框架系统,其特征在于,所述底层通信层具有用于本机DTCF节点之间的共享内存通信方式,和/或用于跨机的DTCF节点之间的跨机通信方式。4.根据权利要求1所述的分布式测试组件框架系统,其特征在于,所述的分布式测试组件框架系统进一步包括注册于DTCF软总线上的网络节点,用于跨机通信时转发服务请求或服务响应。5.根据权利要求2所述的分布式测试组件框架系统,其特征在于,所述过程透传和实体透传协议层配置编解码规则,以及服务请求和服务响应的服务协议。6.根据权利要求2所述的分布式测试组件框架系统,其特征在于,所述自动路由机制层配置自动路由机制,自动发送服务请求以及自动返回服务响应。7.根据权利要求2所述的分布式测试组件框架系统,其特征在于,所述编程语言适配接口层包括Python、TCL、C、VBA或Delphi语言的适配接口。8.一种分布式测试组件透传的方法,应用于分布式测试组件框架系统,其特征在于,包括步骤1)第一DTCF节点发送服务请求至DTCF软总线;2)DTCF软总线发送所述服务请求至第二DTCF节点;3)第二DTCF节点解析所述服务请求、将服务调用本地化并进行响应,并发送服务响应至DTCF软总线;4)DTCF软总线将所述服务响应返回至第一DTCF节点。9.根据权利要求...

【专利技术属性】
技术研发人员:程强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1