(计算机软件与理论专业论文)rip协议族一致性测试的研究与实践.pdf_第1页
(计算机软件与理论专业论文)rip协议族一致性测试的研究与实践.pdf_第2页
(计算机软件与理论专业论文)rip协议族一致性测试的研究与实践.pdf_第3页
(计算机软件与理论专业论文)rip协议族一致性测试的研究与实践.pdf_第4页
(计算机软件与理论专业论文)rip协议族一致性测试的研究与实践.pdf_第5页
已阅读5页,还剩90页未读 继续免费阅读

(计算机软件与理论专业论文)rip协议族一致性测试的研究与实践.pdf.pdf 免费下载

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

文档简介

中周科学挫术人学倾f 学位论义摘世摘要随着通信技术的迅速发展,网络以及通信肌议闩益复杂。实际的网络避| = | = | 彩个网络设备组建而成的。作为网络的核心,路h _ 设备和运行存其j :的路m 汉丈现的正确性对网络性能起着举足轻重的作川j ,路l j 协议的致性测试足倮“捋种网络路由设备相互连通,f 确相互操作的重要手段。r i p 协议族的实现和配置简单而有效,因此在当今的网络中,尤其足巾小,叫网络中有着广泛的应用。在未来的几年毕,r i p 与i p v 6 十n 适应的r i p n g 协议版本也会使用在各种网络环境中。因此,r i p 协议族的实现效率高低对路由器的路山性能起着重要的作用。本文在分析了r i p i j 、议族( 包括r i p v l ,r i p v 2 t 1 r i p n g 挑议)的特点基础上对它们进行了一致性测试的研究,这首先需要建立一个致巾i :测试系统。为此,研究工作分四步来实施:首先设计测试系统的结构框架并开发实现:第二步是开发实现底层支持模块以及r i p 协议族的协议模块:第三步足编写较为完备的可执行测试套;最后是在实现的测试系统中完成对r l p 协议族的一致性测试。本文主要完成了以下几方面的工作:1 ) 系统介绍协议测试和形式化的相关理论,重点讨论了一致性测试的过程、模型、方法,以及协议的形式化模型、形式化描述和测试序列的生成方法。2 ) 根据协议的形式化理论和测试序列生成理论,对r i p 协议族的f s mj l ! ;化模型、s d l 形式化描述以及u i o 方法生成协议一致性测试序列进行了研究。3 ) 设计了基于t e l 的r i p 协议族测试环境,进而设计并实现了r i p 卧汉族的一致性测试系统。4 】丌发出r i p 协议族一致性测试的可执行测试脚本,并在实现了的测试系统中运行,完成了对r i p 协议族的一致性测试。关键词:r i p 协议族,一致性测试,测试方法,测试系统,t c中国科学技术人学f 6 i | i 。学位论义摘唑a b s t r a c tw i t ht h er a p i dd e v e l o p m e n to f c o r n m u n i c a t i o n7 l e c h n o l o g y ,t h es c a l eo f n e t w o r ka n di n t e r n e tp r o t o c o l sb e c o m em o r ea n dm o r ec o m p l i c a t e dt h er e a li n t e r n c li sc o n s t r u c t e db yv a r i o u si n t e r n e tc o m p o n e n t s a st h ec o r eo fn e t w o r k ,r o u t e r sa n dt h ec o r r e c t n e s so fp r o t o c o l sr u n n i n go nt h e ma r em o s ti m p o r t a n tt ot h ep e r f o r m a n c eo l 、n e t w o r k s t e s t i n go fr o u t i n gp r o t o c o l si sa l - ii m p o r t a n tm e a n st oa s s u r et h ec o m m u n i c a t i o na n dc o r r e c to p e r a t i o na m o n ga l lk i n d so fr o u t e r s t h er i pp r o t o c o l sa r ee a s yt ob er e a li z e da n dw o r ke f f i c i e n t l y t h e yh a v eb e e nw i d e l yu s e di nn e t w o r k s ,e s p e c i a l l yi nt h o s em e d i u mt os m a l ls i z en e t w o r k s i nt h ec o m i n gf u t u r e ,t h er 1 p n gp r o t o c o l ,w h i c hi st h ea d a p t e de d i t i o no fr i pi ni p v 6 w 川b eu s e di na l lk i n d so fn e t w o r ke n v i r o n m e n t s o ,t h ee f f i c i e n c yo fr i pm e a n sg r e a t l yt ot h er o u t i n gp e r f o r m a n c eo f r o u t e r s t h i sp a p e rr e s e a r c ho nt h ec o n f o r m a n c et e s t i n go fr i pp r o t o c o l s ( i n c l u d er i p v l ,r i p v 2a n dr i p n gp r o t o c 0 1 ) b a s e do na n a l y z i n gt h e i rc h a r a c t e r i s t i c s t h i sn e e d st ob u i l dac o n f o r m a n c et e s t i n gs y s t e m t h e r ef o u rs t e p si nt h ep r o c e s so fr e s e a r c h :f i r s t ,d e s i g na n di m p l e m e n tt h ef r a m e w o r ko t t h et e s t i n gs y s t e m s e c o n d ,d e v e l o ps u p p o r t i n gm o d u l e sa n dt h o s eo fr i pp r o t o c o l s t h ir d w o r ko u tt h ee x e c u t a b l et e s ts u i t e s f i n a l l y ,f i n i s ht h ec o n f o r m a n c et e s t i n go fr i pi nt h es y s t e mw h i c hh a db e e nd e v e l o p e d ,t h i sd i s s e r t a t i o nc o n s i s t so f f i v ep a r t so fw o r ka sf o l l o w s :1 ) i n t r o d u c et h et h e o r i e sr e l a t i n gt ot h ep r o t o c o lt e s t i n ga n dp r o t o c o lf o r m a l i z a t i o ns y s t e m a t i c a l l y d i s c u s st h ep r o c e s s e s ,m o d e l s ,m e t h o d so fc o n f o r m a n c e t e s t i n g ,a n df o r m a l i z e dm o d e l s ,d e s c r i p t i o n sa n dt e s t i n gs e q u e n c eg e n e r a t i o nm e t h o d so f p r o t o c 0 1 2 ) b a s e do nt h et h e o r i e so fp r o t o c o lf o r m a l i z a t i o na n dt e s t i n gs e q u e n c eg e n e r a t i o nm e t h o d s ,d or e s e a r c ho nt h ef s mf o r m a l i z e dm o d e l ,s d lf o r m a l i z e dd e s c r i p t i o no fr i pp r o t o c o l s ,a n da l s oh o wt og e n e r a t et h ec o n f o r m a n c et e s t i n gs e q u e n c eo f r i pu s i n gu i om e t h o d 3 1d e s i g nt h et e s t i n ge n v i r o n m e n tb a s e do nt c lo fr i pp r o t o c o l s t h e nm o v ef o r w a r dt od e s i g na n db r i n go u tt h ec o n f o r m a n c et e s t i n gs y s t e mo fr i pp r o t o c o l s 4 ) d e v e l o pt h ee x e c u t a b l et e s ts c r i p t so fr i pc o n f o r m a n c et e s t i n g a n df i n i s ht h et e s ti nt h ep r a c t i c a ls y s t e mw h i c hh a sb e e nd e v e l o p e d k e yw o r d s :r i pp r o t o c o l s ,c o n f o r m a n c et e s t i n g ,t e s tm e t h o d ,t e s t i n gs y s t e m ,t cv中网科学挫术大学坝i 学位论文第一章引言1 1 研究背景随着通信协议的复杂性不断的增长,在实际的网络环境中涉及到越) k 越多的设备供应商和服务提供商。根据协议规范剥m 议进行敛性测试已经逐渐_ i j 3 i 为软件产品丌发周期中的一个部分,协议测试也越来越成为一个倍受重视的研究万向。如果没有协议测试的工作,各种设备之i 瑚的互操作性就得不到保旺。这足吲为:第一,对于协议规范的不同理解就可能导致多种协议实现版本;第:f 办议的实现在很多情况下依赖于可选的协议属性,这也可能造成多种不同的协c 义。实现:第三,由于协议的复杂性,协议丌发人员可能在丌发中f 1 = j 现失龌:最后,对于没有进行完备详尽描述的协议,最容易m 现不同协议实现之删的不兼容情况。协议工程是以协议软件为研究对象的软件: 程,建立了一套,z 格的、数学化、形式化的理论和方法。协议工程的研究范围包括协议说明( p r o t o c o ls p e c i f i c a t i o n ) 、协议综台( p r o t o c o ls y n t h e s i s ) 、协议证实与验证( p r o t o c o lv a l i d a t i o n v e r i f i c a t i o n ) 、协议测试( p r o t o c o lt e s t i n g ) 、协议转换( p r o t o c o lc o n v e r s i o n ) 、性能分析( e e r f o r m a n c ea n a l y s i s ) 以及自动实现( a u t o m a t i cli m p l e m e n t a t i o n ) 1 2 1 。协议测试是协议工程学的一个重要内容,早期的叻、议测试撼本上是由协议的丌发者自己完成的,2 0 世纪7 0 年代丌始国外的一些机构丌始嗣f究由第三方进行的协议测试技术;从2 0 世纪8 0 年代丌始,随着计算机网络发展特别是开放型异构网络的迅猛发展,协议测试理论和技术的研究越来越重要,l经成为国际上计算机网络研究的热点之一。m 议测试的主要研究内容包括以卜i 几个方面:( 1 ) 测试方法:在被测系统提供不同的可访问程度时,组成测试系统的多个测试器相对于被测系统的配置方法:( 2 ) 测试生成:如何从切议的棚荚标准中得到协议测试所需要的测试套:( 3 ) 测试套描述:寻找一种合适的爵。;和图表,以简洁、通用和结构化的方法表示测试套;( 4 ) 测试执行:这是坍议测试过程中的关键,通过对测试套的执行作出虽后的测试判定。协议测试有功能测试、性能测试、一致性测试和健壮性测试四种叽而敏性测试是其它三种测试的基础,它是协议测试中的一个重要部分。一致倒:测试是对被测实现i u t ( i m p l e m e n t a t i o nu n d e r t e s t ) 进行的细致、系统的试验,以确定该实现是否f 确完成了协议规范中的标准。进行协议测试的一般做法首先婴根谢中闰科学技术人学顺i 。学位论义协议规范( p r o t o c o ls p e c i f i c a t i o n ) 取得严格的形式化执迷:接着从m 议mj 臣式化描述出发,依照致性测试的测试套生成规范化方法,生成相应的测试序列,再结合具体的测试数据和测试环境可以使用测试套开发语言拙述测试用例。塌j | ! = ;搭建测试系统将测试用例在待测协议实现1 u tl 执行,生成测试撤告。1 2 协议测试的研究现状目前协议测试已经不仅仪是产品, :发研制过程中一个简单的检测支持过f # ,而是发展成为计算机网络技术的一个重要分支和胁议工程学的一个重要组成i _ f | j分。对协议测试技术的研究将直接影响到计算机网络技术的进步和世界网络市场的竞争与发展。所以,很多国家都投入了大量的人力物力从事协议测试的研究j 。作。例如:英国的国家物理实验室n p l 、法国国家通信研究和心、德国鞫家通信研究局g m d 、美国国家标准化研究局、美国新罕布什尔大学互操作研究实验室、清华大学计算机科学与技术系的网络和协议测试实验室和中科院计算所刊络测试实验室等单位都在这个领域投入了大量的研究力量。在国外,像美圉醚谷有几家大的协议测试实验室,比如t o l l yg r o u p 、k e yl a b s 、l a n q u e s l 等,它们专门提供独立公f 的第三方的测试服务,提供权威的测试报告,网络方丽的一些著名生产厂家如c i s c o 、3 c o m 、l u c e n t 、n o r t e l 、l m e l 等都是这些实验室的客户。要对协议进行测试需要有完整的测试系统,目前协议测试系统i j 分为两类:一类是专用的协议测试仪;另一类是能为仂,泌测试人员提供测试丌发和测试支持的测试平台。这两类测试系统的最大区别就是专用的协议测试仪不具有可扩展性,而测试平台可以根据测试需求,对其进行扩充。协议测试仪是一种专用的网络测试设备,它能够连接到网络上,向网上发送数据、捕捉网上数掘、分析数抓,协议测试仪般具有网络监测、故障查找、协议解码和流量产生等功能。h 前,流行的协议测试仪有两种形式,一种是带有自己的硬件设备,如a g i l e n t 公i d 的a g i l e n te t h e m e ta d v i s o r ,f l u k en e t w o r k s 公司的o p t i v i e w 系列网络协议分析7 。品。这种硬件协议测试仪的优点是全面提供了各种网络接口,实时性更强,分析处理速度快,但价格昂贵,普通用户难以接受。另一种是纯软件的网络协议分析仪,如a g i l e n t 公司的j 1 9 5 5 a a d v i s o rs w e d i t i o n 和f l u k e 公司的摹本型协议分析仪( p i ) 和增强型协议分析仪( p i p ) 。这种协议测试仪的优点是可以直接从网i - l 。捕获数掘进行解码分析,而不依赖特定的硬什没备,因此通用眺强,l _ 以安装化中固科学技术大学碳f 学位论文接入局域网的任何机器上,并且价格也棚埘他+ l 也现在,对测试平台的进行研究的有:中科院计算所从1 9 9 9 年丌始与n o k i a 公司合作、发计实现的v 6 p t s ,消大学网络实验室在设计的协议集成测试系统p i t s ( p r o t o c o li n t e g r a t e d7 l e s ts y s t e m ) 等。v 6 p t s 采用自行设计的测试套描述语言t s s ( t e s t s u i t es p e c i f i c a t i o nl a n g u a g e ) 来描述测试套,缺点在于系统架构的针对性强,可扩展性较差:p lp j s系统采用t t c n 来描述测试套,可靠性高,绯护性和通用性好,缺点足”发f 价高。1 3 本文研究目的r i p 是在r f c1 0 5 8 中提出的。它最初是为x e r o x 网络系统的x e r o xp a r c 通削协议而设计的,并逐渐成为i n t e m e t 中晟常用的路由协议之一。r i p 易于配置、灵活和容易使用的特点使其成为非常成功的路由协议。从r i p ) :发以来,它在汁_ ;! :、组网和互联技术等方面已有了长足进步。这些进步的积累效应使r i p 成为流行协-议。r i p 协议的实现f 确与否对路由器系统的路由性能起着重要的作用。随精网络技术的发展,i p v 6 协议以及相关协议族将成为下一代互联网中的书导技术。作为1 p v 6 下r i p 协议族的版本,r i p n g 协议受到越来越多的关注,目前已经有很多厂家研制出了支持i p v 6 的产品,包括r i p n g 的实现。但在i p v 6 协议真n 戎为互联网的主流协议之前,我们应该不断利用各种测试环境对被测实现进行测试。r i p n g 实现的f 确性对i p v 6 能否早r 得以广泛应用有着重要的意义。本文介绍了协议一致性测试的理论和常用的测试方法,在分析r i p 协议族特点的基础上,探讨了它们的一致性测试可以采用的方法,设计了一个虚拟测试叫:境,并开发了一个基于t e l 描述语言。的一致性测试系统,完成了r i p 协议族的一致性测试,最后对测试结果进行了统计和分析。1 4 本文的组织本文主要介绍了r i p 协议族的一致性测试的实现,包括相关测试系统的盯发。文章组织结构如下:本章简单地介绍了协议测试的背景;第2 章,详细介绍了协议一致性测试的概念、一致性测试的级别、测试过程、测试模型、测试方法以及测试套的结构;第3 章,介绍了通信协议目前常用的几种形式化模型方法和形式化猁l 述浯中田科学技术人学坝 :学位论文占,并对它们各自的特点进行了分析和比较。第4 章,介绍了常见的基于有限状态机f s m 的测试序列g i 成方法。第5 章,介绍比较了常用的通信m 议软件测试例捕述语高t t c n 耵it c l ,说明选择t c l 作为r i p 致性测试用例描述沿“内原凶第6 章,介绍r i p 协议族( 包括r i p v l 、r i p v 2 和r i p n g ) 内容及特正l ,”对它们进行了比较:第7 章,重点讨论了r i p 协议族形式化过程和结果,并给出了r i p 的通川有限状态自动机模型。同时给出了r i p 几个主要状态的s d l 形式化描述图以及使用u i o 方法生成r i p 一致性测试序列的例了。第8 章,详细介绍了基于t c l 的r i p 协议族一致性测试环境以及系统的i 5 : 汁重点放在系统结构和底层模块的实现。第9 章,介绍r i p 协议族一致性测试的具体实现与测试结果。以其中的r i p v 2和r i p n g 协议部分报文编解码命令为例介绍扩展命令的编写,以r i p v 2 的个测试例作为测试脚本编写的示例。最后给出了在c i s c o 路由器上的测试结果,1 :对结果做了简要的分析;第1 0 章,总结全文,对文中的研究工作进行总结和回顾,并对将来的研究方向和内容作了展望。中目科学技术大学坝i :学位论义第二章协议测试理论本章介绍的协议测试理论构成了论文研究i 作的理论基础。这部分介耋 了m议测试的基本概念、协议测试的类别,重点介绍了协议一一致性测试雕论,也捕致性测试的目的、模型、工作流程和洲试方法等。2 1 协议测试的基本概念协议测试理论是协议工程学的一个讯要分支。研究协议测试理论的原i 天f ( i 吖一个标准化的协议并不能确保浚协议的实现之j 训能够成功的进行通信。这是闳为协议标准目前基本上是使用自然语言描述的,实现者对于协议的不同理解会导致不同的协议实现,甚至有时会是错误的实现。因此需要一种有效的方法来对协议实现的正确性和有效性进行判别,这便是“咖议测试”。实际上,协议测试足试图通过实验的方法找出错误的过程。在胁议测试过程中既要模拟协议实现i 刚引:作的情况,也要模拟异常使用的情况:既要模拟协议实现单独运行的情况,止婴模拟协议实现之间互相通信的情况。这样彳能确信在任何情况下系统的一常 作:1状况。由于对一个系统进行无穷尽的测试是不现实的,所以测试并不能保汪个协议实现的完全正确性,即测试只能表明“存在错误”,而不能证| ; j 4 “不存n j 错误”。这是协议测试的基本出发点。协议测试是从软件测试的基础上发展而来。一般的软件测试可以分为助能测试和结构测试两种。结构测试又称为“白盒测试”,它是基于一个软件的内邢结构进行的测试,其目的是通过执行每条语句、遍历程序的各个分支来检查整个程序代码的正确性。与此相反,功能测试只是依掘软件的说明对从外部可以则察到的软件功能进行测试,所以也称之为“黑盒测试”,即被测试系统被看作个黑盒,仅仅通过观察外部行为来确定软件的功能实现,而不涉及程序的内部结构。功能测试的目的是根掘软件的说明确定软件实现是否达到了要求,因此预先璎柯一个简洁明确的软件功能说明。协议测试属于功能测试,即黑盒测试。2 2 协议测试的类别协议测试总共包含四个方面的内容:1 ) 一致性测试( c o n f o r m a n c et e s t i n g ) ,目的在于检验系统所实现的协议是否和协议规范描述的内容一致:中国科学技术人学硕i j 学位论史2 ) 性能测试( p e r f o r m a n c et e s t i n g ) ,的是检测卧 义实体或系统的性能指标( 数据传输率、连接时削、响应时列、路山蜓新速度、奋j u :摄等) :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 t e s t i n g ) ,h 的f j 二检测协议宴休存 符利,i 扰f j 情况( 如通信信道中断、通信实体断电、注入f 扰报文) 下的适应能力。2 3 协议一致性测试的理论2 3 1 一致性测试基本概念一致性测试是检验系统所实现的协议是否和协议规范描述的内容致是阱议测试中最为重要也是最为基础的部分,只有在一致性测试通过的基础上j 能进行后续的互操作性测试、性能测试与健壮性测试。2 0 世纪9 0 年代,国际标准化组织i s o 专门为协议的一致性测试制定了一个标准一i s o i e c9 6 4 6 ( 协议的一致性测试方法和框架) ,陔标准的诞尘是阶议测试领域发展史上的一个重要罩程碑,它为协议一致性测试提供了基本方法和框架,为测试套制定了设计步骤和描述方法,并为测试系统的实现提供了指导。它包括匕个部分:1 ) 基本概念 4 j :2 ) 抽象测试套技术规范【5 1 ;3 ) 数表结台表示法t t c n f 6 1 :4 ) 测试实现f 7 1 :5 ) 对测试实验室和客户在一致性测试过程方面的要求| 8 j :6 ) 协议轮廓测试规范一1 ;7 ) 对协议实现一致性声明i c s ( i 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 ) 和】c s范式( i c sp r o f o r m a ) 的要求和建议【1 。在o s i 范畴内,如果一个实际系统在与其它系统通信中所表现的行为符台o s l协议规范的一致性要求,则称它呈现了一致性。1 s o 将一致性要求化分为静态致性要求( s t a t i cc o n f o r m a n c er e q u i r e m e n t ) 和动态致性要求( d y n a m i cc o n f o r m a n c er e q u i r e m e n t ) 两组。其中静态一致性要求是网络互连的所枷定的最小能力,确定了选择可选功能时必须实现的要求,由此束保证协议实现提供的最中国科学技术人学坝1 学位论文悱议删试_ i 沧低功能和不同功能之问的组合性和一致性。动态一致性要求是f 办议标准的1 = 伟,确定了切。 义规定的全部可观测行为,包括队议实现和外 :f l j 环境通信时的j ,j + 州删仃为。由于不同选择要求的存在,不同的m 议实现需要一个关于已实现的能力剐选项的说明,为对陔协议实现进行一致性测试提供参考,这样的蜕 ! j ;| 称为踟议1 炙脱一致性声明p i c s ( p r o t o c o li m p l e m e n tc o n f o r m a n c es t a t e m e n t ) ,p i c s 中所列的是浚协议实现所实现的所有功能。此外,在进行一致性测试时,还需要被测实现一些测试环境的相关信息,如时钟、连接地址等具体的说f ! ;i 信息,这“j 午火锚息称为协议实现额外信息p i x i t ( p 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 ns t a t e m e n t ) 。2 3 2 一致性测试的类别一致性要求包括静态一致性要求和动态一致性要求,对静念一致性要求的测试是通过静态一致性分析( s t a t i cc o n f o r m a n c er e v i e w ) 将协议中的静态致性要求与p i c s 相比较来实现的。动态。致性要求的测试需要对被测实l 见il j t( i m p l e m e n t a t i o n u n d e r t e s t ) 执行相应的测试套,它是整个一致性测试过稗中的核心。动态一致性测试包括四种测试类型 ”:( 1 ) 基本互联测试( b a s i ci n t e r c o n n e c tt e s t ) ,测试被测实现与测试系统之间的基本互连能力,确定是否进行f 。步的行为测试;( 2 ) 能力测试( c a p a b i l i t yt e s t ) ,测试被测实现是否实现了p i c s中所声明的功能:( 3 ) 行为测试( b e h a v i o rt e s t ) ,测试被测实现的动念行为是否符合协议标准中的规范,它又分为两级:覆盖测试( c o m p r e h e n s i v et e s t i n g )和穷尽性测试( e x h a u s i v et e s t i n g ) ,覆盖测试只要求测试序列经历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 ) ,在一定的特定要求下深度探索被测实现的一致性,最终得出“是”或“否”的肯定回答,同时提供与特定要球有关的诊断信息。2 3 3 一致性测试方法图2 1 给出了协议一致性测试的基本框架,其中i u t ( i m p l e m e n t a t i o nu n d e rt e s t ) 为待测协议实体,它通过观察控制点p c o ( p o i n t s o f c o n t r o la n d o b s e r v a t i o n )与外部环境交互,u t ( u p p e r t e s t e r ) 为上层测试体,通过在p c o 上调用i u t 提供的抽象服务原语a s p ( a b s t r a c ts e r v i c ep r i m i t i v e s ) 检钡j j i u t 的行为,l t ( l o w e r中国科学技术人学坝i 。学位论文胁波测试州l 仑t e s t e r ) 为下层测试体,它通过p c o 并经山n 1 层服务提供者( s e r v i c ep r o v i d e r )发送n 一1 层a s p 给i u t ,以支持i u t 的行动。在a s p - 1 j 可能承载协议数据f p 儿p d u ( p r o t o c o ld a t au n i t ) 。在测试期m l t 雨i u t 通过测试协调过 i i ! t c t ,【r e s lc o o r d i n a t i o np r o c e d u r e s ) 相互通汛。图2 1 :协议一致性测试的基本框架根据p c o 位置的不同,i s o i e c9 6 4 6 分别定义了本地测试法( 1 0 c a l ) 利外部测试法( e x t e r n a l ) 。本地测试适用在产品内部测试,外部测试适用于远程的第三方测试。由于本地测试需要被测实现提供测试接口,但大多数的被测实现小提供这样的接口,因此这种测试法很少用于实际的协议测试中,它只是一刊概念上的测试结构。现在的一致性测试一般是由第三方进行,因此采用的基本是外部测试。外部测试法还可以进一步分成分布式( 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 ) 。下面分别对这四种测试方法的进行既明垆j :1 1 本地测试法本地测试法的结构如图2 2 所示。本地测试法( l o c a lm e t h o d ) 足端系统m 汉致性测试中的最简单也是最基本的方法。该方法所要控制观察的是( n 1 ) h n b ! f 1 9a s p ,以及从( n 1 ) 到n 层的p d u 。上下测试器问的同步与合作由t c p 完成。在_ 本地测试法中,l t 、u 丁以及测试协调过程是在同一个系统中实现的。这种方法的一个基本假设是在i u t 的上下边界都存在暴露的访问接口,这些接1 j 电称为控制观察点p c o ( p o i n to f c o n t r o la n do b s e r v a t i o n ) ,测试系统通过这些p c o i u t输入激励并且观察i u t 的输出响应,然后根据m 议描述作出测试判决。伍本地测试法中的l t 和u t ,分别对应于i u t 的上下接口。l t _ 乖l l u t 的作用是在i u qf i q上下接口处通过交换测试事件来观察i u t 的行为,测试协调过程用于协i 目l t 平中囝科学挫术人学坝i 学位论义u t 的动作,l t 同时记录所有的测试事件以作为测试判决的依据。2 ) 分布式测试法分布式测试法如图2 3 所示。该方法所要控制观察的也是( n 1 ) 和n 层的a s p ,以及从州一1 ) 到n 层的p d u ,但一i v a ! f l 试器不在i u t 所在的系统罩,- j 疋i :l 迎过( n 1 ) 层协议提供的服务及物理介质连接起来。上下测试器问的同步与合作也是山t c p 完成,因为上下测试器不在同系统巾,所以实现起来婴凼雉一- u j 。利本地测试法相比较,分布式测试法有以下j l 点不同:a ) 必须修改基于本地测试法所设i ;t 1 的抽象测试套,以包含l t 所使川到n 勺底层抽象服务原语,而这些抽象服务原语和本地测试法中所用到的是互补的。b ) l t 和i u t 物理上是分离的,因此对同一测试事件的观察不再同步。c ) 由于l t 和i u t 的通信是通过( n 一1 ) 层服务实现的,因此存在测试数掘丢失、失序和出错的可能性。d ) 由于l t 和u t 分布在不同的系统,二者之间的同步和控制( 即测试协调过程) 比本地测试法要困难得多。在分布式测试法中,测试协调过程可以用在p c o 处交换的a s p 来浼l ! j 4 ,也就是况l t 和u t 之间的协调是通过i u t 实现的,所以测试判决足基于l t 所观察到的行为而作出的。:u t 忑t e s 丁i 一c 0 0 r d i n a t l o n匹到p r o c e d u r el ( n ) p d u si ( n i ) a s pl t珊u tn l a !l t( n ) p d ui u ti t u,7 、( n 一1 ) a s p s( n - 1 ) s e r v i c ep r o v i d e r图2 2 :本地测试法图2 3 :分布式测试法3 1 协调测试法协调式测试法实际上是分粕式测试法的种变形,如图2 - 4 所示。它与分式中周科学技术人学颅i 学位论史i 办议删b t j ! l l 仓法的区别在于:a ) i u t 的上界面不设接口,无需访问:b ) 利用标准的测试管理过程( t m ) 和测试管理协议数据单j i ( t m p d u ) 来 7 动进行测试管理和协调测试过程。因此,它只控制观察f n i ) 层的a s p 祠i ( n l j 刮n层的p d u ,上测试器只把接收到的信息反馈给下测试器。4 ) 远程测试法远程测试法的结构如图2 5 所示,其重要特点是没有上测试器,i u t 的l 外面无p c o ,因此没有明显的t c p ,要观察控制的内容也只是( n 1 ) 层的a s p 干l l ( n 1 】到n 层p 的d u 。远程测试法的主要特点是并不要求能访问i u t 的一1 - 边界,也不要求显式的测试协调过程。这种方法依赖于被测议来实现i u t 和l t 川i 的同步。远程测试法所采用的一个假设是i u t 的状态可由l t 通过( n i ) 层胍务与之交换( n ) 层p d u 来确定。测试判决则是m 基于下测试器对i u t 提供的激励以及下测试器所观察到的i u t 的响应作出的。远程测试法在低层m 嫂致性测试中应用得较为广泛。t c pu tt m - p d ul t( n ) p d u-i u tp c o弋i ( n - i ) a s p s( n 一1 ) s e r v i c ep r o v i d e r图2 4 :协调测试法图2 5 :远程测试法此外针对中继系统的特点没有开放的上下接口,有两种中继系统抽象测试方法:回绕法和穿越法】【j2 1 ,这两种抽象测试方法的结构如图2 - 6 和2 7 所1 j 。回绕法的缺点是被测中继系统只有一端的行为被直接观察到,而另一端的行为刁i能被f 确的评价。而穿越法则使被测中继系统在平常的操作模式f 得到测试,神:两端的行为都能够被观察到。中罔科学技术人学侦1 学位沦空i 办泼删试川i f :厂 厂t s i峰) l 锋| |7i n ”l。t 了r u f丰等崔i | ! ( n 1 i s e r v i c e l ! ! :111 1 1 1 兰! 竺:! ! ! 11! 竺:! ! ! ! 一ji s。1 。t图2 6 :回绕测试法图2 7 :穿越测试法2 3 4 一致性测试过程根据i s o9 6 4 6 的规定,协议一致性测试呵分为四个阶段| 4 l :1 ) 形式描述阶段,利用特定的形式描述技术生成协议的形式说明模型;2 ) 测试生成阶段,生成协议的抽象测试套a t s ( a b s t r a c tt e s ts u i t e ) ,抽象测试套是为测试被测实现设计的测试套:3 ) 测试实现阶段,根据被测实现提供的p i c s n p i x i t 从一致性测试套中选择适当的测试例,将上一阶段得到的抽象测试套转换成可在实际测试系统上执行的可执行测试套e t s ( e x e c u t a b l et e s ts u i t ) ;4 ) 测试执行阶段,包括被测实现的p i c s 分析和在测试系统上运行可执行测试套。被测实现的p i c s 分析是检查被测实现的p i c s 与有关标准指定的静态做性要求是否相一致:可执行测试套的执行是对被测实现的外部响应行为进行观察,得到是否符合协议标准的一致性判定,最终的结果存放在一致性测试报告中。图2 8 描述了协议一致性测试的流程。中田科学技术人学砸l j 学位论义i “议删m j t l l 仑图2 8 :协议一致性测试流程以上四个阶段中,1 ) 、2 ) 是协议一致性测试研究的热点,已经形成了很多相当成熟的理论。在协议的形式化描述方面,常用的形式化模型有:有限状态机( f i n i t es t a t e m a c h i n e :f s m ) 1 1 3 】、p e t r i 网( p e t r i n e t :p n ) 1 1 4 1 、时序逻辑( t e m p o r a ll o g i c :t l ) 【1 5 】、通讯进程演算( c a l c u l u so f c o m m u n i c a t i n gs y s t e m s :c c s ) i i 、过程语言( p r o c e d u r a ll a n g u a g e ) f 1 7 】等;常用的形式化描述语言有l o t o s 、e s t e l l e 、s d l 和m s c 等。在测试序列生成方面,熟知的测试序列生成方法主要是慕 i 有限状态机的,它们是:t 方法 。8 1 、d 方法m 1 、u 1 0 1 2 0 1 方法 n w 方法及它们的符种衍生方法f 2 ”。3 ) 、4 ) 是工程应用中最为关注的,也是本文研究的焦点。2 3 5 一致性测试过程一致性测试结构中有:测试组、测试例、测试步和测试事件。测试事件怒测试套中最小的单位,它描述了测试系统与i u t 交互的单个事件,如从i u t 接q 5 ( p d u或a s p 。多个测试事件按一定次序组织在起可以构成测试步。测试步相当 j 编程语言中的子程序,用于提高代码的利用率。测试例用于专门的测试目的。川于验证1 u t 是否具有某种要求的能力,如支持某种大小的数据包,是否能0 :特定状态f 对特定的事件做出期待的响应。一般说来,测试例由前测试步、测试体和后测试步三部分组成。前测试步将i u t 从个稳定的状念引导至爱测试例所需中国科学救术人学坝i 学位论史i ! j ,i 洲0 矾川j 隆的起始状念:测试体组织相关测试事件或测试步完成要求的测试验征:然j 鬲再测试步将i u t 引导到另一个稳定的测试j i 犬念,为下一个测试例的执行做准街。t - j以根据测试目的的不同,把测试例划分到不同的测试组中。原则| 。:个洲试州l j以具有任意的深度,包含任意层测试组。测i! 塑jl 型螂i i ,型! 州 丽靠口 丽靠一1l 叫蟹i 哗_l 利试制| | 测试侧 测u 删f 旦堕塑_ | l 型蔓! 生j 叠旦 i 耍啊二:i 测试坦_ | 由 盘i l ,1 厂面志矿 r 删蠢乒一jl _ 一厂。i 。“厂丽i i 丽i | 测试事什j | 删认乖川li 测试事仆fl 测试事j图2 - 9 测试套的结构中罔科学技术人学坝i 学位| 仑义阱议的| i ;j 化第三章协议的形式化形式化描述是通过一系列形式化理沧、模型和方法,对协议进行精确的捕述。形式化描述是协议一致性测试的基础,对测试杩清晰的理解待测f 办议提供了小人的帮助。本章首先介绍了几种常用的形式化模型方法币i 描述语言,重点介绍了肝面将要被使用生成r i p 测试序列的f s m 模犁。3 1 形式化的必要性及其内容几乎所有的协议规范都是采用非形式化语言( 自然语占) 或者半形式化语,;( 图表) 来描述的,这样往往会带来歧义和不易被验证等缺点。而采用形式化技术( f o r m a ld e s c r i p t i o nt e c h n i q u e ) 则能精确的表述协议的特性和体系结构,为协议的一致性测试提供了良好的基础。协议的形式化包括下面五个方面的内容:1 ) 活动一眭- ( 1 i v e n e s s ) :指协议运行时一些正常的事情会发生,包括产生预定的事件,到达指定协议状态,进行应该进行的协议活动。协议的活动性体现在终止性和进展性两方面。终止性指协议从任们一个状态丌始运行,总能l r f j f j 的到达终止状态。进展性指协议从初始状态运行,总能正确的到达指定状念。如果协议的某个状态从初始状态不可达,则说明协议存在错误。2 ) 安全性( s a f e t y ) :协议的安全性指协议在运行的时候没有异常事件出现,包括不可计收事件,不可推进状态,错误行动,变量值越界等。这些会导致死锁或活锁。3 ) 有界性:检验协议的某些属性或者参数的值是否有界。4 ) 完整性:检验协议是否缺少应有的处理,是否存在不期待的接收等异常行为。5 ) 自同步性:在出现错误后,协议是否能够在有限步内返回到正常状态r 执行。3 2 形式化模型方法形式化方法是一种用形式化语言描述系统的方法。它基于一定的数学删论,由符号集和操纵符号集的规则集组成。日前形式化方法主要来自一些数学模型和自动机模型,目前在理论上较成熟的主要有以下几种:有限状态机( f i n i t es t a t em a c h i n e ) 、p e t r i 网( p e t r i n e t ) 、时序逻辑( t e m p o r a ll o g i c ) 、通信系统演算( c a l c u l a t i o n so f c o m m u n i c a t i o ns y s t e m ) 。其中,t

温馨提示

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

评论

0/150

提交评论