(计算机应用技术专业论文)基于ttcn3的测试执行与实现.pdf_第1页
(计算机应用技术专业论文)基于ttcn3的测试执行与实现.pdf_第2页
(计算机应用技术专业论文)基于ttcn3的测试执行与实现.pdf_第3页
(计算机应用技术专业论文)基于ttcn3的测试执行与实现.pdf_第4页
(计算机应用技术专业论文)基于ttcn3的测试执行与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于ttcn3的测试执行与实现.pdf.pdf 免费下载

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

文档简介

中国科学技术大学硕士学位论文 摘要 摘要 计算机网络协议测试是可以保证计算机网络各个部分相互连接和可靠操作 的重要技术。随着计算机网络的普及,计算机网络协议测试成为日益活跃的科研 领域。协议测试包括一致性测试、互操作性测试和性能测试。一致性测试是其它 两种测试的基础。 近些年计算机硬件技术和软件技术蓬勃发展,国际标准日趋完善。t r c n ( t r e ea n d t a b u l a r c o m b i n e d n o t a t i o n ) 是国际标准中协议一致性测试框架的部 分,最新的t i c n 3 ( t e s t i n g a n d t e s tc o n t r o ln o t a t i o n ) 标准不再局限于一致性测 试,已经推广到互操作性测试、软件测试领域、系统及集成测试等方面,其类程 序式语言的特性使得t t c n 3 的用途越来越广泛。从实际应用的角度出发,将标 准转化为一个现实可用的系统是一项复杂的工作。 本文通过研究测试框架标准,分析测试系统的理论模型,以面向对象和可复 用设计的思想为指导,从框架搭建到模块细化,再具体到每个模块的分析和设计 实现过程,研究并实践了“需求”一“设计”一“实现”的软件开发过程。 本文对一致性测试工作流程、测试方法和系统结构进行了详细的介绍,具体 分析了t t c n 2 测试执行机原理,之后在具体介绍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 面向对象设计测试执行 中国科学技术大学硕士学位论文 a b s t r a c ty1 0 7 7 6 0 2 c o m p u t e rn e t w o r kp r o t o c o lt e s t i n gi sa l l _ i m p o r t a n tt e c h n o l o g yw h i c he n s u r e s t h ec o n i u n c t i o na n dr e l i a b l eo p e r a t i o no fa l lp a r t so fc o m p u t e rn e t w o r k w i l ht h e p o p u l a r i z a t i o no fc o m p u t e rn e t w o r k ,c o m p u t e rn e t w o r kp r o t o c o lt e s t i n gi sb e c o m i n g a l la c t i r es c i e n t i t i cr e s e a r c hf i e l d i n c r e a s i n g l y , p r o t o c o l t e s t i n g c o n s i s i so f c o n f o r m a n c e t e s t i n g ,i n t e r o p e r a t e a b i l i t yt e s t i n g a n d p e r f o r m a n c et e s t i n g c o n f o r m a n c et e s t i n gi st h ef o u n d a t i o no ft h eo t h e rt w ot e s t i n g s c o m p u t e rh a r d w a r ea n ds o f t w a r et e c h n o l o g i e sa r ed e v e l o p i n gw i t hh i g hs p e e d s d u r i n gt h e s ey e a r s ,i n t e m a t i o n a ls t a n d a r d st e n dt ob e c o m ep e r f e c td a yb yd a y t t c n : t r e ea n d1 h b u l a rc o m b i n e dn o t a t i o ni sap a r to fc o n f o r m a n c et e s t i n gm e t h o d o l o g y a n df r a m e w o r ki ni n t e m a t i o n a ls t a n d a r d s t h eu p t o d a t et r c n 3 :t e s t i n ga n dt e s t c o n t r o ln o t a t i o ni sn o tf c s t r i c t e dt oc o n f o r m a n c et e s t i n ga n dc a nb eu s e df o rm a n y o t h e r k i n d so ft e s t i n gi n c l u d i n gi n t e r o p e r a t e a b i l i t y ,s o f t w a r e ,s y s t e ma n di n t e g r a t i o n t e s t i n g i ti sap r o g r a m m i n g l i k et e s t i n gl a n g u a g e , w h i c hm a k e si t su s em o r ea n d m o r ew i d e l y i np r a c t i c e ,t h ei o bo fr e a l i z i n gas t a n d a r di sr e a l l yd i f f i c u l t b ys t u d y i n gt h es t a n d a r d so ft e s t i n gm e t h o d o l o g y ,a n a l y z i n gt h et h e o r i e so f d i f f e r e n tt e s t i n gs y s t e r nm o d e l s ,f o l l o w i n go b j e c t o r i e n t e dd e s i g nm e t h o da n d c o d e r e u s ep r i n c i p l e s ,l o i so fw o r k sh a v e b e e nd o n eo nb u i l d i n gt h ea r c h i t e c t u r e , d i v i d i n gi ti n t om o d u l e s ,d e s i g n i n ga n di m p l e m e n t i n ge a c hp a r to fi t , a n dh a v e b e i n g c a r r i e d o u tt h e p r o c e s so f ! r e q u k e m e n ts p e c i f i c 一“d e s i g n “i m p l e m e n t a t i o n i nt h i st h e s i s ,t h ec o n f o r m a n c et e s t i n gp r o c e s s ,m e t h o d sa n ds y s t e ms t r u c t u r e a r ei n t m d u c e d ,a n dt h et h e o r yo ft t c n 2t c s te x e c u t o ri sa n a l y z e di nd e t a i l b a s e d o na n a l y z i n gt h es t a n d a r d so f t t c n 3 ,w ed e s i g na n dr e a l i z et i n 3t e s ts y s t e r nb y u s i n go b j e c t o r i e n t e dm e t h o d a n dt h r e ek e ym o d u l e so ft h et e s te x e c u t o r , c o m p i l i n g p r o c e s s , m e m o r yo b j e c t sa n de x e c u t i o nm a n a g e m e n t ,a r et h o r o u 曲l ya n a l y z e d w i t h o b f e c t o r i e n t e dm e t h o d ,t h ed e s i g n o f c o m p i l e r - c l a s s , e x e c u t o r - c l a s s , d a t a o b i e c t c l a s s e sa n de x e c u t a b l e o b j e c t c l a s s e si sa n a l y s e di nd e t a i l a n da l s o ,i t i s c o n c r e t e l yi n t r o d u c e d ,t h ee x e c u t a b l e o b j e c t t r e eg e n e r a t e db yt h em e m o r y o b j e c i sa n dc o m p o n e n t sm a n a g e m e n to fm u l t i t h r c a d l i k es c h e d u l e t h ed e s i g na n di m p l e m e n t a t i o no ft i c n 3t e s ts y s t e r nh a sa na c t i v em e a n i n gt o t h ef a r t h e rr e s e a r c ho fp r o t o c o lt e s t i n gf i e l da n dt 陀n 3l a n g u a g e k e y w o r d :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 v e r s i o n 3 o b j e c t o r i e n t e dd e s i g n t e s te x e c u t i o n 中国科学技术大学硕士学位论文第1 章引言 1 引言 1 1 研究背景 随着计算机网络的普及,o s i 参考模型和t c p i p 协议已被广泛地接受。面对 当前的实用性为先导的计算机网络产品,各个不同厂家的网络产品在互联中兼容 性较差或是根本就不兼容。如果网络产品先经过协议测试,再进行互联,就会使 网络互联的准确性和可靠性得到相对保障。测试技术的研究不仅将影响到网络技 术的进步,也将影响到世界网络市场的竞争和发展。 随着计算机硬件技术发展,软件技术也在蓬勃发展:从机器语言到面向对象 式的高级语言,从操作系统到高层应用软件,从网络互联到网络高层应用,软件 技术在人们工作、生活等各个方面起着至关重要的作用。由此,通过“需求一设计 一实现一测试”等步骤形成的软件,其开发、维护、质量保证日益成为人们关注的 方向,软件工程应运而生。软件工程融合了以人为本的组织管理方法和以技术为 本的开发运用研究。b j a r n es t r o u s t r u p 在c + + p r o g r a m m i n gl a n g u a g e 一书 中指出,c 到c + + 发展过程中,程序设计结构经历r “顺序式程序结构一模块式程 序结构一对象式程序结构一泛式程序结构”的过程e 2 0 。同时,c 语言的发展过 程也反映了软件工程技术发展的历程:顺序式程序结构一模块式程序结构一对象 式程序结构一“模式”和泛型程序结构。 随着协议测试成为日益活跃的科研领域,对于协议测试标准的要求也越来越 高,一种类程序语言t t c n 3 就是这样环境下的产物。实现高效、完善的计算机网 络协议测试系统是继t t c n 3 规范出台后协议测试研究的一个重要方向。随着中国 加入w t o ,中国网络电子企业如何在竞争激烈的商战中站稳脚跟,这就需要实现 网络产品与国际标准的一体化。新一代的测试描述语言t t c n 3 对协议测试的支持 更为完善,实现基于t t c n 3 规范的自动化的测试执行变得十分必要。它不仅可以 对从国外引进的产品进行测试,验证其和国际标准的一致性和安全性,而且可以 用来测试自行研制开发的网络设备和网络软件,发现其中存在的错误,指导实际 的研制开发工作。 国内研究协议测试较早的主要有中国科技大学、清华大学、复旦大学、内蒙 古大学等,近两年各大专院校也相继开始了这方面的研究。其中清华大学设计的 协议集成测试系统p i t s 2 7 ,采用一种扩展标号变迁系统e t s 模型,实现了基于 形式化的技术 2 8 ,并致力于该系统具备进行协议一致性测试、协议互操作性测 试和性能测试的能力,取得了研制的成功。然而,随着t t c n 的发展,t t c n 3 这种 类程序语言的多种高级特性扩展了其使用领域( 在第四章有详细介绍) ,因此, t t c n 3 测试系统的研究、设计和实现显得尤为重要。 中国科学技术大学硕士学位论文 第1 章引言 1 2 研究内容 作者在攻读硕士研究生学位期间,有幸参与导师蒋凡教授组织的一系列“t t c n 测试平台”研发活动。在不短的五年时间中,对上述软件工程研究方向做一些研 究,在理论上得到较大的收获,从实践中获得了不少经验。本文作者伴随着t t c n 标准的不断更新与完善:也经历了从t t c n 到并发t t c n 2 ,再封t t c n 3 测试执行平 台的设计与实现的整个过程。参与了t t c n 2 及t t c n 3 测试平台的设计与实现,完 成了开题报告中曾定下的目标,对在实际工作中遇到并解决的问题有了更为系统 的思考。 1 仔细研究分析标准t t c n 2 与t t c n 3 的联系与区别的基础上,完成t t c n 2 、 t t c n 3 测试执行平台的设计与实现,参与了整个项目的研究开发和实现的过程。 关键点在于标准t t c n 3 与t t c n 2 的联系与区别。从框架搭建到模块细化,再具体 到每个模块的分析和设计实现过程,研究并实践了“需求”一“设计”一“实现” 的迭代( i t e r a t i v e ) 过程。 2 以t t c n 3 规范为基础,采用面向对象方法对行为树的展开进行设计,类似 于动态展开。行为树的静态展开是指在对测试套的编译过程中,对各种扩展语句 进行扩展,需要遍历所有行为行,生成一棵完整的行为树,a t s 稍微有改动的情 况下,都必须重新生成对应的e t s 。而行为树的动态展开是指在对已编译的测试 套执行过程中,动态地对执行扩展语句进行扩展,形成针对该测试套的执行树, 它只遍历执行的行为行,因此动态展开的效率要高。 3 分析与设计并发测试组件的调度算法。m t c 通过c r e a t e 产生p t c ,而p t c 和m t c 之间是可以并发执行的,而t t c n 3 提出了动态并发执行,并新增加了一个 抽象测试系统接口( a b s t r a c tt e s ts y s t e mi n t e r f a c e ) 用于联接被测系统,基 于已实现的f i f o 调度算法,设计符合t t c n 3 规范的类似多线程调度的测试组件的 改进调度算法。 4 在t t c n 3 测试执行平台,提供了友好的用户界面,并在测试过程中通过设 定断点、设定执行方式实现了实时跟踪和调试功能,增强了测试系统的实用性。 以上这些内容,构成本文的主体和核心。t t c n 标准作为被实现的对象,其本 身的需求、特点和应用也是研究的主要内容,因此,本文用了必要的篇幅描述 t t c n 3 标准,这是为t t c n 3 测试系统的实现必须进行的准备工作。 1 3 本文结构 本文由六章组成: 第一章,引言:介绍研究课题的背景资料和主要研究内容,并简述本论文的 章节安排和文中所引用常用术语的英文缩写对照。 第二章,协议一致性测试技术:首先介绍协议测试及协议一致性测试技术的 基本概念和相关理论,然后进一步具体分析了一致性测试工作流程及步骤。 第三章,t t c n 测试系统:在介绍协议测试系统抽象测试方法和测试系统结构 1 这些活动包括:t r c n 2 测试执行平台项目( 编译、编解码、执行器部分) ;t t c n 3 测试执行预研项目( 主 体) t r c n 3 测试执行平台项日都是以软件研究和开发为耳标的项目。 中国科学技术大学硕士学位论文第1 章引言 的基础上,详细介绍了t t c n 2 测试执行机的实现模型。 第四章,t t c n 3 标准:详细介绍了t t c n 的发展,t t c n 3 最新标准的特性及应 用、发展前景。 第五章,t t c n 3 测试执行的设计与实现:首先分析了t t c n 3 测试系统结构, 然后详细分析了1 v r c n 3 测试执行的设计与实现。 第六章,结束语:对论文全文做一个概要性的总结,并指出今后研究的方向。 最后是参考文献和附录。 1 4 本文说明 本文正文采用小四号宋体,程序采用五号宋体。文中涉及的术语尽可能用中 文形式,但对于一些习惯性用英文简写表示的术语,则直接使用英文缩写,作者 按照字母顺序整理如下: 英文缩写英文全称及中文 a p i a p p li c a t i o np r o g r a mi n t e r f a c e ( 应用编程接口) 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 ( 抽象语法记法) a s pa b s t r a c ts e r v i c ep r i m i t i v e ( 抽象服务原语) a t s a b s t r a c tt e s ts u i t e ( 抽象测试套) a t s i a b s t r a c tt e s ts y s t e mi n t e r f a c e ( 抽象测试系统接口) b e r b a s i ce n c o d i n gr u l e s ( 基本编码规则) b n fb a c k u sn o r m a lf o r m ( 巴柯斯范式) c c e c o m p i l e - c o m p i l e e x e c u t e ( 编译一编译一执行方法) c d c o d i n g d e c o d i n g ( 编解码) c e r c a n o n i c a le n o c d i n gr u l e s ( 规范编码规则) c h c o m p o n e n th a n d l e r ( 组件管理) c p c o o r d i n a t ep o i n t ( 协调点) c m c o o r d i n a t em e s s a g e ( 协调消息) d e r d i s t i n g u i s h e de n c o d i n gr u l e s ( 区剐编码规则) d l l d y n a m i cl i n k a g el i b r a r y ( 动态链接库) e c d e x t e r n a lc o d e c s ( 外部编解码器) e o t e x e c u t a b l eo b j e c tt r e e ( 可执行对象树) e t se x e c u t a b l et e s ts u i t e ( 可执行测试套) 中国科学技术大学硕士学位论文 第1 章引言 e t s i e u r o p e a nt e l e c o m m u n i c a t i o ns t a n d a r d si n s t i t u t e ( 欧洲通讯 标准学会) f i f of i r s t i nf i r s t o u t ( 先入先出) i d e i n t e g r a t e dd e v e l o pe n v i r o n m e n t ( 集成开发环境) i d l i n t e r f a c ed e f i n i t i o nl a n g u a g e ( 接口定义语言) i e ci n t e r n a t i o n a le l e c t r o t e c h n i c a lc o m m i s s i o n ( 国际电工委员会) i s oi n t e r n a t i o n a ls t a n d a r d i z a t i o no r g a n i z a t i o n ( 国际标准化组 织) i u t i m p l e m e n t a t i o nu n d e rt e s t ( 被测实现) o s i - r m o p e ns y s t e mi n t e r c o n n e c tr e f e r e n c em o d e l ( 开放式系统互联 参考模型) p ap l a t f o r ma d a p t e r ( 平台适配器) p c op o i n to fc o n t r o la n do b s e r v a t i o n ( 控制观察点) p d up r o t o c o ld a t au n i t ( 协议数据单元) p e rp a c k e de n c o d i n gr u l e s ( 压缩编码规则) p i c s p r o t o c o li m p l e m e n t a t i o nc o n f o r m a n c es t a t e m e n t s ( 协议实现 一致性说明) p i x l tp r o t o c o li m p l e m e n t a t i o ne x t r ai n f o r m a t i o nf o rt e s t i n g ( 协 议实现测试附加信息) p r c p a r a l l e lt e s tc o m p o n e n t ( 并行测试组件) p t ip a c k e tt r a n s m i t t i n gi n t e r f a c e ( 包传输接口) l tl o w e rt e s t e r ( 下测试器) m s c m e s s a g es e q u e n c ec h a r tf o r m a t ( 消息传递序列图格式) m t c m a s t e rt e s tc o m p o n e n t ( 主测试组件) s as u ta d a p t e r ( 被测系统适配器) s a ps e r v i c ea c c e s sp o i n t ( 服务访问点) s u t s y s t e mu n d e rt e s t ( 被测系统) t at e s ta d a p t e r ( 测试适配器) t ct e s tc a s e ( 测试例) t c i t t c n 3c o n t r o li n t e r f a c e ( t t c n 3 控制接口) t c pt e s tc o o r d i n a t ep r o c e d u r e s ( 测试协调过程) t c p i pt r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e r n e tp r o t o c o l ( 传输控制 协议网际协议) 4 中国科学技术大学硕士学位论文第1 章引言 t et e s te x e c u t a b l e ( 测试执行机) t m t e s tm a n a g e m e n t ( 测试管理端) t m c t e s tm a n a g e m e n ta n dc o n t r o l ( 测试管理与控制) 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 运行期接口) t s i t e s ts y s t e mi n t e r f a c e ( 测试系统接口) 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 ( 树表结合表不法) r r 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 ( 测试和测试控制表不法) u t u p p e rt e s t e r ( 上测试器) 5 中国科学技术大学硕士学位论文 第2 章协议一致性测试技术 2 协议一致性测试技术 当人们提及计算机,反映在人们头脑中的不再是台台孤立的微机,而是一 个网络,一个拥有数百乃至更多台计算机的网络。人们可以非常自由方便快捷地 获取共享全球的信息。计算机通信网络的核心是数据通信设施,这个设施可以是 p s d n ( p u b l i cs e r v i c ed a t an e t w o r k s ) ,专用l a n ( l o c a la r e an e t w o r k s ) ,或 若干个互连再一起的l a n s 。不管数据通信设施的类型如何,在每个连接的计算机 内部都需要有一定数量的硬件和软件来处理依赖于网络的协议,这些协议负责在 网络上建立通信通道和控制通过通道的信息流。协议测试也随着网络的广泛应用, 成为热门话题。在本章中,将介绍协议测试的概念和类型,一致性测试的定义和 工作流程。 2 1 协议测试概述 2 1 i 协议游试的概念 计算机和通信的结合,促使了计算机网络技术和分布式计算机系统的出现和 趋于成熟。为了使得各个计算机系统成功地进行通信,就必须为这种通信行为制 定一组规则。协议就是用在分布式计算机系统中,将各个不同部分连接起来的通 信管理规则。各个计算机系统必须遵守规则,才能相互理解,实现自由、成功、 可靠的通信。 为了使得来自不同厂家的系统能够成功地进行通信,必须有标准化的协议, 这种需求导致了o s l 参考模型和t c p i p 协议集的制定和广泛的普及使用。越来越 多的研究人员关注于协议工程和形式化技术在协议工程学领域中的应用研究。协 议工程学包容了协议开发过程中的各个阶段,它试图在协议设计、描述、验证、 测试和实现等过程中使用形式化技术加速和完善协议的开发过程 2 2 。 协议测试理论是协议工程学的一个重要分支。因为协议标准基本上是使用自 然语言描述的,实现者对于协议的不同理解会导致不同的协议实现,甚至会是错 误的实现。因此需要种有效的方法对协议实现进行判别,以确保协议的实现之 间能成功她进行通信,这就是“协议测试”。 测试是试图通过实验的方法找出错误的过程。在测试过程中既要模拟协议实 现正常工作的情况,也要模拟异常使用情况;既要模拟协议实现单独运行的情况, 也要模拟协议实现之间相互通信的情况。这样才能确信在任何使用情况下系统的 正常工作状况。由于一个系统进行无穷尽的测试是不现实的,所以测试并不能保 证一个协议实现的完全正确性,即测试只能表明“存在错误”,而不能证明“不存 在错误”。这是协议测试的一个基本出发点。 协议实现和协议测试是协议工程的两个重要内容 2 1 。形式化的协议标准是协 议实现和协议测试的出发点。根据形式化的协议标准构造抽象测试套( a t s ) ,使 用t t c n 语言描述对该协议各项功能的测试过程。经过某种方式的转化,抽象测试 套成为可执行测试套( e t s ) ,这样可以被测试器( t e s t e r ) 加载和执行。同时, 中国科学技术大学硕士学位论文第2 章协议一致性测试技术 根据协议标准实现的协议作为被测实体i u t 被嵌入在被测系统s u t 中,与t e s t e r 连接形成整个测试系统。t e s t e r 执行e t s 后,由测试判决分辩被测协议实现是否 达到了协议标准的要求。这个过程可以用图2 1 形象地表示。 2 1 2 协议测试的类型 图2 1 协议实现和协议测试流程 协议测试包含有三种类型的测试。 1 一致性测试( c o n f o r m a n c et e s t i n g ) :旨在检测所实现的协议实体( 或系 统) 与协议规范的符合程度。 2 互操作性测试( i n t e r o p e r a t e a b i l i t yt e s t i n g ) :旨在检测同一种协议的 不同实现版本之间,或同一类协议的不同实现版本之间互通的能力和互操作能力。 3 性能测试( p e r f o r m a n c et e s t i n g ) :旨在检测协议实体或系统的性能指标 ( 数据传输率,联接时间,执行速度,并发度等) 。 一致性测试是其它两种测试的基础。协议测试中的一致性测试是一种“功能 测试”( “黑盒测试”) 。它只是依据一个协议的描述对协议的某个实现进行测试, 只对协汉实现的外部可观察行为进行测试,而不涉及实现的内部结构,被测试系 统被看作一个黑盒。另外,协议测试还可以对协议实现的某些性能进行测试,如 健壮性、吞吐量等。 中国科学技术大学硕士学位论文第2 章协议一致性铡试技术 2 2 协议一致性测试 2 2 1 一致性定义 在o s i 范畴内,如果个实际系统在它与别的实际系统通讯中所表现的行为 符合o s i 协议规范的一致性要求,就说它呈现了一致性。o s i 协议规范的一致性要 求属于协议规范文本的一部分,它包括静态一致性要求和动态一致性要求两个方 面。前者说明协议实现者必须实现的最小子集的内容,定义各类协议或各个子集 的内容( 即协议实现者欲实现某类协议所必须包括的内容) ,定义协议数据单元 ( p d u ) 的最大长度,定义各种协议参数、变量、定时时钟的取值范围等。后者说 明协议执行过程中,协议在每个状态下所允许的行为是什么。i s o 颁布的o s i 协议 已包括一致性要求文本,这些文本称为协议实现一致性说明( p i c s ) 和协议实现 测试附加信息( p i x i t ) 。 2 2 2 一致性测试工作流程 协议一致性测试工作流程如图2 2 所示。 图2 2 一致性测试工作流程 中国科学技术大学硕士学位论文第2 章协议一致性测试技术 协议规范、服务规范以及根据两者制定的协议一致性说明p i c s 和协议测试的 附加信息p i x i t 都是由标准化组织颁布的。协议一致性测试进行的工作分四步进 行。 第一步:根据协议规范、服务规范确定测试目的; 第二步:生成并描述测试套( t e s ts u i t e ) ; 第三步:测试套对被测试的协议实体或系统i u t 进行测试; 第四步:根据测试记录参照p i c s 和p i x i t 对i u t 进行评估,并给出测试报告。 2 2 3 一致性测试级别 对于动态一致性要求,需通过一组组的测试来完成,测试总是由低级向高级 逐级进行,分为四级。 1 基本互联测试( b a s i ci n t e r e o n n e c t i o nt e s t ) :旨在检查i u t 是否具备 进一步测试的条件,是否有最小的联接能力,能否接收和发送数据。 2 能力测试( c a p a b i l i t yt e s t ) :旨在检测i u t 是否符合静态一致性要求。 3 行为测试( b e h a v i o u rt e s t ) :旨在测试i u t 是否符合动态一致性要求, 它又分为两级:覆盖性测试和穷尽性测试。覆盖性测试只要求测试序列历经i u t 的所有转换至少一次就可以,而穷尽性测试要求检查每个转换的前后状态。 4 一致性分解测试( c o n f o r m a n c er e s o l u t i o nt e s t ) :要求测试执行系统对 一致性要求逐项给出y e s n o 的肯定回答。 2 3 小结 在本章中,介绍了协议一致性测试的基本概念,由此,可以确定一致性测试 的步骤: 第一步:被测实体i u t 所对应的抽象测试套a t s 的生成。 第二步:测试准备工作。 ( 1 ) 与被测方协商p i c s 与p i x i t ; ( 2 ) 基于以上信息对测试套进行选择,产生本次测试的可执行测试套 e t s : ( 3 ) 双方配置过程,确保互通,为测试提供先决条件。 第三步:测试操作。 ( 1 ) 静态一致性分析:检查p i c s 是否符合静态一致性要求; ( 2 ) 测试行动( t e s tc a m p a i n e ) :这是对测试套的实际执行,并记录 测试判决。 第四步:测试报告生成。 生成协议一致性测试报告p c t r 和系统一致性测试报告s c t r 。 中国科学技术大学硕士学位论文 第3 章t t c n 测试系统 3t t c n 测试系统2 在本章中,将首先简介一致性测试标准,随后介绍协议测试系统抽象测试方 法和测试系统结构的基础上,详细分析了t t c n 2 测试执行机的实现模型。 3 1 测试标准l s o i e c9 6 4 6 一致性测试用于确信一个产品实际上是否与标准协议和实现方的共识相一 致,同协议标准一样,协议一致性测试的方法和框架也有自己的标准i s o i e c 9 6 4 6 。“协议一致性测试的方法和框架”这个标准是针对使用自然语言描述的协议 的测试而制定的,由五部分组成: 1 i s 0 i e c9 6 4 6 - 1 ;基本原理 8 2 i s o i e c9 6 4 6 - 2 :抽象测试套描述 9 3 i s 0 i e c9 6 4 6 3 :树表结合表示法t t c n 。随着网络技术的推广,t t c n 也 逐步在升级改进,现在使用的t t c n 3 指的是测试及测试控制表示法,将在第四章 第一节中详细介绍。 1 0 4 i s o i e c9 6 4 6 - 4 :测试实现 5 i s 0 i e c9 6 4 6 - 5 :一致性判定过程对实验室和客户的要求 3 2 协议一致性测试系统 3 2 1 抽象测试方法 为了制定标准协议,保证不同协议产品的互连和互通,国际标准化组织制定 个开放系统互连参考模型0 s i r m 。0 5 i 一贼按照功能将整个网络体系结构划分为 七层,每一层都有明确的功能定义。每一层的目的是向它的上层提供一定的服 务,并把这些服务是如何实现的细节对上层加以屏蔽。o s i 将每一层中活跃的元 素称为实体,实体既可以是硬件实体( 比如一块芯片) ,也可以是软件实体( 比如 一个进程) 。在不同机器上同一层内的实体叫做同层实体,同层实体问的信息交换 通过p d u 来完成。 n 层实体实现的服务为n + i 层所利用,n 层可能利用n 一1 层的服务来实现它自 己的服务。服务是在服务访问点s a p 提供上层使用。n 层s a p 是n + i 层可以访问n 层服务的地方。服务在形式上是用一组原语( 或操作) 来描述的,即抽象服务原 语a s p ,供用户和其它实体访问该服务时使用。 0 s i 的协议一致性测试方法使用了在特定点对被测协议实现的层间服务原语 和协议数据单元进行控制和观察的原理。抽象测试方法依据设置不同的控制观察 点,分别定义了本地测试( 1 0 c a l ) 和外部测试( e x t e r n a l ) 。本地测试适用在产 2 本文中提到的测试系统无特殊说明均指的是一致性测试系统 1 0 - 中国科学技术大学硕士学位论文 第3 章t r c n 测试系统 品内部测试,外部测试适用于远程的第三方测试i t 5 。现在的一致性测试多是外 部测试。外部测试还可进一步分成分布式( d i s t r i b u t e d ) ,协同式( c o o r d i n a t e d ) 和远程式( r e m o t e ) ,四种测试方法详见图3 l 每一种又可以根据不同的测试条 件分为单层的( s i n g l e l a y e r ) ,多层的( m u l t i l a y e r ) 或嵌入式的( e m b e d e d ) 。 本地测试方法中( 图3 卜a ) ,上测试器,下测试器和被测实体同处于一台机 器中,测试不需要低层通信系统的支持。被测实体和下测试器的接口设在被测实 体的底部,上测试器和被测实体的接口设在被测实体的上部。由于上测试器和下 测试器可以集成到一个程序中,因此,下测试器和上测试器的测试协同过程容易 实现。这种方法一般用于硬件测试中。 分布式测试方法中( 图3 卜b ) ,被测实体和上测试器处于同一机器上,下测 试器分布在远程测试场点的机器中。下测试器控制和观察在远程系统上的( n 一1 ) 层服务原语,此时下测试器扮演的是( n 1 ) 层服务使用者的角色。在本地的( n 1 ) 层服务边界上没有控制观察点,只能对n 层服务原语直接或间接地控制和观察。 l t 和u t 的测试协同过程由测试例体现。具体的测试中,可能需要对协议栈的每 一层由底向上分别进行测试。由于t c p 的通讯不能经过被测协议栈,若要实现t c p , 需要额外开辟一条通讯通路( 比如被测协议是t c p i p 网络协议,则需要以r s 2 3 2 等其它通路来实现t c p ) ,这种方法实现代价较大。该方法适合于测试高层协议实 体。 图3 1 四种测试方法的系统结构图 中国科学技术大学硕士学位论文 第3 章1 1 c n 测试系统 协同测试方法( 图3 1 - c ) 可以看作是对分布式测试的一种改进。引入专门的 测试管理协议( t m p ,t e s tm a n a g e m e n tp r o t o c 0 1 ) ,l t 和u t 同样分布于系统的异 侧,l t 与u t 之间通过t m p 实现测试协同过程,t c p 不用显式实现,丽是被隐式地 通过p d u 传递到u t 一端。这样的测试系统适于测试中间层协议( 当上层u t 已经 被验证为有效时) ,而且t c p 的实现被封装于测试套的p d u 中。 远程测试方法( 图3 卜d ) 省去了l t ,忽略t c p 过程。仅仅通过( n ) 层协议数 据单元和( n 一1 ) 层服务原语进行测试。测试例全部用( n 1 ) 层服务原语描述。这种 方式在无法控制和观察被测实体的上下边界时非常有用,它只能针对不需要u t 的i u t 系统,适合于被动式协议实体或服务型协议实体的测试。 几种方法中,除了分布式方法外,t c p 都不难实现。要测试的对象大多为中间 层协议,或是为不需要u t 的i u t 实现,所以测试系统只要支持协同测试方法和远 程测试方法即可。这样便解决了t c p 实现的问题。 除了上述四种测试方法之外,还有一种更复杂的测试方式称为多方测试,在 这种方式中,测试系统内可能有多个”和u t ,它可以模拟被测实体同时与多个 系统通信的情况,实现更有效的测试。但是在这种方式下,实现l t 与u t 的管理、 协调以及测试器之间的通讯等都有相当大的难度。 3 2 2 一致性测试系统 为了测试一个特定协议实现,一般需要将该实现放霞于特定的协议测试系统 中。国际标准组织专门制定了协议测试系统的框架。抽象层次上,协议测试的系 统结构如图3 2 所示。 被测试的协议实现位于被测系统中的第n 层,测试系统通过协调上测试器( u t ) 和下测试器( l t ) 对i u t 进行测试,协调动作由测试协调过程( t c p ) 完成,n 层 协议下方有更底层的协议支持l t 与i u t 之间的连接。 中国科学技术大学硕士学位论文 第3 章t r c n 测试系统 图3 2 一致性测试系统结构 这样的测试系统,有两个问题需要重点解决。第一个问题是l t 与i u t 之间的 通讯,由于i u t 是多样的,需要专门实现一组底层适配软件,它们中的每个负责 与一个i u t 进行通讯。第二个问题是l t 与u t 之间的协调工作,即如何实现t c p 。 l t 与i u t 的通讯,对不同的i u t ,它所处的位置可能不同,一般都需要特定 的适配软件来实现与i u t 的通讯。通过实现一个适配软件框架,将l t 与该框架的 通讯固定下来。这个适配框架则便于每个具体的适配软件嵌入其中,这样,对新 的i u t 系统,只要实现新的适配软件并嵌入框架中即可。 实际测试中,u t 和l t 内部又可能出现若干并发的测试组件,通过创建和协调 这些组件,可以实现更为复杂的测试。测试标准中将这种情况称为多方测试,如 图3 3 。这些测试组件的创建、组件之间的相互通讯都给测试平台的设计和实现 带来了更多需要解决的问题。 中国科学技术大学硕士学位论文 第3

温馨提示

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

评论

0/150

提交评论