(计算机应用技术专业论文)协议一致性测试原理及其应用.pdf_第1页
(计算机应用技术专业论文)协议一致性测试原理及其应用.pdf_第2页
(计算机应用技术专业论文)协议一致性测试原理及其应用.pdf_第3页
(计算机应用技术专业论文)协议一致性测试原理及其应用.pdf_第4页
(计算机应用技术专业论文)协议一致性测试原理及其应用.pdf_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

西华大学硕士学位论文 协议一致性测试原理及其应用 计算机应用技术专业 研究生郭闯指导教师刘兴伟 协议是计算机网络的核心,是计算机网络中通信双方关于如何进行通信的 约定规则。通信双方只有实现相同的协议,才可以正确地有效地进行信息的 传输。目前协议标准一般都是由自然语言加以描述的文本,网络设备的实现 者往往会对这些协议文本有不同的认识、理解,所以对网络设备的协议实现 进行一致性测试是网络设备研发的必要环节。 随着i n t e m e t 的商业化,各种网络产品和网络应用相继出现,加速了i p v 4 地址的消耗,i p v 6 在这种情况下应运而生。随着i p v 6 协议栈的不断完善和支 持口v 6 的网络产品的日渐增多,i p v 6 协议替代i p v 4 协议是一个必然趋势。 同时协议实现与协议标准的一致性问题也越来越突出,因此开发能够测试 i p v 6 协议实现一致性的测试系统具有重要意义。 本文在研究协议一致性测试原理和方法的基础上,围绕实现i p v 6 协议一 致性测试系统这个目标,提出了协议一致性测试系统的软件架构。同时在 l i n u x 平台上实现了该系统并对i p v 6 基本协议进行了测试。最后本文又对协 议一致性测试原理加以推广应用,设计并实现了计算机网络协议实验系统。 综上所述,本文的主要特色如下: ( 1 ) 协议一致性测试执行系统软件架构的设计和实现。该架构由测试代 理器、测试执行器、测试接口组成。其中测试执行器和测试接口的实现是实 现执行系统的关键。 ( 2 ) i p v 6 基本协议的一致性测试。针对i p v 6 基本描述协议和i c m p v 6 设计 两大组1 0 个测试例。并利用本文设计的协议一致性测试执行系统分别对l i n u x 西华大学硕士学位论文 a s 4 0 上的i p v 6 和i c m p v 6 协议实现进行了测试,验证了本文系统的有效性和 实用性。 ( 3 ) 本文在对协议一致性测试原理研究的基础上,设计并实现了计算机 网络实验系统。为学生在学习网络原理时提供一个编写协议的平台。学生在 客户端根据教师提供的函数接口和动态链接库编写、运行协议,服务器自动 评判,不仅减少教师的工作量,而且有助于学生对网络协议设计的主要目标 和思想的理解,提高了学习的效率。 关键词:网络协议;协议一致性测试;测试执行系统:i p v 6 i i p r o t o c o lc o n f o r m a n c e t e s tp r i n c i p l e sa n dt h ea p p l i c a t i o n s p e c i a l i t yc o m p u t e ra p p l i c a t i o nt e c h n o l o g y m a s t e rc a n d i d a t eg u oc h u a n g s u p e r v i s o rl i ux i n g w e i p r a c t i c a l l y , n e t w o r kp r o t o c o l s a r e s e r i a l so fr u l e sa b o u t c o m p u t e r s c o m m u n i c a t i n g ,w h i c hc o n s t i t u t et h ec o r eo fc o m p u t e rn e t w o r k ac o u p l eo f c o m m u n i c a t i o np a r t i e sm a ye x c h a n g ei n f o r m a t i o ne f f e c t i v e l yv i ai d e n t i c a ln e t w o r k p r o t o c o l s a tp r e s e n t ,t h ep r o t o c o l sa r eg e n e r a l l yd e s c r i b e db yt h en a t u r a ll a n g u a g e i n r f c ,r e s u l t i n gi nd i f f e r e n tc o m p r e h e n s i o no fd i f f e r e n tp r o t o c o ld e v e l o p e r s 。 t h u sp r o t o c o lc o n f o r m a n c et e s ti sa ni m p o r t a n ts t e pf o rt h ed e v e l o p m e n to f n e t w o r kd e v i c e s d u r i n gt h ep a s ty e a r s ,i n t e r n e tb e c o m e sm o r ea n dm o r ep o p u l a ra n di s e v e n t u a l l ya p p l i e di nc o m m e r c i a lu s e k i n d so fp r o d u c t sa n da p p l i c a t i o n sc o m e f o r t h c o r r e s p o n d i n g l y , w h i c hr e s u l t s i nah u g ea n da c c e l e r a t i n gd e m a n do fi p a d d r e s s e s h e n c e ,i p v 6e m e r g e st h a tm a yi n e v i t a b l yr e p l a c ei p v 4w i t ht h e i m p r o v e m e n to fi t sp r o t o c o ls t a c ka n dt h ef l o u r i s h i n go fr e l a t e dp r o d u c t s m o r e o v e r , i tb e c o m e sa ne x i g e n tp r o b l e mt ov e r i f yt h ec o n f o r m a n c eb e t w e e nt h e i p v 6p r o t o c o l sa n di t si m p l e m e n t a t i o n ,t h u si th a si m p o r t a n ts i g n i f i c a n c et o d e v e l o pp r o t o c o lc o n f o r m a n c et e s te x e c u t i o ns y s t e m ( c t e s ) f o ri p v 6p r o t o c o l s t a c k i nt h i sr e s e a r c h ,t h ea r c h i t e c t u r eo fc t e sh a sb e e np r o p o s e db a s eo nt h e t h e o r i e sa n dm e t h o d so fc o n f o r m a n c et e s t i ti si m p l e m e n t e do nl i n u xp l a t f o r m a n db a s i ci p v 6p r o t o c o l sa r et e s t e da f t e r w a r d f u r t h e r m o r e ,a i le x p e r i m e n ts y s t e m o fc o m p u t e rn e t w o r kp r o t o c o li sd e s i g n e da n di m p l e m e n t e dw h i c ha p p l i e st h e p r i n c i p l eo f p r o t o c o lc o n f o r m a n c et e s t t h ed e t a i l e ds t u d i e sa r el i s t e da sf o l l o w i n g : f i r s t l y ,p r o p o s ec t e sb ya n a l y z i n gt h er e q u i r e m e n t sa n dd e s i g n i n gt h e a r c c t u r e t h ep r o p o s e dc t e sc o n s i s t so ft h r e em o d u l e s ,i n c l u d i n gt e s ta g e n t , t e s te x e c u t e ra n dt e s ti n t e r f a c e s ,a n dt h el a t t e rt w oo n e sm a k et h ek e yw o r k so f c t e s s e c o n d l y , i m p l e m e n tc t e sw i t ht h ep r o p o s e da r c h i t e c t u r e t w oc o n f o r m a n c e t e s ts c h e m e s ( 10t e s tc a s e s ) a r ee x e c u t e df o ri p v 6a n di c m p v 6 o nl i n u xo p e r a t i o n s y s t e m ,b yw h i c hm a n yi m p l e m e n t a t i o ne r r o r sh a v eb e e nf o u n d t h et e s tr e s u l t s d e m o n s t r a t ee f f e c t i v e n e s sa n d p r a c t i c a l i t yo ft h ec t e s f i n a l l y ,a p p l yt h ep r i n c i p l eo fp r o t o c o lc o n f o r m a n c et e s t b a s e do nn i e r e s e a r c ho fp r o t o c o ic o n f o r m a n c et e s t ,a ne x p e r i m e n ts y s t e mo f c o m p u t e rn e t w o r k p r o t o c o li si m p l e m e n t e d a c c o r d i n gt ot h ef u n c t i o ni n t e r f a c e sa n dd l lp r o v i d e d b yt e a c h e r s ,s t u d e n t sc a l lm a k eu pa n di m p l e m e n tp r o t o c o l s ( s u c ha sh t t p ,t c p , i p ,r i pe t c ) t od e e p e nt h eu n d e r s t a n d i n go fn e t w o r kp r i n c i p l e t h e nt h es e r v e r e v a l u a t e sa n dj u d g e st h e i rw o r k sa u t o m a t i c a l l y t h e s y s t e mn o to n l yr e l i e v e s u n n e c e s s a r yw o r k l o a do ft e a c h e r s ,b u ta l s oh e l p ss t u d e n t su n d e r s t a n dt h em a i n c o n c e p ta n do b j e c t i o no fn e t w o r kp r o t o c o ld e s i g n k e y w o r d :n e t w o r kp r o t o c o l s ;t h ep r i n c i p l eo fp r o t o c o lc o n f o r m a n c et e s t ;t e s t e x e c u t i o ns y s t e m :i p v 6 i v 西华大学硕士学位论文 声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得 的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得西华大学或其他教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 本学位论文成果是本人在西华大学读书期间在导师指导下取得的,论文 成果归西华大学所有,特此申明。 作者签名断l 日宙年考月l 口日 新魏斗绋辑。日 西华大学硕士学位论文 1 绪论 1 1 协议一致性测试的意义 协议是计算机网络的核心,是通信双方关于如何进行通信的约定规则n 1 。 通信双方只有实现相同的协议,才可以正确的有效的进行信息的传输。 t c p i p ( t 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 m e tp r o t o c 0 1 ) 协议族就是i n t e m e t 的 基础和关键所在。目前的协议一般都是由自然语言来加以描述的文本,网络 设备的实现者往往会对这些协议文本有不同的认识、理解。所以,实现过程 中的非形式化因素将出现相同协议的不同实现,以至可能出现导致完全错误 的协议实现。而且,就算这些网络设备厂商都能正确地完成了协议实现,也 无法确定所有不同的协议实现之间都可以准确地进行信息交互,故此,需要 一种有效方法对协议实现进行判别,这种方法便是协议测试。根据以上叙述, 任何协议研究开发以及实现过程中,测试工作是很重要的。 由于口业务呈现爆炸性的增长,业务量的增长是指数式的。d 网络的发展 也是惊人的,现在i p 网的基础设施平均每一至二年要全面升级一次,其骨干 网带宽的增加速率为每6 - 9 个月翻一番,随着i p 业务的迅速增长,d 网络上应 用的不断增加,原有的p 网越来越显得力不从心。p 网络正在向下一代网络演 进,其网络协议也应产生重大变化。目前使用的d 协议是i p v 4 ,i p v 4 瞳1 是7 0 年 代制定的议,随着全球口网络规模的不断扩大和用户数的迅速增长,i p v 4 协议 已经不能适应发展的需要。p 网用户迅速增加,口地址空前紧张,由于i p v 4 只用3 2 位二进制数来表示地址,地址空间很小,i p 网将会因地址耗尽而无法 继续发展。9 0 年代初,有关专家就预见到p 协议换代的必然性,提出在下一 代网络中用i p v 6 协议取代i p v 4 。但是,i p v 6 协议取代i p v 4 协议的过程绝不是一 朝一夕就能够完成的,而是需要一段相当长时间的过渡过程。 1 2 协议一致性测试国内外研究现状 日本政府把i p v 6 确定为使日本重新成为信息化强国的国策之一,由于政 府重视、企业积极,故日本在i p v 6 的研发与应用方面已基本走在世界的前列。 在1 9 9 8 年底由东京大学联合y d c 公司和y o k o g a w a 公司发起组织了对 i p v 6 进行测试和验证技术的t a h i ( t e s ta n dv e r i f i c a t i o nt e c h n o l o g yf o ri p v 6 , 西华大学硕士学位论文 t a h i ) 计划【3 】,采用p e r l 语言来描述i p v 6 i 贝t 试套并用解释执行方式执行测试 例。其目的在于对i p v 6 协议族进行测试和验证。该计划同b s d 上的k a m e 工程 【4 】和l i n u x 上的u s a g i - v 程密切合作,对i p v 6 协议栈的正确、高效和稳定起了 重要的作用。t a h i 计划对于移动i p v 6 协议的测试非常积极,并公开了测试系 统源码和测试集,其移动p v 6 一致性测试集测试覆盖面较广,错误覆盖率也 相当高,对于互操作性测试也非常重视,目前已经包括3 0 0 多个一致性测试例 和4 0 多个互操作性测试例,覆盖了协议描述的绝大部分,是目前最新和最完 整的测试集。t a h i 重视灵活性,采用p e r l 脚本语言来定义测试例,采用解释 执行方式执行测试例,能够基本实现整个测试过程的自动化。但是,t a h i 采 用的测试方案将测试事件和测试系统内部的实现过程联系过紧,降低了测试 例的抽象程度和可读性。 从2 0 世纪起,在欧洲就有众多的计算机企业及各种研究机构对协议一致 性测试技术进行重点的研究,如德国柏林科学研究院g m d 、法国巴黎的a d i 、 英国国家物理实验室n p l 都进行了一系列对协议一致性测试的标准化工作, 主要是为了在o s i 结构内建立协议一致性测试方法公认的国际性标准。1 9 8 4 年以后,美国的国家标准及技术局n i s t 及加拿大等更多的研究机构也参与了 该o s i 标准的制定。到了2 0 世纪9 0 年代,国际标准化组织i s o 专门制定了一套 国际指导标准m l s 0 9 6 4 6 。 美国是i p v 4 的发源地,无论在地址资源和商业应用方面都占据了先天的 优势,目前主要以世界i p v 6 研究、协调中心的面目出现。美国n e wh a m p s h i r e 大学的互操作性试实验室( i n t e r o p e r a b i l i t yl a b o r a t o r y ,i o l ) 是比较早开展测 试研究,尤其是互操作性测试研究的科研部门,目前他们已经完成了很多 i n t e r a c t 协议和部分a t m 协议的互操作性测试,具有一定的影响。i o l 实验室 公布的移动i p v 6 狈j 试集中有6 5 个一致性测试例和6 个互操作性测试例【5 】。 由于一致性测试在通信网络中的重要意义,我国从2 0 世纪8 0 年代开始了 o s i 协议测试等方向的研究,并紧紧跟踪世界先进国家在协议测试领域的最新 研究动态。清华大学在“八五”期间研制成功了基于t t c n 的“协议一致性测 试系统p i t s ,为全面开展各种计算机网络的协议一致性工作提供了重要的 物质保证。 2 西华大学硕士学位论文 中科院计算所和诺基亚公司合作,在1 9 9 9 年对当时的移动i p v 6 协议草 案进行了一致性测试,共有2 0 个致性测试例。这些研究机构对移动i p v 6 协议的测试大多基于较早的草案描述,测试覆盖的范围也非常有限,公布的 测试例也都是基于自然语言描述,仅给出了测试场景【6 】【7 1 。 1 3i p v 6 协议 i p v 6 t 8 1 是1 9 9 2 年提出的,i p v 6 首先要解决的问题就是扩大地址空间。i p v 6 有许多优良的特性,尤其在p 地址量,安全性,服务质量,移动性等方面优 势明显。采用i p v 6 的网络将比现有的网络更具扩展性、更安全,更容易一为 用户提供质量服务。i p v 6 协议目前是i e t f 的“草案标准”,它将成为下一 代i n t e m e t 的主干协议。在r f c 2 4 6 0 ( r e q u e s tf o rc o m m e n t ,简称r f c ) 中介绍了i p v 6 协议的产生背景,定义了i p v 6 协议的头部格式、各种扩展头 部的格式和顺序、新增加的流标记域的语义和作用以及选项的格式安排,分 析了i p v 6 协议对上层协议可能造成的影响。在r f c 2 4 6 1 中介绍了i p v 6 协议 的一个重要的支撑协议邻居发现协议( n e i g h b o rd i s c o v e r yp r o t o c 0 1 ) ,在同 一条链路上的i p v 6 节点使用这个协议来发现对方的存在,得到对方的链路层 地址,发现路由器,保持到活动邻居的可达性信息。在r f c 2 4 6 2 中介绍了i p v 6 的无状态地址自动配置【9 】,给出了一个i p v 6 主机如何采用无状态方法自动配 置其接口的i p v 6 地址。在r f c 2 4 6 3 t 1 0 】中介绍了因特网控制消息协议第6 版 ( i n t e m e tc o n t r o lm e s s a g ep r o t o c o lv e r s i o n6 ,简称i c m p v 6 ) ,就像i c m p v 4 协议对i p v 4 协议一样,i c m p v 6 协议对于碑v 6 协议有着极为重要的作用。 1 3 1i p v 6 协议头部格式 i p v 6 协议头部格式,如图1 1 所示。i p v 6 协议头部各个字段的含义如下: ( 1 ) 版本号( v e r s i o n ) :4 比特,应该为6 。 ( 2 ) 业务流分类( t r a f f i cc l a s s ) :8 比特,提供设定不同业务流优先级的 方法。 ( 3 ) 流标记( f l o wl a b e l ) :2 0 比特,和源地址一起来标记一个流。 ( 4 ) 净荷长度( p a y l o a dl e n g t h ) :1 6 比特,表示i p v 6 头部后面的所有数 据的字节数。 西华大学硕士学位论文 ( 5 ) 下一头部( n e x th e a d e r ) :8 比特,用来标记紧跟着i p v 6 头部的头 部类型。 ( 6 ) 跳数上限( h o pl i m i t ) :8 比特,任何节点在转发报文时把这个 字段的值减1 ,如果减到零,该报文就被丢弃。 ( 7 ) 源地址( s o u r c ea d d r e s s ) :1 2 8 比特,报文的发送者。 ( 8 ) 目的地址( d e s t i n a t i o na d d r e s s ) :1 2 8 比特,报文的接收者。 版本业务流类别 流标签 净荷一卜一报头跳数上限 源i p v 6 地址 目的i p v 6 地址 f i g1 1 h e a d e ro f i p v 4p a c k e th e a d e r 图1 1i p v 6 报头结构 1 3 2i p v 6 协议的扩展头部 , 在i p v 4 协议头部中包含选项,用于对某些报文进行特殊处理。i p v 4 协议的 初始规范r f c 7 9 1 中包含了对安全、源路由选择、时戳等选项的程序处理描述。 然而由于采用选项后的性能很差,这些选项逐渐被废弃了。i p v 6 协议吸取了 教训,采用扩展头部代替选项。在i p v 6 协议中,可选的网络层信息被编码到 单独的扩展头部里,这些扩展头部处于一个分组的i p v 6 协议头部和上层协议 头部之间。扩展头部有几类,每一个用不同的下一头部值表示,这样形成了 一个典型的链式结构。一个i p v 6 分组可以不携带、携带一个或更多扩展头部, 前一个扩展头部的下一头部字段标识下一扩展头部:i p v 6 协议可能的扩展头 部有逐跳选项头部、目的地选项头部、路由头部、分段头部、认证头部【l l j 和 封装安全载荷头部。根据以后实践的需求,还可能灵活的引进别的扩展头部。 i p v 6 路由器并不处理所有的扩展头部。比如路由器只在自己的地址在主头部 的目的地址字段中出现时才查看路由头部,路由器不查看不是给自己的i p v 6 报文的分段头部【汜u 冷】。 1 3 3i c m p v 6 协议 i c m p v 6 被i p v 6 节点用来报告处理报文时遇到的错误和完成其他网络层 功能( 比如网络连通性诊断一i c m p v 6 “回声”) 。i c m p v 6 是组成i p v 6 整体的 4 西华大学硕士学位论文 一部分,所有i p v 6 节点必须完全实现i c m p v 6 。i c m p v 6 报文分为两大类:错误 报文和信息报文。i c m p v 6 报文类型域的值如果最高一位是0 就表示这是一个 错误报文。也就是说,错误报文的报文类型的值为0 至1 2 7 ,信息报文的报文 类型的值为1 2 8 至2 5 5 。 1 4 本文的主要工作 本文研究的内容主要包括: ( 1 ) 设计一种一致性测试执行系统的结构,最终在l i n u x 平台实现网络 协议一致性测试执行系统。 ( 2 ) 利用本文所实现的协议一致性测试执行系统对l i n u x 上的i p v 6 和 i c m p v 6 协议实现进行测试。 ( 3 ) 基于协议一致性测试的原理和方法,设计并实现计算机网络实验系 统。 西华大学硕士学位论文 2 协议一致性测试原理 2 1 协议测试的基本概念 协议测试理论是协议工程学的一个重要分支。研究协议测试理论的原因 在于一个标准化的协议并不能确保该协议的实现之间能够成功地进行通信 【l 州。因为协议标准目前基本上是使用自然语言描述的,实现者对于协议的不 同理解会导致不同的协议实现,甚至有时会是错误实现。因此需要一种有效 的方法来对协议实现进行判别,这便是“协议测试 。 实际上,协议测试是试图通过实验的方法找出错误的过程。在协议测试 过程中既要模拟协议实现正常工作的情况,也要模拟异常使用的情况:既要 模拟协议实现单独运行的情况,也要模拟协议实现之间互相通信的情况。这 样才能确信在任何情况下系统的正常工作状况。由于对一个系统进行无穷尽 的测试是不现实的,所以测试并不能保证一个协议实现的完全正确性,即测 试只能表明“存在错误 ,而不能证明“不存在错误”。这是协议测试的基 本出发点。协议测试是在软件测试的基础上发展起来的p ”。根据对被测软件 的控制观察方式,软件测试分为三种:白盒测试,黑盒测试和灰盒测试【l 引。 ( 1 ) 白盒测试是已知该系统的内部结构,允许人们检查系统的内部结构, 检测系统是否按照规定运行。在使用这一方案时,测试者从检查系统的逻辑 着手,通过每条语句至少执行一次来全面检查整个程序代码,得出测试数据。 由于可以深入到被测试系统的内部,因而测试能力非常强,但测试过程本身 变得非常复杂,对被测系统要求也很高。 ( 2 ) 黑盒测试是已知系统应该具有的功能,完全不考虑系统内部结构和内 部特性,也就是说软件系统被看作一个黑盒子,只通过观察其输入输出来评 价该系统某一方面的特性,而不涉及程序的内部结构。在这种测试下,可以 把被测试的系统看作是一个对象,可以和测试系统交换消息。黑盒测试只关 心被测软件的输入和输出,测试能力虽然弱了一些,但是测试过程本身相对 简单,对被测软件系统也无特殊要求。因此在实际测试活动中,黑盒测试应 用更广。 ( 3 ) 灰盒测试是将自盒测试和黑盒测试结合起来形成的一种测试方法,它 吸收了两种方法的优点。测试方法的选择一方面要根据用户的需求,另一方 6 西华大学硕士学位论文 面也要考虑测试系统对被测软件系统控制和观察的能力。 协议测试是一种黑盒测试,它依据协议标准来控制观察被测试协议实现 的外部行为,对被测协议实现进行测试。 2 2 一致性测试的理论 协议测试理论包容了协议测试的整个过程,其主要研究内容可以概括为 测试组织、测试方法、测试生成、测试集描述、测试管理、测试执行和判决、 测试结果分析等多个方面。测试组织主要是针对整个协议测试过程进行框架 性的研究,明确测试过程中各个阶段所应完成的功能;测试方法则是研究在 被测系统提供不同的可访问程度时,组成测试系统的多个测试器的配置方法 和对被测系统的访问方法【i 卅;测试生成主要关注于如何从协议标准的描述中 获得进行协议测试所需要的测试集;测试集描述的目的是寻找一种合适的语 言或公式,从而能以简洁、通用和结构化的方式表达协议测试所需要的测试 例;测试管理的研究对象是如何管理和协调测试系统中的各个组成部分,以 便成功地完成测试;测试执行和判决是协议测试过程中的关键阶段,如何解 释测试例的涵义以及如何做出测试判决是它的研究内容,同时也是构造测试 系统的基础;测试结果分析是协议测试过程的最后一个阶段,研究如何从测 试结果中分析生成测试报告并得出对被测协议实现的结论。组成协议测试的 各个方面即相互紧密相连又可以各自成为被研究的对象,贯穿所有研究方面 的是形式化方法。一致性测试是一种“功能测试,它依据一个协议的描述 对协议的某个实现行测试,判别一个协议的实现与所对应的协议标准是否相 一致。9 0 年代,国际标准化组织i s o 专l - j $ j 定了一套国际标准叫s o i e c9 6 4 6 ( 协议的一致性测试方法和框架) ,它为协议的一致性测试提供了基本方法 和框架,为测试集制定了设计步骤和描述方法,并为测试系统的实现提供了 指导。i s 0 9 6 4 6 描述了一个通用的方法论,用以测试一个声称实现了某一o s i 协议的产品与相应的协议标准的一致性。i s o i e c 一9 6 4 6 中对一致性定义如 下:“一个一致性的实现应满足静态一致性需求和动态一致性需求,并与协 议实现一致性声明( 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 i t i l a n c es t a t e m e n t ,简称 p i c s ) 中所声明的功能相符合【2 0 】。一个一致性的实现应该满足所有在协议 7 西华大学硕士学位论文 标准中显示表达的一致性需求,而一致性需求规定了一个一致性的协议实现 应该做什么,不应该做什么。这些要求可以分为三类【2 l 】: ( 1 ) 必备要求( m a n d a t o r y ) :要求在所有的实现中都是可观察到的; ( 2 ) 条件要求( c o n d i t i o n a l ) :只有当标准中的特殊条件满足时才可观察 到; ( 3 ) 选择要求( o p t i o n s ) :为协调实现而可以选择的要求,由实现者来 选择。由于大量可选项的存在,每个协议标准实际上是描述了一类协议,因 此各个协议实现的功能可能不完全一致,有些可选功能既可以实现,也可以 不实现。因此,协议实现者应在p i c s 中列出所有已经实现的功能,从而使得 测试人员知道可以进行何种测试。 在协议标准中定义的一致性测试需求分为两个基本组: ( 1 ) 静态一致性要求( 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 s ) 。网络互连所规 定的最小能力,规定了在对可选功能进行选择时应遵从的约束。它规定了协 议实现所应提供的最低功能,及不同可选功能之间的组合性与一致性。 ( 2 ) 动态致性要求( 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 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 s ,简 称p i c s ) ,列出其所有已实现的功能,从而通知测试方进行何种测试。为测 试一个协议的实现,测试实验室除了需求由p i c s 提供的信息外,还需要与i u t 和它的测试环境相关的信息,即协议实现额外信息p i x i t ( p r o t o c o l i 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 ) 。在p i x i t 中提供了如时钟、连 接地址等具体的说明信息,它作为抽象测试集的一部分提出【2 2 】。能满足动态 和静态一致性要求,并且符合p i c s 中陈述的能力的系统或实现,就是一致性 系统或一致性实现。对静态一致性要求的测试通过静态一致性分析( s t a t i c c o n f o r m a n c er e v i e w ) 实现,将p i c s 与协议中的静态一致性要求相比较。对 动态一致性要求的测试体现在测试行动( t e s tc a m p a i g n ) ,即运行测试集对r u t 8 西华大学硕士学位论文 进行测试。动态一致性测试是i s 0 9 6 4 6 q b 定义的一致性评价过程的核心,又可 以划分为四种测试类型: ( 1 ) 基本互连测试( b a s i ci n t e r c o n n e c t i o nt e s t s ) :对测试系统与被测协议实 现之间的基本互连能力进行测试,以确定是 否需要进行更进步的、花费更多的行为测 试; ( 2 ) 能力测试( c a p a b i l i t yt e s t s ) :确定 被测协议实现是否实现了p i c s 中所声明的 功能:, ( 3 ) 行为测试( b e h a v i o rt e s t s ) :检测被测 协议实现的动态行为是否与协议标准中的 描述相一致: ( 4 ) 一致性分析测试( c o n f o r m a n c e r e s o l u t i o nt e s t s ) :根据特定要求,对刑t 的一致性进行深度探索,以提供一种“是 或“非 的肯定回答,以及提供与特定一致 性问题有关的诊断信息。此测试还没有被标 准化。 协议标准文本 形式化搞 协议形式化说明 1 i 抽取 被测实现i u t测试目标 + 自动或 (测试生成 , 测试例描述 ( 测试实现 1 :被测实现) 可执行测试例 0 选择漶试8 ( 爵试执行 t 测试报告 f i 9 2 ip r o e e s s o fp r o t o c o lc o n l o n n a n c c t 嘲 图2 1 协议一致性测试的过程 2 3 一致性测试的过程 一致性评价过程是评估某实现或系统与一个或多个1 1 u t 建议或国际标 准相一致的所有一致性测试活动的全过程【2 3 】,如图2 1 所示。它分三个阶段: 测试生成,测试实现和测试执行。 ( 1 ) 测试生成。抽象测试集的生成是为一个特定的协议产生一个独立于所 有协议实现的抽象测试集a t s ( a b s t r a c tt e s ts u i t e ) 。 ( 2 ) 测试实现。在这一阶段,根据协议实现的p i c s 和p i x i t 从一致性测试 集中选取适当的测试例,并使用p i x i t 提供的信息来量化这些测试例,从a t s 生成可在实际的测试系统上执行的测试集,最终产生参数化的可执行测试集 【2 4 1 。 9 西华大学硕士学位论文 ( 3 ) 测试执行。包括哪t 的p i c s 分析和测试集的执行。i u l i 的p i c s 分析 是分析该协议实现的p i c s 与有关标准指定的静态一致性要求相一致。可执行 测试集的执行是对被测协议实现运行已具体化的测试例,并对i u t 的外部行为 响应进行观察,最终可以得到一个一致性的判决。它包括行为测试与已知的 p i c s 分析及能力测试结果的综合。从中可以看出是否这些结果与p i c s 表述的 能力相一致,从而可获得i u t 关于标准要求的一致性结论,这些结果记录于一 致性测试报告中。 2 4 一致性测试的方法 2 4 1 端系统的测试方法 对分层的协议体系结构,i s o 为被测系统定义了一些标准化的抽象测法 ( a b s t r a c tt e s tm e t h o d s ) 。抽象测试方法是对测试结构的一种抽象的观点, 包括对系统的测试接口的定义。为了说明抽象测试方法,给出如下基本概念。 控制观察点p c o ( p o i n t so fc o n t r o la n do b s e r v a t i o n ) 。测试系统和i l t 之 间的通信点。测试系统通过p c o 访问i u t ,通过控制观察点,测试系统既 可以对通信进行初始化,也可以观察通信结果。控制观察点一般定义在服 务访问点s a p 上。 被测系统s u t ( s y s t e mu n d e rt e s 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 ) 。作为测试目标的系统或者协 议实现( p r o t o c o li m p l e m e n t a t i o n ) ,被测实现可以作为被测系统的一部 分,嵌入被测系统中。 上测试器( u p p e rt e s t e r ) 。是一个测试系统或测试系统的一部分,它在被 测系统的上层控制p c o 。它通过i u t 的上侧s a p 与1 u t 进行通信。 下测试器( l o w e rt e s t e r ) 。是一个测试系统或测试系统的一部分,它在被 测系统的低层控$ i j p c o 。它通过肼的下侧s a p 与t 进行通信。下测试 器同时负责给出测试判定。 测试协作过程( t e s tc o o r d i n a t i o np r o c e d u r e ) 。包含合作规则的集合, 例如,上测试器和下测试器之间的同步。 服务提供者( s e r v i c ep r o v i d e r ) 。是测试结构的一部分,假设被测系统 1 0 西华大学硕士学位论文 位于网络体系结构的第n 层,服务提供者为它提供n 1 层的功能。服务提供 者为肌和下测试器之间提供通信环境。i s o i e c 9 6 4 6 根据不同的控制观 察点定义了不同的抽象测试方法,认为现有的端系统抽象测试方法基本上 可以分为四类,即本地测试法、协调测试法、分布测试法和远程测试法, 它们的结构,如图2 2 所示。每种端系统抽象测试方法可以用两个抽象测 试功能描述【2 孔,即由测试协调过程联系起来的上测试器( u p p e rt e s t e r , 简称u t ) 和下测试器( l o w e rt e s t e r ,简称l t ) 。肌则位于一层或多层 已经过测试的协议实体之上( 以下称之为服务提供者) 。端系统抽象测试 方法的选择依赖于被测协议实现的上下边界的可访问性【2 6 】。 , 本地测试法分布测试法 协调测试法远程测试法 f i g2 。2f o u rm e t h o d sf o rt e s to f e n ds y s t e m 图2 2 四种端系统测试方法 本地测试法。本地测试法的一个基本前提是在册的上下边界都存在暴 露的服务访问接口,上下测试器控制这些访问接口来激励t ,并观察 i u t 的输出响应。在本地测试法中,上下测试器以及测试协调过程是在同 一个系统中实现的。在本地测试法中的上测试器和下测试器,分别对应于 i u t 的上下接口。上下测试器的作用是在t 的上下接口处通过交换测 西华大学硕士学位论文 试事件来观察i u t 的行为,测试协调过程用于协调上下测试器的运作, 下测试器同时记录所有的测试事件以作为测试判决的依据。当协议的一致 性测试是由独立的第三方进行,或者测试器与m 位于不同的地点,常 有的总是无法对i u t 的下边界进行直接的访问,所以i s 0 9 6 4 6 又定义了 三种外部测试方法( 所谓外部是针对i u t 来讲的) :分布式测试法、协 调式测试法和远程测试法这三种外部测试方法假定在i u t 的下边界不存 在p c o 。在这三种外部测试方法中,对i u t 的激励和观察功能又可以分 成本地和外部两部分。 分布式测试法。在分布式测试方法中,下测试器和砌t 处于两个不同的系 统之中,下测试器位于测试系统中,上测试器位于被测系统i u t 中。下测 试器和t 是对等实体,它们之间通过提供n 1 层服务的底层协议实现来 连接,上测试器与肼在同一个系统中,i u t 必须有暴露的上边界服务访 问接口。 协调测试法。下测试器和i u t 是对等实体,它们之间通过提供n 1 层服务的 底层协议实现来连接。上测试器与砌t 在同一个系统中,册不一定有暴 露的上边界服务访问接口。上测试器要用标准的测试管理协议( t e s t i n g m a n a g e m e n tp r o t o c 0 1 ) 和测试管理协议的数据单元( t m - - p d u ) 与下测试 器来协调完成测试实现。协调测试法是最复杂的一种抽象测试方法,它要 求在上下测试器之间存在高度的测试协调,并在上下测试器中对所收集和 观察到的信息进行报告。上下测试器之间的通信可以是“i n - b a n d ”方式的 ( 即通过被测协议传送t m p d u ) ,也可以是“o u t - o f - b a n d ”方式的( 即 使用一个足够可靠的底层协议来传送t m p d u ) 。到目前为止,i s o 还未 定义出独立于任何应用的标准化的测试管理协议,也未对使用“i n - b a n d ” 还是“o u t o f - b a n d 方式提出建议。

温馨提示

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

评论

0/150

提交评论