




已阅读5页,还剩82页未读, 继续免费阅读
(计算机软件与理论专业论文)基于语言转换的ttcn3测试系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中周科学技术大学硕士学位论文 摘要 t t c n 3 是被e t s i 和i t u t 标准化的新一代协议和软件测试语言,有着广泛 的应用前景。为了执行这种语言,需要设计专用的编译器或解释器,以及相关的 测试平台。通过研究分布式测试系统的模型,在深入理解t t c n 3 标准的基础上, 分析了t t c n - 3 测试系统的实现模型,并以d c o m 技术为基础,实现了t t c n - 3 分布式测试系统。 使用“编译一中间代码一编译”的编译器模式,完成了t t c n 一3 和a s n 1 脚 本到可执行代码的转换。分析和讨论了编译系统同时支持t t c n 3 和a s n 1 语 言的各种编译方案,在编译架构中使用模块转换完成了对a s n 1 和t r c n - 3 语 言的编译支持。在研究其它翻译方案的基础上,提出并实现了t t c n 3 到c + + 代码转换的两种方案。充分利用c + + 语言的多态特性,将t r c n 3 和a s n 1 中 的各种类型信息静态化,将t r c n - 3 中的类型、值和模板整合到一个类型层次, 简化了中间代码的复杂度,提高其编译效率;分析t t c n 3 语言的类型系统继承 规则,提出了削减其继承层次的方案,进一步简化中间代码的复杂度,提高其执 行效率。 以d c o m 技术为基础,分析了t t c n 3 分布式测试的特点与不足,扩展了 t t c n 一3 测试组件创建机制以及分布式同步机制,给出了一种t t c n 3 分布式测 试系统的实现。分析了t t c n 3 测试系统执行机中a s n 1 编解码的实现机制, 并从透明性、分布性、安全性等方面讨论了在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 el a n g u a g eo 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 i a n di 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 t om a k et h el a n g u a g ee x e c u t a b l e , ar e l a t i v e dc o m p i l e ro r i n t e r p r e t e ra n da ne x e c u t o rp l a t f o r mm u s tb ed e s i g n e d b a s e do nt h es t u d yo ft h e m o d e lo fd i s t r i b u t e dt e s ta n dt h eu n d e r s t a n d i n go ft h et t c n - 3l a n g u a g e ,at t c n 一3 t e s tp l a t f o r mi sd e v e l o p e d 、i t l lt h es u p p o r to f d c o m u s i n gt h em o d e lo f “c o m p i l i n g m i d d l el a n g u a g e c o m p i l i n g ,w ei m p l e m e n t t h et r a s l a t i o no ft t c n - 3a n da s n 1s o u r c ec o d et oe x e c u t a b l et a r g e tc o d ea n d d i s c u s st h ed i f f e r e n ts l r a t e g i e so fc o m p i l i n gt t c n 3a n da s n 1l a n g u a g et o g e t h e r a n da p p r o a c ht h ei d e ao fu s i n gat r a n s l a t o rt or e a l i z et h ec o m m u n i c a t i o nb e t w e e nt h e t t c n 一3a n da s n 1c o m p i l e r s b a s e do nt h es t u d yo ft r a s l a t i o np o l i c i e so fo t h e r s y s t e m s ,w ed i s c u s st w oi d e a so ft h et r a n s l a t i o no ft t c n - 3t oc + + ,a n dc o m p a r e t h e i rd i f f e r e n c e s b yu s i n gt h ep o l y m o r p h i s mc h a r a c t e r i s t i co fc + + w em a k et h et y p e i n f oo ft t c n 3a n da s n 1s t a t i c ,i m p l e m e n tt h eo p e r a t i o n so fs u b c l a s si nt h e t y p e s u p p o r t l i b r a r y ,c o m p o s et h et y p e ,v a l u ea n dt e m p l a t et oat y p ec l a s s ,a n ds i m p l y t h ec l a s sl e v e r so fm i d d l ep r e s e n t a t i o n , a n dt h u sd e c r e a s et h ec o m p i l i n gt i m ea n d i m p r o v et h ep e r f o r m a n c eo f e x e c u t i o ns y s t e m b a s e do nt h es t u d yo f t h es h o r t a g eo f t h ed i s t r i b u t e dm e c h a n i s mo f t t c n - 3 ,w e e x t e n dt h ec r e a t i o no f t e s tc o m p o n e n ta n dt h es y n c h r o n i z a t i o no f t e s tc o m p o n e n t sa n d r e a l i z eat t c n 3d i s t r i b u t e ds y s t e mw i t ht h es u p p o r to fd c o m ,a n di m p l e m e n ta n a s n 1e o d e c t h ep a p e ra l s od i s c u s st h ep r o b l e mo ft r a n s p a r e n c y , d i s t r i b u t i o n , a n d s e c u r i t yo ft h et t c n - 3t e s ts y s t e m , s o m eo t h e rp r o b l e m sl i k el o a db a l a n c ea n df a u l t t o l e r a n c ea r ed i s c u s s e dt o o t h i sp a p e ra l s od e s c r i b e st h ee x e c u t i o na n dv a l i d a t i o no f t h et e s ts u i t e s0 nt h er e a l t t c n - 3t e s tp l a t f o r ma n dt h ee x p e d e n c e so fr u i l i l i n gt e s t sa g a i n s ta c t u a lf i r e w a l l i m p l e m e n t a t i o n 中国科学技术大学硕士学位论文 k e y w o r d s t t c n - 3 l a n g u a g et r a n s l a t i o n d i s t r i b u t e ds y s t e m p r o t o c o lt e s t 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作 所取得的成果。除已特别加以标注和致谢的地方外,论文中不包含任 何他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的贡献均已在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权,即:学 校有权按有关规定向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名:丝查鱼 竹帅那日 玛2 - , 刈- f ,p , 中国科学技术大学硕士学位论文 第1 章引言 1 1研究背景 随着计算机信息技术的飞速发展和应用的日益普及,人们对网络通信的需求 越来越高,互联网与人类社会的工作、生活越来越紧密相关,它已经成为人类获 取、交流信息的重要途径和手段。由此,也使得网络协议以及相关的协议测试的 重要性越来越突出。 协议是计算机网络体系中不可缺少的组成部分,协议是为了进行计算机网络 的数据交换而建立的一系列规则、标准和约定。通信双方只有遵循网络协议,才 有可能正确有效地进行信息交换。为使来自不同厂家的系统能够成功进行通信, 必须有标准化的协议,这种需求直接导致了国际标准化组织i s o ( i n t e r n a t i o n a l o r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ) 提出了开放系统互联参考模型以及各层的协议 标准。 协议的规模和复杂性在不断增加,协议开发者所面临的基本问题是如何设计 一套庞大的通信控制规则,并且保证信息交换能够逻辑一致、完整且高效地进行。 为此,人们在协议研究中引入了形式化描述技术和基于系统的工程方法,形成了 一体化、形式化的协议开发过程,一般称为协议工程( p r o t o c o le n g i n e e r i n g ) t ”。 协议测试是协议工程的重要组成部分,它在一致性【2 】、互操作性和性能等方 面对协议实体( p r o t o c o li m p l e m e n t a t i o n ) 进行实验性的评估。所谓一致性是指协议 的形式化规范描述与协议实体行为之间的一致,即协议实体是否符合协议规范的 要求,协议一致性测试就是通过测试执行活动来检测被测实体( i m p l e m e n t a t i o n u n d e rt e s t ,i u t ) 是否以及在多大程度上实现了协议规范所要求的功能;互操作 性测试是检测在同一种协议的不同实现版本之间,或同一类协议的不同实现版本 之间互通的能力和互操作能力;性能测试则是检测协议实体或系统的性能指标 ( 如数据传输率,连接时间,执行速度等) 。其中一致性测试为其他测试的基础。 协议测试并不能保证一个协议实现的完全正确性,即测试只能表示“存在错误”, 而不能证明“不存在错误”。这是协议测试的一个基本出发点【3 】。 国际标准化组织为协议一致性测试定义了形式化的方法和框架【4 】,其中包括 形式化的测试描述语言t t c n 。t r c n 具有严格的语法规则和完整的操作语义, 提供了很多测试专用的语法特性,用t t c n 描述的测试套具有高度抽象性,独 立于实际的测试系统实现。凭借其强大的描述能力和各标准化组织的持续推动, t t c n 在协议一致性测试的理论研究和工业应用领域都获得了广泛的认同。 t t c n 3 t 5 m ( 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 语言的最新版本,相较于t t c n - 2 ( t r e 圯a n dt a b u l a rc o m b i n e dn o t a t i o n v e r s i o n2 ) ,它在语法上作了重新设计,具有现代程序设计语言的风格,增加了许 多新特性,如测试执行控制机制、高并发度的动态测试配置、同步异步通信功 能以及模板匹配机制等,这使得t t c n 3 成为了一种真正意义上的分稚式测试语 言,因而具有更强大的描述能力和更广泛的通用性,可以适应新的软件架构和下 一代网络协议的测试需要。 t t c n 3 作为一种测试标准语言,有着广阔的应用背景。t t c n 3 是目前欧美 先进通讯厂商的主流测试语言,包括诺基亚、西门子、摩托罗拉、爱立信等电信 大厂己积极采用。“目前使用t t c n 3 为测试语言的系统遍及各领域,举凡通飙、 软件、汽车与测试自动化系统,均可使用t t c n 3 作为测试语言与架构( 2 0 0 6 年 t t c n 3 用户大会【l 2 jt e s t i n g 执行宫t 语1 。”而且_ t e c h v a s s i l i o ug i o l e st t c n - 3 更作为某些新的协议的指定测试语言,比如w i m a x 论坛【1 3 】所发表的测试规范 就直接采用t t c n 3 作为撰写抽象测试例的测试语言。在学术界,对t t c n - 3 的 研究与应用的讨论,也在日趋增多,主要包括t t c n 3 平台开发、t t c n - 3 的优 化扩展、t t c n - 3 测试套开发、及t r c n - 3 应用等。伴随着t t c n 一3 标准的各种 应用的深入,t t c n 一3 标准也在频繁的更新,新的测试功能也在逐步增加,这些 都充分显示了t t c n 3 语言的活力和生命力。 t t c n 3 标准必须转化成可执行的代码才能最终执行,在国外许多厂家都在 积极的进行t t c n 3 测试系统的研发【1 4 】,其中最著名的是t e l e l o g i c 【l m 公司的t a u t e s t e r ,t e s t i n g t e c h n o l o g i e s t l 6 j 公司的t t w o r k b e n c h ,以及o p e n t t c n l l 7 1 公司的 o p e n t f c nt e s t e r 等,另外也有一些其他的公司开发了基于t t c n 3 的编译器、 解释器或测试例生成器等【1 4 】。就国内而言,2 0 0 4 年,中国科学技术大学和华为 公司合作开发了t t c n 3 测试系统【1 8 - 2 0 ,但是由于设计缺陷,限制了该系统的应 用前景。虽然国外很多公司的产品已经趋向成熟,但是在t t c n 3 用户大会1 1 2 j 上,测试用户也普遍反映,虽然t t c n 3 语言的功能非常强大,但是现在商业工 具的表现却不尽如人意,而且由于t 1 n - 3 的分布式机制还存在一定的缺陷,需 要进一步的研究开发。 1 2 研究内容 笔者在攻读硕士研究生学位期间,有幸参与和组织了t t c n - 3 测试平台不同 设计版本的开发和实现工作,这使我在理论和实践上,都取得了较大的收获。 2 0 0 4 年,笔者所在实验室与华为公司联合开发了实验室的第一个t t c n 3 测 试平台( g t 3 0 0 0 ) p s - 2 0 l ,该平台将t t c n 3 测试脚本编译成内存对象,使用调 度执行内存对象的方式来达到执行t t c n 一3 测试脚本的目的。在该平台中,笔者 主要参与后期的维护,并以此平台为基础,设计和实现了防火墙测试方案,取得 2 中国科学技术大学硕士学位论文 了一定的效果。但是该平台具有一定的局限性:由于不能生成可执行代码,每次 执行都需要重新编译所有的t t c n 3 脚本,这对测试性能带来很大的影响;使用 单线程模拟多线程的方法来模拟多个并发测试组件的执行,仅能在单机上模拟 t t c n - 3 测试脚本的并发执行,限制了整个系统的可扩展性,无法真正实现 t t c n - 3 分布式并发测试功能。 为此,笔者所在实验室决定研制t t c n - 3 分布式测试平台,实现分为两期: 第一期【2 1 , 2 2 1 在单机实现t r c n - 3 测试平台的编译和执行;第二期添加对a s n 1 脚本及编解码( b e r 、p e r ) 的支持,同时实现t t c n 3 的多机并发测试。在这 次t t c n - 3 测试平台的开发过程中,笔者作为项目负责人,参与了测试平台各模 块的主要设计工作和执行器、测试管理的开发工作。第一期,参考业界相关 t t c n 3 测试工具的实现方案,采用了将t t c n - 3 转换成c + + ,生成可执行测试 例的实现方案,弥补了内存对象方案的不足。通过单机多线程模拟多p t c 并发, 实现了t t c n - 3 的单机测试平台。第二期,为了支持a s n 1 测试脚本,对系统 编译器部分进行了重新设计,将a s n 1 和t t c n 3 转换成统一的c h j 良示,实 现两者的联合编译与执行。此外,研究和扩展t t c n 3 分布式测试语义,扩展系 统整体架构,实现了分布式的测试平台。 笔者完成的研究和开发工作概括如下: 1 )设计了t t c n 一3 总体测试平台框架,完成了各核心模块功能的划分, 明确各模块的功能及模块之间的接口功能,确保了整个平台的顺利开 发。 2 )完成了t t c n 一3 和a s n i 到c + + 的类型翻译转换方案,在研究t t c n 3 语言特点的基础上,提出了t t c n 3 的类型层次优化方案。 3 )研究了t t c n 一3 和a s n 1 的语法特性,提出并实现了使用中间转换模 块实现两种语言联合编译的编译器架构及翻译器算法。 4 )研究了t t c n 一3 执行系统的分布式测试框架,规范了分布式节点闻的接 口,使用d c o m 实现了分布式测试系统的核心框架。深入研究了t t c 卜3 分布式机制的特点与不足,扩展了t t c n 一3 分布式组件创建机制和同步 机制。 1 3 本文组织结构 本文在结构上分成六个部分: 第一部分,阐述了论文的研究背景和主要内容,对论文结构做简要介绍。 第二部分,论述了一致性测试框架和分布式测试框架进行。分析了分布式 测试的系统体系结构,研究了基于t t c n 3 的分布式测试系统的体系结构。 3 中国科学技术大学硕士学位论文 第三部分,研究了t t c n - 3 的分布式测试模型,给出了t t c n 3 分布式测 试系统的总体设计。 第四部分,结合t t c n 3 与a s n 1 的特点及联合使用的需求,给出了t t c n - 3 与a s n 1 转换到的c + + 表示的类型系统设计方案。设计并实现了支持a s n 1 语 言的t t c n 3 编译器。 第五部分,深入讨论了t t c n 3 分布式测试系统实现中的一些主要问题和解 决方法。给出了t t c n 3 执行系统与组件管理的分布式实现。 第六部分,使用t t c n 3 分布式测试平台,构建了实用的分布式测试环境, 对l i n u x 操作系统下的i p t a b l e s 防火墙进行了分布式测试。 4 中国科学技术大学硕士学位论文 第2 章t t c n 测试系统 2 1 协议测试 2 1 1 协议测试的概念 计算机和通信的结合,促使了计算机网络技术和分布式计算机系统的出现和 趋于成熟。为了使得各个计算机系统成功地进行通信,就必须为这种通信行为制 定一组规则。协议就是用在分布式计算机系统中,将各个不同部分连接起来的通 信管理规则。各个计算机系统必须遵守规则,才能相互理解,实现成功可靠的通 信。 为了使得来自不同厂家的系统能够成功地进行通信,必须有标准化的协议, 这种需求导致了o s i 参考模型和t c p i p 协议集的制定和广泛的普及使用。越来 越多的研究人员关注于协议工程和形式化技术在协议工程学领域中的应用研究。 协议工程学包容了协议开发过程中的各个阶段,它试图在协议设计、描述、验证、 测试和实现等过程中使用形式化技术加速和完善协议的开发过程。 协议测试理论是协议工程学的一个重要分支。因为协议标准基本上是使用自 然语言描述的,实现者对于协议的不同理解会导致不同的协议实现,甚至会是错 误的实现。因此需要一种有效的方法对协议实现进行判别,以确保协议的实现之 间能成功地进行通信,这就是“协议测试”i ”。 测试是试图通过实验的方法找出错误的过程。在测试过程中既要模拟协议实 现正常工作的情况,也要模拟异常使用情况;既要模拟协议实现单独运行的情况, 也要模拟协议实现之问相互通信的情况。这样才能确信在任何使用情况下系统的 正常工作状况。由于一个系统进行无穷尽的测试是不现实的,所以测试并不能保 证一个协议实现的完全正确性,即测试只能表明“存在错误”,而不能证明“不 存在错误”。这是协议测试的一个基本出发点。 协议实现和协议测试是协议工程的两个重要内容【3 】。形式化的协议标准是协 议实现和协议测试的出发点。根据协议标准实现的协议作为被测实体( i u t , i m p l e m e n t a t i o n u n d e r t e s t ) 嵌入在被测系统( s u t , s y s t e m u n d e r t e s t ) 中,与 t e s t e r 连接形成测试环境。根据形式化的协议标准构造抽象测试套( a 1 s ,a b s t r a c t t e s ts u i t e ) ,描述对协议各项功能的测试过程。经过某种方式的转化,a t s 成为 可执行测试套( e t s ,e x e c u t a b l et e s ts u i t e ) ,再用测试器( t e s t e r ) 加载和执行。 中国科学技术大学硕士学位论文 t e s t e r 执行e t s 后,判决被测协议实现是否达到了协议标准的要求。 2 1 2 协议测试的类型 网络协议的测试内容包括协议功能和协议性能两方面,一般分为四种类型【3 】: 1 一致性测试( c o n f o r m a n c et e s t i n 亩:检测协议实体与协议规范是否符合标 准以及符合的程度; 2 性能测试( p e r f o r m a n c et e s t i n g ) :检测协议实体的性能指标,如数据传输 率、连接时间、执行速度、并发度等; 3 互操作性测试( i n t e r o p e r a b i l i t yt e s t i n g ) :检测同一协议的不同实现版本之 间或者同一类协议的不同实现版本之间互连互通的能力; 4 坚固性测试( r o b u s t n e s st e s t i n g ) :检测协议实体在各种恶劣环境下运行的 能力; 一致性测试属于功能性测试范畴,它是进行其它类型测试的基础。由于目前 的协议规范大多是用自然语言描述的,对协议的不同理解往往会导致协议实体的 实现存在着差异甚至错误,为了保证协议实体正确地实现了协议规范所定义的功 能并能与其它系统互通,需要采用一种统一的标准和手段对协议实体进行评估, 一致性测试正是为了实现这一目的而提出的。尽管一致性测试并不能完全证明协 议实现的正确性,但是在系统化的测试活动检查下,可以把协议在实现过程中出 错的概率降低到实际应用可以接受的程度。 2 1 3 协议一致性测试框架 为了保证测试的可信度、使得测试结果具有可比性、提高测试的自动化水平 以降低测试费用并改善测试效率,目前的协议一致性测试普遍遵循了国际标准化 组织( i s 0 ) 制定的“一致性测试方法与框架”( c t m f ,c o n f o r m a n c 七t e s t i n g m e t h o d o l o g ya n df r a m e w o r k ) 。该标准定义了与一致性测试相关的形式化描述技 术、测试系统架构和测试实现方法等。抽象层次上,协议测试的系统结构如图 2 1 【2 】所示。 6 中国科学技术大学硕士学位论文 图2 1 一致性测试系统结构 被测试的协议实现位于被测系统中的第n 层,测试系统通过协调上测试部件 ( u t ,u p p e rt e s t e r ) 和下钡0 试部件( l t ,l o w e rt e s t e r ) 对被测试对象( i u t ) 进行测试,协调动作由测试协调过程( t c p ,t e s tc o o r d i n a t i o np r o c e d u r e ) 完成, n 层协议下方有更底层的协议支持l t 与i u t 之间的连接。这样的测试系统,有 两个问题需要重点解决。第一个问题是l t 与i u t 之间的通讯,由于k i t 是多 样的,需要专门实现一组底层适配软件,它们中的每个负责与一个i u t 进行通 讯。第二个问题是l t 与u t 之间的协调工作,即如何实现t c p 。 针对上述两个问题,c t m f 建议了四种测试方法和相应的测试系统结构 2 】。 1 本地测试方法( l o c a lt e s tm e t h o d ) 1 图2 2 本地测试结构 在这种测试方法中,上测试器,下测试器和被测实体同处于一台机器中,测 四种结构均参考i s o - 9 6 4 6 标准绘制 7 中国科学技术大学硕士学位论文 试不需要低层通信系统的支持。被测实体和下测试器的接口设在被测实体的底 部,上测试器和被测实体的接口设在被测实体的上部。由于上测试器和下测试器 可以集成到一个程序中,因此,下测试器和上测试器的测试协同过程容易实现。 这种方法一般用于硬件测试中。 2 分布式测试方法( d i s t r i b u t e dt e s tm e t h o d ) 图2 3 分布式测试结构 分布式测试方法中,被测实体和上测试器处于同一机器上,下测试器分布在 远程测试场点的机器中。下测试器控制和观察在远程系统上的州1 ) 层服务原语, 此时下测试器扮演的是( n 一1 ) 层服务使用者的角色。在本地的( n 1 ) 层服务边界上 没有控制观察点,只能对n 层服务原语直接或间接地控制和观察。上测试器和 下测试器的测试协同过程由测试例体现。该方法适合于测试高层协议实体。 3 协同测试方法( c o o r d i n a t e dt e s t m e t h o d ) 图2 4 协同测试结构 协同方法与分布式方法类似,主要区别在于测试协调方法不同。在协同测试 方法中,引入专门的测试管理协议( t m p ,t e s tm a n a g e m e n tp r o t o c 0 1 ) ,上测试器 和下测试器之间通过t m p 实现测试协同过程,而在分布式测试方法中,测试协 同是由测试实现者在测试例的设计中考虑并完成的。 中国科学技术大学硕士学位论文 4 远程测试方法( r e m o t et e s tm e t h o d ) 图2 5 远程测试结构 该测试方法省去了上测试器,仅仅通过( 层协议数据单元和o q - o 层服务原 语进行测试。测试例全都用科1 ) 层服务原语描述。这种方式在无法控制和观察 被测实体的上下边界时非常有用,适合于被动式协议实体或服务型协议实体的测 试。 除了上述四种测试方法之外,还有一种更复杂的测试方式称为多方测试,在 这种方式中,测试系统内可能有多个下测试器和上测试器,它可以模拟被测实体 同时与多个系统通信的情况,实现更有效的测试。但是在这种方式下,实现下测 试器与上测试器的管理、协调以及测试器之间的通讯等都有相当大的难度。 s y s t e mu n d e rt e s t ( s u t ) t e s ts 、j s t e m ) t e s lc o - o r d i n 越i o n 囝| c l 。o n t w m e r t u n t e s 删t e 。r 。 c o r 止r o i r f 9 t e s t e r f u n c t i o n 。 p r o c e d u r e s ( t c p ) 庄t 。蚓 t e s tc o - o r d i n a t l o n r 一 1 l 瞧upier2testerp p r o c e d u r e s ( t c p )牮。 匿;爱;二j - 。;谴n 二;囊,- 习 由自釉 lower l e v e | s e r v i c ep r o v i d e r 图2 6 多方测试结构 由于实现难度的原因,大部分协议测试软件均采用本地测试架构或远程测试 架构,很少有软件使用分布式或协同测试架构。在下一节,将重点介绍分布式测 试系统及其框架。 2 2 分布式测试系统 i n t e r n e t 的高速发展直接促使各种分布式系统被大量的应用,分布式测试也 9 中国科学技术大学硕士学位论文 越来越受到重视,并被应用于各种分布式系统的测试“。 c t m f 测试架构已经被有效的运用在除了o s i 一致性测试的很多领域,比如说 a t m 协议测试中,但是事实证明c t m f 架构并不能一般性的解决实时和性能测试, 也不能解决分布式架构的实施需要。为了提高分布式测试系统的适用性和灵活 性,学术界提出了各种分布式测试系统的架构模型。 基于开放分布式处理的基本参考模型,文献【2 4 】提出了一种通用的分布式测 试结构。在该结构中,i u t 具有多个端口,测试系统包含多个测试器,每个端口 上放置一个测试器。当端口数为2 时,该通用分布式测试结构就变成了i s o i e c 9 6 4 6 中的分布式测试结构,如图2 7 。 2 2 1c s 分布式架构 图2 7 通用分布式测试结构 为满足测试技术的发展要求和各行各业对测试技术的要求,特别是自动化测 试技术的发展要求,电气电子工程师协会( i e e e ) 制定了一系列的标准。其中的 a i e s t a t e ( i e e e - s t d1 2 3 2 1 9 9 5 ) 标准定义了测试和故障诊断之间信息交换,其 全称为自动化测试平台的人工智能服务和信息交换( a r t i f i c i a li n t e l l i g e n c e e x c h a n g ea n ds e r v i c et i et oa l lt e s te n v i r o n m e n t ) ,其理论框架如图2 8 。 m - e s t a t e 的理论框架包括测试系统、故障诊断推理系统、应甩执行系统、 知识数据库管理系统、维护数据收集系统、被测对象系统等。图中表明了它们 各自可以具有的数量。这些子系统是在测试和诊断领域内的特有的功能系统,而 且它们也可以被称为组件。a i e s t a t e 规范了这诸多子系统的数据和信息交换的 规范。 m - e s t a t e 的理论框架包括测试系统、故障诊断推理系统、应用执行系统、 1 0 中国科学技术大学硕士学位论文 知识数据库管理系统、维护数据收集系统、被测对象系统等。图中表明了它们 各自可以具有的数量。这些子系统是在测试和诊断领域内的特有的功能系统,而 且它们也可以被称为组件。舡一e s t a t e 规范了这诸多子系统的数据和信息交换的 规范。 推理机系统 ( 一个或多个) 应用执行系统 ( 零个或多个) 测试系统 ( 一个或多个) 维护数据收集系统 ( 零个或多个) 知识,数据库 管理系统 ( 零个或多个) 被测对象( u u t ) ( 一个或多个) 图2 8a i e s t a t e 理论框架 a i e s t a t e 的理论框架包括测试系统、故障诊断推理系统、应用执行系统、 知识数据库管理系统、维护数据收集系统、被测对象系统等。图中表明了它们 各自可以具有的数量。这些子系统是在测试和诊断领域内的特有的功能系统,而 且它们也可以被称为组件。a i e s t a t e 规范了这诸多子系统的数据和信息交换的 规范。 a i e s t a t e 允许有多个推理机,每个推理机可以由不同的技术来实现,但它 们必须用同样的服务接口和其他的子系统进行交流;测试系统是测试的执行机 构,它包含测试仪器等;u u t ( u n i tu n d e rt e s t ) 是被测对象;数据库和知识库 提供数据和知识管理等服务;维护数据收集系统包含对u u t 的历次测试数据。应 用执行系统是用户和一个a i e s t a t e 系统的交互界面,用户在这里发出测试要求, 然后应用执行系统与其他系统交互共同来完成测试。子系统之间的交互要通过通 信通道提供的服务,通信通道的概念是一个抽象的概念,它可以是任何一种数据 传输的通道如命名管道、t c p i p 协议等等。 根据i e e e s t d l2 3 2 1 9 9 5 ,a i e s t a t e 框架是“一个理论上的框架,a i e s t a t e 应用程序可以使用任何几个子系统( 组件) 的组合来完成”。根据i e e e - s t d1 2 3 2 1 1 9 9 8 ,标准详细的规定了故障诊断组件( 系统) 提供的服务,这些服务被认为是 “从系统其他组件( 子系统) 发出的服务要求的响应”,特别的,“每个组件( 子 系统) 通过应用执行系统来与推理机交互。而且要提供他们自己的服务接口给其 他组件”。所以可以看出,a i e s t a t e 并没有规定组件( 子系统) 之间的通信模式, 中国科学技术大学硕士学位论文 事实上采用了c s ( 客户机服务器) 的模式。 尽管a i e s t a t e 的标准是测试和故障诊断之间信息交换的标准,并不是专门 为了分布式测试定制的标准。测试的功能之一就是故障诊断,因而,在某种意义 上,a 1 一e s t a t e 也定义了分布式测试系统的一般性框架。 在实现上,分布式测试系统一般采用c s 架构睁蚋,即客户端服务器架构, 从功能划分上讲,测试系统中常包含这几个部分: 中心服务器:具有网络互联能力,服务于测试应用的计算机系统。它能够响 应测试用户请求,回应测试结果,管理维护测试数据,代理测试系统管理,为测 试系统提供高层次数据互联。中心服务器可能是一个或者多个,即中心服务器也 可以是分布的架构。 测试执行器:具有网络互联能力,响应设备管理请求,用于测试数据存取、 执行。在测试环境比较复杂的情况下,测试执行器也可以是测试服务器和多个测 试执行器的架构( 即也可以是一个c s 架构) 。 标定服务器:具有网络互联能力,响应设备管理请求,能够控制标定设备, 实现测试设备标定的计算机系统。标定服务器是在 2 5 中首次引入的概念,进一 步的描述可以参见 3 1 。 2 2 2 分布式协议测试结构 在c s 的分布式测试系统架构中,中心服务器也可以看作是主测试组件( m t c , m a i n t e s tc o m p o n m e n t ) ,而一般的测试执行器则可以看作是从并发测试组件 ( p t c ,p a r a l l e lt e s tc o m p o n m e n t ) 依据m t c 与t c ( t e s tc o m p o n m e n t ) 的关系, 目前已经提出了3 种分布式架构的协议测试框架:平行分布式测试结构( p d t f , p a r a l l e ld i s t r i b u t e dt e s tf r a m e w o r k ) 、中央控制的分布式测试结构( c c d t f , c e n t r a lc o n t r o ld i s t r i b u t e dt e s tf r a m e - w o r k ) 、增强的中央控制分布式测 试结构( e c c d t f ,e n h a n c e dc c d t f ) o “1 。它们的区别在于t c 之间以及t c 与i u t 之间的配置关系,图2 9 ( b d ) 分别画出了总t c 数为3 时它们的配置关系,其中 p c o ( p o i n to fc o n t r o la n do b e r s e r v a t i o n ) 为观察控制点,c p ( c o o r d i n a t i o n p o i n t ) 为协同点。四种架构在配置和性能上均有区别, 3 5 中作者对四种架构 使用g s p n ( 广义随机p e t r i 网,g e n e r a l i z e ds t o c h a s t i cp e t r in e t ) 进行了建 模比较,得出架构的性能由系统中并发t c 的个数决定,当并发t c 个数一般时,适 合使用p d t f 或e - - c c d t f 架构,而当t c 比较多时,适合使用c c d t f 架构,也就是说, 并发测试组件的个数会直接影响整个测试架构的性能。 中国科学技术大学硕士学位论文 ( a ) 单机架构 m ( c ) c c d t f 结构 l ! ! 降 到 l :op ( i u t ( b ) p d t f 结构 彭& y 翌 倒乜蛰 :o 午干p ( i , i u t ( d ) e - c c d t f 结构 图2 9 协议测试架构 从实现的角度考虑,分布式测试系统通常采用中间件技术或其它网络技术如 s o c k e t ,w e b 等删。目前主要流行的中间件技术主要有o m g 组织制定的c o r b a 标准、m i c r o s o f t 的c o m d c o m 和s u n 的j a v ar m i 等。其中c o r b a 是开发分布式计 算应用中间件( m i d d l e w a r e ) 的工业标准。c o r b a 的界面是硬件和操作系统独立的, 并且可用各种支持和实现i d l ( i n t e r f a c ed e f i n el a n g u a g e ) 映射的程序语言进 行系统开发。d c o m 是m i c r o s o f t 组件对象模型( c o m ) 的分布式扩展,使其能够支 持在局域网,广域网甚至i n t e m e t 上不同计算机的对象之间的通信,比较适合应用 于w i n d o w s 环境下的分布式开发。j a v ar m i ( r e m o t em e t h o di n v o c a t i o n ) 技术允 许在不同的j a v a 虚拟机( j a v a v i r t u a lm a c h i n e ,y v m ) 之间进行对象闻的通信。从体 系结构、对象服务、跨平台跨语言支持方面比较而言c o r b a 比另外两种更占有 优势。s o c k e t 基于t c p i p 协议,具有最大的适应度,但是需要自主开发所需要的 各种应用服务和功能,实现具有一定的难度。 中国科学技术大学硕士学位论文 2 3 基于t t c n 3 方法的分布式测试系统 2 3 1t t c n 3 语言 在早期的协议一致性测试中,测试套都是用程序设计语言直接编写的,工作 量大,修改不方便,且容易受测试平台的限制。为此,c t m f 中专门定义了一种抽 象测试套描述的形式化语言- - t t c n ,它具有明确的语法和语义,专门针对测试 领域提供了很多有用的语法元素,并且是可执行的。有关t t c n 的工作最早由i s o t c 9 7 s c l 6 启动,i t i j - t ( 国际电信联盟电信标准部) 和e t s i ( 欧洲电信标准局) 的相 关研究机构也相继加入,历经2 0 余年的发展,t t c n 先后发布了三个版本 t t c n i ,t t c n 一2 和t t c n 一3 ,显示了t t c n 语言的演化进程,其中t t c n 一2 在c t 肛中正 式作为协议一致性测试体系的组成部分出现,在电信协议测试领域获得了广泛的 应用。 尽管最初的设计只是考虑将其应用于o s i 协议的一致性测试,但是t t c n 仍然 在该领域外获得了一定程度的认可,如软件测试,最新版本的t t c n 语言( t t c n 一3 ) 更是朝着成为一种通用的专业测试语言方向发展,在互操作性测试,健壮性测试, 衰退测试,系统测试和集成测试以及各种新出现的测试应用领域,例如移动协议, 因特网协议,服务测试,模块测试等方面显示了广阔的应用前景, t t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年内科常见疑难病例诊断与治疗模拟卷答案及解析
- 2025年中石油共享运营有限公司秋季招聘(27人)笔试模拟试题及答案解析
- 2025年皮肤科诊断与治疗方案设计模拟考试卷答案及解析
- 2025年预防保健科健康风险评估与干预模拟测试答案及解析
- 2025年医学影像学报告书写规范及解读综合测试卷答案及解析
- 淮安市中石化2025秋招面试半结构化模拟题及答案油田工程技术岗
- 宝鸡市中石化2025秋招面试半结构化模拟题及答案机械与动力工程岗
- 2025年中级经济师资格考试(知识产权专业知识和实务)冲刺模拟试题及答案
- 初级经济师资格考试(金融专业知识和实务)考前冲刺试题及答案(2025年北京市)
- 株洲市中石油2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 物流配送调度管理系统设计方案
- 35kV线路工程电杆安装施工方案
- 上甘岭战役课件
- GB/T 45951-2025科技馆常设展览实施通用流程
- 新生儿硬肿症个案护理
- (2025)汽车驾驶员(技师)考试题库及答案
- 2025年全科医师转岗培训理论必刷试题库及答案
- 城市智能感知系统-洞察及研究
- 中储粮损耗管理办法
- 2025年《治安管理处罚法》新修订课件
- 【课件】有理数的加法(第1课时+有理数的加法法则)(课件)数学人教版2024七年级上册
评论
0/150
提交评论