(计算机软件与理论专业论文)分布式ttcn3测试系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)分布式ttcn3测试系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)分布式ttcn3测试系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)分布式ttcn3测试系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)分布式ttcn3测试系统的研究与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。卜国科学技术大学硕士学位论史 摘要 t t c n - 3 足被e t s l 和i t u t 标准化的新一代协议和软件测试描述表示法,有 着广泛的心用l 谛景。从实际应,l j 的知度 | 发将标准转化为个现实可用的系统 是一项系统的t 作,是需要经过细致缜密的设汁米保证l i :砌岛敛h 时需要考虑实 现的实用性。 通过研究t t c n - 3 标准,分析t t c n 一3 测试系统的实现模型,考察并研究己 实现的t t c n 2 测试系统的不足和优点,取长补短,实现了分布式t t c n 3 测试 系统。 本文结合设计模式,依赖倒置,抽象类提供接口等面向对象的设计方法,完 成了整体设计框架,同时所有接口与t r l ,t c i 国际标准保持一致。 结合t t c n 一3 编译系统的实现,提出了一种改进的符号表搜索算法并给出了 详细的面向对象的实现,将t c i 抽象数据类型与t t c n 3 中间表示无缝结合,实 现了t t c n 3 中的模板匹配机制,同时给出了对t t c n ,3 类型限制,w i t h 属性支 持的实现。 以原子步,栈模型和f i f o 调度模型的思想为基础,结合d c o m ,p c i 进程 通信机制给出了一种高效的分布式执行环境的实现,同时为测试系统提供了语 言一级的调试功能。最后简单讨论了分布式系统中一些常见问题的解决途径。 适配器部分定义了适配器与t t c n 一3 执行器的交互方式,并解决了多适配器 调度问题。 已实现的分布式t t c n 3 测试系统,既满足标准要求的执行语义,又满足用 户的需求,在实际使用中得到一致好评,最后探讨了如何在该测试环境下用好 t t c n 3 ,并给出了一。个实际的测试片断来总结我们的工作。 关键字 t t c n 3 分布式协议测试软件设计 中图科学技术人学硕士学位论文 a b s t r a c t a sa nu p t o - d a t es t a n d a r do fp r o t o c o la n ds o f t w a r et e s t i n gp u b l i s h e db ye t s ia n d i t u - t ,t h et e s t i n ga n dt e s tc o n t r o ln o t a t i o n ( t t c n 3 ) b e c o m e sm o r ea n dm o r e p o p u l a rf o rt e s t i n g i np r a c t i c e ,t h ed e v e l o p m e n to fr e a l i z i n gas t a n d a r di sr e a l l y d i f f i c u l t i t n e e d s ,f i r s t l y , t h et h e o r e t i cj u s t i f y ;s e c o n d l 弘t h et h r o u g hd e s i g ni s n e c e s s a r yt oi n s u r et h ec o r r e c t n e s sa n dh i g he f f i c i e n c y f i n a l l yi tc a nb ei m p l e m e n t e d t h r o u g hp r o g r a m m i n g b ys t u d y i n gt h et t c n 一3s t a n d a r d s ,a n a l y z i n gt h et h e o r i e so fi m p l e m e n t a t i o no f t t c n 一3t e s ts y s t e m ,f i n d i n go u tt h ew e a k n e s s + a n ds t r e n g t ho ft t c n 一2t e s ts y s t e m , w ei m p l e m e n tt h ed i s t r i b u t e dt t c n 3t e s ts y s t e m b a s e do nd e s i g n p a t t e r n ,d i pa n da b s t r a c ti n t e r f a c e ,t h ep a p e rd e s c r i b e st h e 行a m e w o r ka n di m p l e m e n t a t i o nm e t h o d so ft t c n 。3t e s ts y s t e 札a n dt h ei n t e r f a c ei s c o n s o n a n tw i t ht h ei n t e m a t i o n a ls t a n d a r d so f t r ia n dt c i i nt h ep r o c e s so fi m p l e m e n t a t i o no ft t c n 一3c o m p i l e r , t h i sp a p e rn o to n l y p r e s e n t sa m o d i f i e ds e a r c h i n ga l g o r i t h mf o rs y m b o lt a b l eb u ta l s o f i n i s h e st h e t e m p l a t em e c h a n i s m ,t t c n 3s u b t y p ea n dw i t ha t t r i b u t ea n da tt h es a m et i m e t h e p a p e rf i n d saw a yt os o l v et h ec o m b i n a t i o no ft c la b s t r a c tt y p ea n dt h ei n t e r m e d i a t e p r e s e n t a t i o n b yt h ea t o m i cs t e pm o d e l ,s t a c km o d e la n df i f os c h e d u l i n ga l g o r i t h m ,b a s e do n t h ed c o ma n dp c i t h em e t h o do fi m p l e m e n t i n gad i s t r i b u t e dt t c n 3t e s ts y s t e mi s p r o p o s e d t h et e s ts y s t e m p r o p o s e st h ed e b u g g i n gf u n c t i o ni nt e s tn o t a t i o nl e v e l f i r s t l y ,a n d t h e nt h ep a p e rt a l k sa b o u tt h ew a yt os o l v et h ef r e q u e n tq u e s t i o n si n d i s t r i b u t e ds y s t e m t h ea d a p t o rp a r td e f i n e st h em u t u a lw a yo fa d a p t o ra n dt t c n 3e x e c u t o r , a n d s o l v e st h em u l t i a d a p t o rp r o b l e m t h i st t c _ n 3t e s t i n gs y s t e mn o to n l ya f r o r d st h et e s t i n gn o t a t i o n sw h i c ha r e d e f i n e di ns t a n d a r d s b u ta l s oi m p l e m e n t sa l if e a t u r e sf o rt e s t i n ge x e c u t i n ga n d d e b u g g i n gt of i t u s e ra n dn o wh a sb e e nu s e dp r a c t i c a l l yf i n a l l y ,am a p e x a m p l e d e m o n s t r a t e st h ep r a c t i c a la p p l i c a t i o no f t h et e s ts y s t e m k e y w o r d s t t c n - 3 d i s t r i b u t e ds y s t e m s o f t w a r ed e s i g n p r o t o c o lt e s t i i 中国科学技术大学硕士学位论文 致谢 随莆这篇论文的完成,我获得了一些有意义的知识和经验,更重要晦是我得 到的许多良师益友的热情帮助。 首先,我要感谢的是我的导师蒋凡老师。从论文的选题、思路、方法到 结果的给出结果,都得到了他的关心与支持。正是在他渊博的知识、严谨的治学 态度和敏锐的洞察力的指导下,这篇论文才得以完成,更让我感到做学问应有的 态度和素质。 境。 感谢科大华为研究所里的各位工作人员,给了我一个良好的学习和工作环 感谢已毕业的师兄杨剑峰,张卫星,季向东,以及一起参与项目的黄传动 王继康等实验室的各位师兄和好友,本文是在他们的帮助下才得以完成的。 也要感谢科大计算机系给我地良好教育,感谢系里地所有老师,是他们给 了我一个坚实地理论基础和如何进行思考,工作,学习地方法。 最后,我要感诩f 我的家人,他们给了我精神和物质上的支持,使我克服了生 活和学习上的困难,使我度过了一个又一个有意义的学生生涯,希望我所做的一 切能令他们感到一点欣慰。 刘小勇 中国科学技术大学硕士学位论文 1 引言 1 1 研究背景 随着网络技术的飞速发展和应用的日益普及,大型系统正迅速由单一的集成 模式走向分布式系统。一个在物理和地理上分布的应用程序之间通信与合作的网 络底层基础结构正逐渐建立起来。而分布对象技术则进一步使分布且异构的应用 程序之间能以一种共同的方式提供和获得服务,从而实现分布式状态下的“软” 集成。 为了使系统中的计算机进行有效的通信,就必须为通信行为指定一组规则。 协议就是为使系统中的计算系统之间交换信息而建立的规则,标准或者约定。通 信协议允许人们不依赖与特定厂家的网络硬件来指定并理解数据通信,只要遵守 协议,各个计算机系统就能相互理解,实现自由可靠的通信。 协议的规模和复杂性也在不断增加,协议开发者所面临的基本问题是如何设 计一套庞大的通信控制规则,并且保证信息交换能够逻辑一致、完整且高效地进 行。为此,人们在协议研究中引入了形式化描述技术和基于系统的工程方法,形 成了体化、形式化的协议开发过程,一般称为协议工程。 协议测试是协议工程的重要组成部分,它在一致性、互操作性,性能和坚固 性等方面对协议实体进行实验性的评估。一致性测试旨在检测所实现的协议实体 ( 或系统) 与卧议规范的符合程度;性能测试旨在检测协议实体或系统的性能指标 ( 如数据传输率,连接时间,执行速度等) ;巨操作性测试旨在检测同一种协议的不 同实现版本之问,或同一类协议的不同实现版本之间互通的能力和互操作能力; 坚固性测试旨在检测协议实体或系统在各种恶劣环境下运行的能力( 如信道被切 断,注入干扰报文等) 。其中一致性测试为其他测试的基础。协议测试并不能保证 一个协议实现的完全正确性,即测试只能表卅i “存在错误”,而不能证明“不存在 错误”。这是协议测试的一个基本出发点。 国际标准化组织为协议一致性测试定义了形式化的方法和框架( i s o i e c 9 6 4 ,其中包括形式化的测试描述语言t t c n ,它具有严格的语法规则和完整的 操作语义提供了很多测试专用的语法特性,用t t c n 描述的测试套具有高度抽 中国科学杖术大学硕士学位论文 象性,独立于实际的测试系统实现。凭借其强大的描述能力和各标准化组织的持 续推动,t t c n 在协议一致性测试的理沦研究和工业应用领域都获得了广泛的认 同。t t c n 3 ( t e s t i n ga n dt e s tc o n t r o ln o t a t i o nv e r s i o n3 ) 灶t t c n 语言的最新版本, 它在语法上作了重新设计,具有现代程序设计语言的风格,并增加了许多新特性, 如测试执行控制机制、动态测试配置、同步异步通信功能以及模板匹配机制等, 使其具有更强大的描述能力和更广泛的通用性,可以适应分布式的软件架构和下 一代网络协议的测试需要。 1 2 研究内容 作者在攻读硕士研究生学位期问,有掌参与导师蒋凡教授组织的一系列 “t t c n 3 测试平台”研发活动。 短短的三年时间中完成了测试系统的开发同时在实际中将测试系统有效的 运用起来,使我在理论上得到较大的收获,从实践中获得不少经验。同时在实践 中通过“需求”一“设计”一“实现”的迭代过程,对系统从编译,执行到适配 器中的实现难点提出了自己的解决方案。同时结合具体实例,介绍了该测试系统 的应用。 本文给出了分布式t t c n 一3 测试系统的总体结构设计,采用面向对象方法, 结合设汁模式和d c o m 技术详细给出了该测试系统的实现。具体来说,本文完成 了以下几方面的工作: 1 分布式t t c n 一3 总体设计:结合发计模式【7 ,采用依赖倒置方法,以抽象 接口为表现形式,完成t t c n 3 的接口设计。该接口与t k i 、t c i 标准全面兼容, 同时也方便了分布式规划。 2 t t c n 3 编译器设计:利用a n q l l i e 完成抽象测试套到抽象语法树的转换, 定义了编译器系统的实现框架,重点分析并解决了t t c n - 3 中特殊的语法元素如 t e m p l a t e 模块,类型限制模块,w i t h 属性模块的实现,纶出了详细的实现说明。 同时针对t t c n - 3 与众不同的符号表,给出了t t c n 一3 的符号表实现细节,全面彻 底解决t t c n - 3 编译中存在的各种问题。 3 分布式t t c n - 3 执行机的设计:定义了分布式t t c n - 3 执行机框架,规范了 分布式节点问的接口。利用d c o i d 解决分布式接口调用,利用s o c k e t ,p c i 解决进 中国科学技术大学硕士学位论文 程控制,利用“原子步”方法解决节点机器上单处理机上多线程的模拟,彻底解 决了t t c n 一3 中分布式组件的执行问题。同时给出了单线程执行中单个组件的算法 以及多组件调度算法,并给出了具体的测试流羁! 。最后就分布式系统实现的关键 问题进行了实现层次的探讨,并给出_ ,解决方法。 4 适配器实现:定义丫适配器。j ,r t c n 一3 执行器船交,f 方式,通过弓f 入适配 器服务器,解决多适配器调度m 题,同时给出了一个适配器服务器的实现,成功 实现并增加了t r i ,t c i 中适配器相关的部分。 5 t t c n 一3 应用:针对本文的测试系统。提出了一种基于阵模型的测试套开发 模式,并通过一个实际的例子片断说明了该开发模式,在实际测试过程中也验证 了该测试系统本身的正确性。 1 3 本文组织结构 本文在结构上分成四个部分: 第一部分,阐述了论文的研究背景和主要内容,并对论文结构做简要介绍。 第二部分,详细介绍了分布式系统,分布式对象技术,分布式系统的测试以 及t t c n 3 ,分析了t t c n 3 语言的各个语法要素。 第三部分,详细介绍了分布式t t c n 3 测试系统的实现,从编译器,分布式 执行系统到适配器,给出了它们的总体结构及其详细实现。 第四部分,阐述了如何用好分布式t t c n 3 测试系统,并给出了一个实际测 试中的测试片断。 1 4 定义及缩写 本节将对涉及到协议工程学和标准制定组织使用的一些最基本的术语加以 介绍,以便于阅读。行文中尽可能使用术语的中文形式,如:协议定义。但对于 个别使用方便且好记的英文缩写,则直接使用其英文形式,如:t t c n 。 协议定义针对特定协议,指出协议需要实现的功能和性能,并不明确要求协 议的实现方式。一般为i u t ,i s 0 等标准组织制定。 协议实现针对特定出议定义,以某种方式实现其要求的功能和性能,一般为 达到与相同协议的其它实现互联、互通的目的。 t t c n 一2t r e ea n dt a b u l a rc o m b i n e dn o t a t i o n ( 在中文文献中有时称为树 表结合表示法) ,参见 8 6 中国科学技术大学硕士学位论文 t t c n - 3 t e s t i n ga n dt e s tc o n t r o ln o t a t i o n ( 新出现的标准,米见正式 译法,可试译为测试和测试控制表示法) ,参见 1 a s n 1a b s t r a c ts y n t a xn o t a t i o no n e ( 抽象语法记法) ,参见 9 a t sa b s t r a c t r e s ts u i t e ( 抽象测试套) l j t se x e c u t a b l e i l e s ts u it e ( 可执行测试套) l c i p r o c e s sc o n t r o ii n t e r f a c c ( 进程控制接1 :1 ) p d up r o t o c o ld a t au n i t ( 协议数据单元) t c pt e s tc o o r d i n a t ep r o c e d u r e s ( 测试协调过程) m t cm a s t e rt e s tc o m p o n e n t ( 主测试组件) p t cp a r a l l e lt e s tc o m p o n e n t ( 从测试部分) i u t i m p l e m e n t a t i o nu n d e rt e s t ( 被测实现) s u t s y s t e mu n d e rt e s t ( 被测系统) t c it t c n 一3c o n t r o li n t e r f a c e s ( t t c n - 3 控制接口) ,参见 4 t r it t c n 一3r u n t i m ei n t e r f a c e ( t t c n - 3 执行期接口) ,参见 3 c o m c o m p o n e n to b j e c tm o d e l ( 组件对象模型) ,参见 2 4 7 中国科学技术大学硕士学位论文 2 分布式系统- - st t c n 一3 2 1 分布式系统概述 从技术角度讲,分砷i 式系统是由多个互相连接的处理资源组成的计算机系 统,它们在整个系统的控制下协同执行一个任务,最少依赖于集中的程序、数据 或硬件。这些资源可以是地理i 二相邻的,也可以足在地理上分散的。分布式系统 隐含的共同特征是:场地分布、数据分布、硬件平台多样化、操作系统多样化、 应用平台多样化。 针对分布式系统的特点,在开发大型复杂的分布式系统,在系统性能上都要 考虑以下要求: 确保交易过程数据的完整性和致性。 可伸缩性,即能改变系统的服务功能。 可用性,系统发生故障时的数据恢复能力。 可管i 蟹性,能实时监视和调整系统,i ! 王称自主或自治。 系统的可靠性和坚固性。 执行时致据的分布性,执行后数据的永久性。 快速响应,投资低,易开发,易集成,易使用。 不刷系统平台上的互操作性。 安全性,在广域网上安全性已成为首要问题。 由于以上所述特点是实现分布式系统所固有的,因此应由系统软件提供这些 功能和解决方案,分布对象技术是解决闷题的关键。开放系统的发展可让用户透 明地应用不同机型、不同运行平台组成的异构型计算资源,从而提出了应用集成 与分布式处理的要求,即在于差万别的信息共享的基础上构造起信息共享的分布 式系统,并能有效地实现应用系统与分布式处理的集成。分布式处理的关键是定 义可管理的软件组件。就客户来说,希望这种软件组件能“即插即用”,即能从 所提供的软件组件库中获取最合适的组件并可充分重用现有成熟的软件代码。就 服务方来说,希望这种软件组件能便于客尸裁剪,维护和重构。中问件在应用系 统和操作系统中间一层运行的系统软件,提供多机系统间的通信接1 :3 ,以提供开 中国科学技术大学硕士学位论文 发和实现分布式系统,是解决分布对缘问协同工作的最佳解决方案。中间件按功 能大致分成5 类:数据库访问中间件、远程过程调用中间件、通信中间件、事务处 理中间件、分布对象中间件。中间件能够解释操作系统、网络协议、数据库、以 及文件系统之问的差别,访问并发数据,保证系统安全,并能够适应大型的系统, 中问件是可重用的构1 _ - f :。 现在分布式系统多采用三层体系结构,三层结构通常为:底层为数据层,中 层为应用层,外层是埘户层。各层之间都是客户h a 务器结构,它们之间都有中 间件连接。客户与服务器角色划分是相对的和多层次的。三层体系结构克服了二 层结构( c s ) 存在的重大缺陷:难以扩展成多服务器,难以管理大量客户机,组 合和集成能力有限,受限于供应商等。 与集成式系统相比,分布式系统表现出很多优越性,比如说共享资源的能力, 以及潜在的扩展性及其优越的性能。同时由于分布式系统本身的异构性,可将不 同计算机平台上的各类资源组合,从而有效的整合资源,实现异构机器间的合作 和转换。 2 2 分布式对象技术 分布对象技术日益重要,其主要原因有:一是使得那些原本只能在大型机甚 至巨型机上解决的问题转化为一个分布计算问题,从i 酊可以提高网络的应用水 平,扩展其应用范围。二是可以降低解决问题的成本,保护已有的投资,提高组 建网络环境的灵活性和适应性。 下面介绍两种常日的分布式对象技术: 组件对象模型( c o m ) 是m i c r o s o f t 的组件软件方案,c o m 是一个标准规范,也 是一个基于对象的编程模型,旨在推动组件问的互操作性。微软最初发展c o m 的 初衷就是用于桌面系统中应用程序之间的交互,作为o l e ( 对象连接嵌入) 的基 础。但是由于c o m 强大的生命力,使得c o m 已经超越o l e ,而成为一一种独立的面向 对象的组件模型。c o m 的中心思想就是定义软件中可以重用的部分,每一部分组 件都有其特定的界面和所能提供的服务。这样就提供了一种创建可重用组件的有 中国科学技术人学顾上学位论文 效机制。d c o m 贝i j 扩展t c o m ,使其能够支持在局域网,广域网甚至i n t e r n e t 上不 同计算机的对象之阋的通信。作为分布式汁算时,由d c o m 处理网络协议的低层次 的细节| :b l 题。从而使开发人员能够集中精力解决用户所要求的问题。 d c o m 的几个典型特性包括语占无关性,进程透| j l i 性,位置无关性。 d c o m 的语言无关性体现在d c o m 接口的二进制定义上,d c o m 组件和外界交互的 唯一槊道就是接口,在外界看来d c o j l 】i 就是提供一组服务的功能实体,而d c o m 组件 的服务是定义在二进制的标准上的,也就足说与具体实现语言无关。不管用什么 语言实现的d c o m 组件,只要它遵循j c o m 接口标准,外界就可以通过他的接口取 得服务。 d c o m 的进程无关性是指客户调用d c o m 组件的服务就像直接调用本进程的函 数一样,这是因为d c o m 使用了一种称为代理一存根的机制。当客户程序和d c o m 组件位于不同的进程或是不同的机器上时,在客户进程和d c o m 进程中分别增加了 两个成为代理( p r o x y ) 和存根( s t u b ) 的对象。客户程序调用的实际上是代理 对象,代理对象通过网络决议与在组件一端的存根对象通信,再由存根调用组件 的服务,但这一切对于客户程序都是透明的。 d c o m 的位置无关性再w i n d o w s 下是通过注册表来实现的。d c o m 组件将自身的 位置和其他信息注册到注册表中,客户程序要访问一个组件时,它不需要知道组 件的具体位置,而只需知道该组件的接口名或是i i d ,就可以通过注册表顺利访 问组件。 2 2 2c o r b a c o r b a 2 7 3 是c o m m o no b j e clr e q u e s tb r o k e ra r c h i t e c t u r e 的缩写,它是 由o m g 定义的分布式对象标准结构。o m g 是一个有八百多家公司组成的工业协会。 c o i b a 被发展的原因是为了解决企业的计算机系统再整合各种平台和操作系统 时,能够有一种一致的标准让不同的平台,操作系统,以及程序语言可以互相通 讯的技术,又由于c o r b a 是以面向对象为技术的根源,所以造就了c o r b a 成为企业 系统的标准分布式对象技术。c o r b a 现在已成为软件开发的主流,并被业界广泛 接受,现有的操作系统和硬件平台的任种组合几乎都支持c o r b a 技术。 c o r b a 的体系结构如下图所示: o 中旧科学技术大学硕士学位沧文 客户对象的实现 南南搀南倍 o r b 核一1 ) 接口仓库实现仓库 i nt e r r a c er e p o sit o r y i m p l e m e n t a t i o nr e p o s i t o r y 图2 2 2c o r b a 的体系结构 c o r b a 标准主要的四个部分: ( 1 ) 接口定义语言( i n t e r f a c ed e f i n i t i o nl a n g u a g ei d l ) :i d l 用于说明 c o r b a 服务对象完成的功能,但不能够利用i d l 实现该功能。i d l 是独立于其他 编程语言的功能描述性语言,这从另外一个侧面说明了c o r b a 的语言环境独立 性。利用i d l ,完成c o r b a 服务对象方法的说明,然后利用语言映射工具,将用 i d l 定义的c o r b a 对象方法说明翻译成高级编程语言的接口说明,最后根据接口 说明,利用c + + 或j a v a 编写对象实现程序。 ( 2 ) 对象请求代理( o r b ) :使对象在分布式环境中透明地收发请求和和响应, 为分布环境中的对象屏蔽了网络、操作系统和实现语言的异构性,提供对象寻址、 激活和通信的透明性,使得分布对缘间的通信就如同在同个地址空间一样。o r b 是c o r b a 规范的基础,其主要功能是定位服务对象,分析客户对象的请求,获取 服务对象的功能接口,在客户与服务对象间建立通信连接。 ( 3 ) 客户对象的动态调用接口( d y n a m i ci n v o c a t i o ni n t e r f a c e d ii ) :通过 d i i 接口,c 1 i e n t 可以直接利用o r b 提供的请求机制。应用可以通过d i i 发请求 到目标对象,不需要i d ls t u b ,而且d i i 还提供非阻塞延时同步服务和单工服 务。 ( 4 ) 客户对象的i d l 桩( i d ls t u b ) 和服务器对象框架( s k e l e t o n ) :i d l 桩表示对 于一个对象上的o m gi d l 定义操作的存取,它定义了客户如何激活相应的服务。 i d l 桩由i d l 编译器编译具体的 d l 界面而产生的。当客户方程序向它发出请求时, 它通过与o r b 内核的私有界面向0 r b 内核发出调用请求。这种静态调用方式只有在 编译时,i d l 界面是已知的情况下才是可运行的。与此相反,如果运行时才知道 r 问科学技术人学颂士学位论文 对缘实现方,就要使用动态调用界【l l j 去动态构造请求。客户程序试图访问一个 c o r b a 对象时,如果c o r b a 对象不在客户程序的进程空间中,对接口的调用就会传 给客户端的i d ls t u b ,育i j s t u b 又把调用信息打包传递给远程的服务器进程。服务 器端的s k e l e t o n 把包解开,取出其中的参数,然后实现有关接口。 由f o m g i ;, j 各公司提供的是技术规范昕非实现细节,因此每种o r b 扳本都不是 完全相同的。在c o r b a 2 o 中通过提f i i o p 解决了不同供应商的o r b 所开发的系统 组件可以互操作。有些提供c o r b a 产品的公司在其产晶上包含了扩展性能。在利 用这些扩展性能时,开发者可能不得不损失掉o r b 问的互操作性和移植性。 从9 0 年代初期到现在,出现了很多成功的c o r b a 实现系统。其中最著名的是 i o n a 公司的o r b i x 系统* u v i s i g e n i c 公司的b i s i b r o k e r 系统以及2 d i g i t a l 的 o b j e c t b r o k e 和 i p 出产的o r bp l u s 等它们在很多分布式系统的开发和支持中都得 到了应用。近几年来,随着应用需求的进一步发展,c o r b a 技术的研究和发展进 入了新的领域,随着w e b 应用而飞速发展。 2 2 3c o m d c o m 与c o r b a 的比较 c o r b a 和d c o m 作为两种主流的分稚式对象模型,有许多相似之处。例如:它们 都为分布式对象定义了接口并使用i d l 描述,都通过r p c 支持动态和静态的对象间 通信,底层都有o r b 支持等。但是,它们之间也有区别,这利区别主婴表现在实 现接口的方式上。c o m d c o m 规定了组件接口必须有i u n k n o w n 导出,c o r b a 并不规 定单一的基类,而是让规范的实现者自己选择。具体如下: 1 ) 结构和规范性:c o r b a 是一个通用的分布式对象的规范说明,它没有给出参考 的实现方式,所以为实现提供了极大的灵活性,而d c o m 有明确的实现背景,规范 严格细致,不利于优化。 2 ) 实现继承性能力:实现继承性就是在面向对象下,通过类层次结构表现出来 的继承性概念。晰接口继承性则与类层次结构无关,是指刈象之间接口重用的能 力。c o m d c o m 支持接口继承性而彳i 支持实现继承,而遵照c o r b a 标准的系统支持 实现继承性。 3 ) 跨平台能力:目前a c t i v e x d c o m 基本用于微软操作系统,w i n d o w s 9 8 年h , w i n d o w s n t 。 中国科学技_ 术大学硕上学位论文 4 ) 虽然已有支持u n i x 系统的d c o m 实现的试验版奉,但还待进步完善,丽符合 c o r b a 规范的产品支持广泛的平台,几乎可用在所有的操作系统上。 5 ) 跨语言支持能力:d c o m 实现中所用的编程语言几乎都是c + + ,而对于其他编程 语言的支持有障碍。与此相对比,c o r b a 具有语言中立性,0 m g 己经采纳了用c , c + + ,j a v a ,s m a l l t a l k 等语言使用c o r b a 规范,所以c o r b a 具有强大的跨语言能 力。 6 ) 安全性:所有的分布计算必须包括通信,安全性必须保证用户不受破坏代码 的侵害。d c o m 使用远程过程调用( r p c ) 在相距异地的对象间通信,它没有在分布 式的数据网络上提供安全保证,使用d c o m 实现的a c t i v e x 控件不含严格的安全性 检查或资源权限检查,这样就缺乏固有的安全性。与此相比,o m g 己经为基于c o r b a 的系统指定了广阔范围的安全服务,该服务不仅提供了保密性和认证机制,而且 实现了非否认机制。 2 3 分布式系统的灞试 分布式处理系统的发展需要考虑各组件间的协调这样导致了如下标准框架 的产生: 1 i s 0 1 1 u - t 的开放分布式系统参考模型( r m - o d p ) 2 c o r b a 3 t i n a 4 d c e 在分布式系统中为了保证系统各组件的一致性,可操作性及其功能性,引入 一致性测试的概念。一致性测试是为了保汪各分布式系统可以协调工作。o d p , c o r b a ,t n a 年i l d c e 都有不同的一致性定义。 在o d p 一致性测试中,一致性指定义与实现之间的关系。如果规范的定义与 实现保持一致则称他们之间为一致的。o d i ,并小对某个需求进行一致性测试,它 只针对接口进行测试。 c o r b a 的一致性测试定义关注与顺从点。也就足c o r b a 中的接口。测试的重点 在o r b i 哽从点与g i o p ,i i o p ,e s i o p 之间的互操作功能。 在t i n a 框架中并不存在显示的一致性测试点。主要的工作在参考点的测试 中国科学技术大学硕士学位论文 l 】。 d c e 方法关注的一致性测试重点在系统表述上以及在相关联的测试套之间。 总而言之,o d p ,c o r b a ,t i n a 和d c e 的一致性测试问题并没有解决。这方面 的工作在研究领域工程领域和标准化组织一直进行中。最后i s o 在- , 睡9 6 4 6 一l 中 定义一致性测试方法与框架,成功解决了这些0 题。除丫这螋,c t m f 还定义了很 多测试架构,如抽象测试方法,以及用米描述测试例的,l 1 c n 。 c t m f 挣! o 试架构以及t t c n 已经被有效的运用在除了o s i 一致性测试的很多领 域,比如说a t m 出议测试中。但足事实证明c t 盯架构并小能一般性的解决实时和 性能测试,也不能解决以上提出的分布式架构的实施需要。为了解决这些问题, e t s i 提出了t t c n - 3 ,它在t t c n 基础上进行了全方位的加强,具体的功能在t t c n - 3 相关章节介绍。 为- f n 试一个特定协议实现,一般需要将该实现放置于特定的协议测试系统 中。国际标准组织专门制定了协议测试系统的框架。被测试的胁议实现位于被测 系统中的第r l 层。测试系统通过m 调上测试组件( u t ) 和下测试组件( l t ) 对i u t 进行测试,协调动作由测试协调过程( t c p ) 完成,n 层协议下方有更底层的协 议支持l t 与1 u t 之间的连接。这样的测试系统,有两个问题需要重点解决。第 一个问题是l t 与i u t 之间的通讯,由于i u ,r 是多样的,需要专门实现一组底层 适配软件它们中的每个负责与个i u q 进行通讯。笫二个问题是l t 与u t 之间 的协调工作,即如何实现t c p 。 针对上述两个问题,在t t c n 标准中提出了四种测试模型:本地测试方法、 分布式测试方法、协调测试方法和远程测试方法。 实际测试中,u t 和l t 内部又可能出现若干并发的测试组件,于是形成多方测 试,测试结构图如图2 3 所示。这些测试组件的创建、组件之间的相互通讯都给 测试平台的设汁和实现带来了更多需要解决的问题。 多方测试框架c i l ,l t 与u t 都为独立调度执行的单7 i ,针对现代系统的测试需 求,特提出分布式测试系统的概念。 4 中国科学技术大学颀士学位论文 2 4 t t c n 3 简介 图2 3 多方测试结构图 对于分布式测试系统而占,由于测试任务经常的变动,不同的测试任务要求 的测试方法和测试设备不尽相同。从而使系统软件要重新编写,重新安装而导致 的关闭和重启可能会引起不可接受的测试停滞、成本增加或其它各种风险。寻求 种动态的、灵活可扩展的系统结构模型是解决这一问题的根本方法。针对测试 系统中出现的种种问题,e 1 s i 在总结黑盒测试经验的基础上提出了t t c n 系列标 准,目标在于提高软件重用率,降低分布式应用的开发复杂度,支持动态的、可 扩展的软件系统结构模型。 2 4 1t t c n - 3 特征,优点以及主要用途 t t c n 版本l 和版本2 由 s 0 i e c9 6 4 6 2 3 标准进行了详细说明,是一致性测试 方法与框架中的第三部分。同时,i t u t 也相应出版- j t t c n 标准x 2 9 2 。随后 中国科学技术大学硕士学位论文 欧洲通讯标准学会e t s i 对t t c n 2 进行了部分保留和更新,形成y t t c n 2 + + ,主 要实现了并发的特性。随着网络技术的推广,各种具有并发特征的协议实用性更 为广阔。为适应时代的需求,从1 9 9 8 年n 2 0 0 0 年,e t s i 专门成立研究小组, 把t t c n 开发成一种用于测试的现代程序语言,几经修改,于2 0 0 2 年1 0 月颁布了 e t s ie s2 0 18 7 3 系列( v 2 2 1 ) ,目 3 t t c n 3 第2 版。i i u t 也相应出版t z 1 4 0 系列。t t c n 一3 指的是测试及测试控制表示法,e t s i 发布的有关t t c n 3 的最新标 准包含六部分。t t c n - 3 是一个灵活且功能强大的测试套描述语言,它适用于各种 交互系统的说明。典型的应用是协议测试( 包括移动和因特网协议) 、服务测试、 模块测试、基于c o r b a 的平台测试、a p i 测试等。t t c n 一3 并不局限于一致性测试, 可用于互操作性侧试、健壮性测试、回归侧试、系统和集成测试等各种领域。 t t c n 一3 包含下列主要特性: 基于文本的描述形式 动态并行测试配置 对同步和异步通讯的操作 描述编码信息和其它属性的能力 具有良好匹配机制的数据类型和特征模板 类型和值的参数化 测试判定的赋值和处理 测试套的测试化和测试例的选择机制 可与a s n 1 ( 以及1 d l 等) 结合使用 定义良好的语法交换格式静态语义、多种表示形式等, 2 4 2 类型与值 t t c n - 3 支持很多预定义的基本类型,结构类型和特殊类型。基本类型包括 i n t e g e r ,b o o l e a n 年u s t r i n g 等,还有一些测试专有的o b j e c c i d e n t i f i e f ,t i m e r 等:结构类型包括r e c o r d ,s e t 和e n u m e r a t e d 等,结构类型由基本类型的变量构成: 特殊类型包括与测试配置相关的p o r t ,c o m p o n e n t 等用来定义测试系统结构的关 键字 t t c n - 3 是一种强类型语言,具有很多预定义函数来处理类型转换 中国科学技术大学硕士学位论文 | r 1 c n 一3 全面兼容a s n 1 数据定义,它可以用在t f c n 一3 的数据定义与类型定义 中 2 4 3 模块 t t c n - 3 最顶层单元是模块,它不由子模块构成。t t c n 一3 模块之间相互独立, 它们可以通过i m p o r t 语义共享数据定义。一个测试套就是一个模块。一个模块 有两部分:定义部分和控制部分。定义部分定义- r 测试组4 1 一、通讯端口、数据类 型、常量、测试数据样扳、函数、端口程呼叫信号、测试例等。控制都分包含 局部定义、调用测试例并控制其执行顺序。 同时模块部分详细定义了单元作用域以及各单元作用域内各元素间的定义 引用关系。 2 4 4 模板,消息,特征过程及匹配机制 z 4 4 1 模板 模板为在测试端口上发送和接收的特定测试数据提供了参数化和匹配机制。 它用米传送一系列不同的值或者对接收的一系列值是否和模板描述的相匹配进 行检测。模板提供了下面的可能性: a ) 是组织和重朋测试数据的方法,包括简单形式的继承。 b ) 可以被参数化。 c ) 允许匹配机制。 d ) 可以用于基于消息通信或基于过程通信。 模板可以说明值、范围、匹配机制等,它可以说明t t c n 一3 数据类型或特征过 程。可以在模板值中指定范围和匹配的属性,然后在基于消息通信和基于过程通 信中使用。模扳可以指定为任何t t c n 一3 类型或过程签名。基于类型的模板用于基 于消息的通信中。签名模板用在基于过程的通信中。具有实际值的消息实例可使 用模板说明。可把模板看作是构建发送消息或匹配接收消息的指令集。 1 7 中国科学技术大学硕士学位论文 2 4 4 2 消息 r t c n 一3 的一个关键特点是能够通过测试配越,在通信端口上发送和谈收复杂 的消息。这些消息可以是s u t 中明确包含的或是与测试配置相关的协作和控制消 息。同步通信需要通过签名来完成。它可以在s u t 中被调用( 即测试系统执行调 用) ,也可以在测试系统中被唤醒( 即s u t 执行调用) ,对于来自s u t 的过程调用和 来自测试系统的过程调用,完整的过程签名都应在t f c n 一3 模块中定义。s e n d 操作 中使刖的模扳定义了由测试端口发送的消息组成的值域的全集。在发送操作时, 模板应被完全定义,b 日所有域应解析为实际值且在模板域c p 不使用匹配机制,直 接和问接的使用都没有。r e c e i v e 操作中使用的模板定义了一个对输入消息进行 匹配的数据模板。过程参数表具有实际

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论