已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)面向测试状态变迁的可执行测试例生成技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 本硕士论文反映的工作是以网络测试为背景。四川省网络通信重点实验室 提出了一种多端口并发测试技术多端口并发穿越测试法,这种方法可以评价单 一的路由器,也可以对网络进行性能测试和监控。目前实验室正致力于基于多 端口并发穿越测试法的分布式多端口并发测试系统的开发。分布式多端口并发 测试系统由多个双端口测试器和一个多端口并发测试控制器组成,每个双端口 测试器测试监控被测路由器的一对端口,多端口并发测试控制器作为主测试器 通过网络与各个双端口测试器相连来协调各个双端口测试器的测试过程。本论 文的重点是对t t c n 3 抽象测试集到双端口可执行测试例的生成技术进行研究。 为适应现代高速路由器测试,本实验室采用编译的方法来转化t t c n 3 测 试例。从抽象测试集的分析中可知网络测试过程是面向测试状态变迁的,也就 是说,每一个测试步本质上可以描绘成一个测试状态变迁表。因此,本论文提 出面向测试状态变迁的方法来处理测试树中的各个测试步,每一个测试树可以 映射成一个小的测试状态变迁表。这种方法以一种统一的方式来简化测试例主 要部分的操作。依据这个想法,笔者重新设计了t t c n 3 c + + 编译器,初步的 编译和测试实验表明了其可行性。 在研究新的编译器框架之外,笔者重新设计实现了t t c n 3 语言的语法分 析、语义分析和c + + 代码生成。并且在实现了p d u 编解码器和支撑层适配器后, 对t t c n - 3 c + + 编译器原型进行了初步的测试实验。虽然新的t t c n - 3 c + + 编译 器仍处于初步研究阶段,但是本论文所反映的工作对可执行测试例生成研究提 供了一个可行方法。通过进一步的完善与实验,笔者相信面向测试状态变迁的 方法会是现有方法的一个替代。 关键词:多端1 2 1 并发穿越测试法,分布式多端e l 并发测试系统,编译器,面向 测试状态变迁,可执行测试例 西南交通大学硕士研究生学位论文第1 l 页 a b s t r a c t t h eb a c k g r o u n do ft h ew o r kp r e s e n t e di nt h em s cd i s s e r t a t i o ni sn e t w o r k t e s t i n g s i c h u a nn e t w o r kc o m m u n i c a t i o nt e c h n o l o g yk e yl a b o r a t o r y ( s c - n e t c o m l a b ) h a si n t r o d u c e dam u l t i - p o r tc o n c u r r e n tt e s tm e t h o dc a l l e dm p c - t t m ( m u l t i p o r tc o n c u r r e n tt r a n s v e r s et e s tm e t h o d ) b o t hf o rs i n g l er o u t e re v a l u a t i o n a n df o rn e t w o r kp e r f o r m a n c et e s t i n ga n dm o n i t o r i n g ad i s t r i b u t e dm u l t i p o r tc o n c u r r e n tt e s ts y s t e m ( d m c t s ) b a s e do nm p c - t t mi sc u r r e n t l yu n d e rd e v e l o p m e n t a ts c n e t c o ml a b t h ed m c t si sf o r m e do ft w of u n c t i o n a lp a r t s :m u l t i p l et p t s ( t w o - p o r tt e s t e r s ) ,e a c ho fw h i c ht e s t sa n dm o n i t o r sap a i ro fp o r t so ft h er o u t e ru n d e rt e s t ,a n dam u l t i p o r tc o n c u r r e n tt e s tm a n a g e r ( m p c t m ) ,w h i c ha c t sa st h e m a s t e rt e s t e rt oc o o r d i n a t et h et e s tp r o c e s so fi n d i v i d u a lt p t st h r o u g hn e t w o r kc o n - n e c t i o n s t h i sd i s s e r t a t i o ni sd e d i c a t e dt oe x e c u t a b l et e s tc a s eg e n e r a t i o nt e c h n i q u e s f r o mt t c n 一3s p e c i f i c a t i o ni nt p l s s c - n e t c o ml a bh a st a k e nt h ec o m p i l i n ga p p r o a c ht o w a r d sc o n v e r s i o no ft e s t c a s e si nt t c n - 3t oc a t e rf o rm o d e mh i g h s p e e dr o u t e rt e s t i n g a n a l y s i sh a ss h o w n t h a tn e t w o r kt e s t i n gp r o c e s si s t e s t s t a t et r a n s i t i o n o r i e n t e d ,i no t h e rw o r d s ,e a c h t e s ts t e pc a ne s s e n t i a l l yb er e p r e s e n t e da sat e s t - s t a t et r a n s i t i o nt a b l e c o n s e q u e n t l y , t h i sd i s s e r t a t i o np r o m o t e sa t e s t s t a t et r a n s i t i o n o r i e n t e da p p r o a c hi nd e a l i n gw i t h i n d i v i d u a lt e s t s t e p si nat e s tt r e e ,e a c ho fw h i c hi sm a p p e do n t oam i n i a t u r et r a n s i t i o nt a b l e ,w i t h i nw h i c hf r e q u e n t l yu s e dt e s ta c t i o n sc a nb er e t r i e v e df r o mt h e a c t i o n ”b a s ef o rp a r t i c u l a rp r o t o c o ld u r i n gc o m p i l i n g t h i ss i m p l i f i e sh a n d l i n go ft h e m a i np a r to fat e s tc a s ei nau n i f i e dm a n n e r f o l l o w e dt h i st h i n k i n g ,t h ea u t h o rh a s r e d e s i g n e ds c - n e t c o ml a bt t c n 3 c + + c o m p i l e ra n dp r e l i m i n a r yc o m p i l i n ga n d t e s te x p e r i m e n th a v es h o w np r o m i s i n g a p a r tf r o mt h ef r a m e w o r ko ft h en e wc o m p l i e r , p r o g r a m sf o rs y n t a c t i ca n ds e m a n t i ca n a l y s i s ,a n d “c h “c o d eg e n e r a t i o n ,h a v ea l lb e e nr e d e s i g n e d t o g e t h e r 丽m i n t e r f a c e so fs a m p l ep d u e n c o d e r d e c o d e ra n dw i t ha d a p t e ro fs u p p o r tl a y e r s ,a l l o p e r a t i o n a lp r o t o t y p et t c n 一3 c + + c o m p i l e r ( v e r s i o n3 ) i sf l e d g e df o rf u r t h e rt e s t e x p e r i m e n t s ,n l ew o r kp r e s e n t e di nt h i sd i s s e r t a t i o nh a sl e dt oap r o m i s i n gd i r e c t i o n i ne x e c u t a b l et e s tc a s e sg e n e r a t i o nf r o mt t c n - 3a l t h o u g hi ti ss t i l li ni t sp r e l i m i n a r y s t a g e w i mf u r t h e rr e f i n e m e n ta n de x p e r i m e n t ,t h ea u t h o rb e l i e v e st h a ti ti sab e t t e r 西南交通大学硕士研究生学位论文第l | l 页 a l t e r n a t i v et oe x i s t i n ga p p r o a c h k e yw o r d s :m p c - t t m ( m u l t i p o r tc o n c u r r e n tt r a n s v e r s et e s tm e t h o d ) ,d m c t s ( d i s t r i b u t e dm u l t i p o r tc o n c u r r e n tt e s ts y s t e m ) ,c o m p i l e r “t e s t - s t a t et r a n s i t i o n ”, o r i e n t e d ,e x e c u t a b l et e s tc a s e 西南交通大学硕士研究生学位论文第v i i 页 a t s 本文部分术语缩写的中英文对照表 d m c t s e t c g e t c i u t l t m m p c t - c m p m p c t d l p c o s t c e t 盯 t t m a b s t r a c tt e s ts u i t e 抽象测试集 d i s t r i b u t e dm u l t i p o r tc o n c u r r e n tt e s ts y s t e m 分布式多端口并发测试系统 e x e c u t a b l et e s tc a s eg e n e r a t o r 可执行测试例生成器 e x e c u t a b l et e s tc a s e 可执行测试例 i m p l e m e n tu n d e rt e s t 被测实现 l o o p - b a c kt e s tm e t h o d 回绕测试法 m u l t i p o r tc o n c u r r e n tt e s t i n gc o n t r o l l e r 多端口并发测试控制器 m u l t i p o r tc o n c u r r e n tt e s t i n gc o o r d i n a t i o n & m a n a g e m e n tp r o t o c o l 多端口并发测试协调管理协议 m u l t i p o r tc o n c u r r e n tt e s td e f i n i t i o nl a n g u a g e 多端口并发测试定义语言 m u l t i p o r tc o n c u r r e n tt r a n s v e r s e r e s tm e t h o d 多端口并发穿越测试法 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 控制观察点 s i n g l et e s tc a s ee x e c u t o r 单测试例执行器 t w o p o r tt e s t e r 双端口测试器 t r a n s v e r s et e s tm e t h o d 穿越测试 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密砀,使用本授权书。 ( 请在以上方框内打“”) 学位论文作者签名:剥至仙 日期:瑚8 - 量1 7 指导老师签名 日期:叼3 孓。6 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: l _ ) 为适应测试各种细化的状态变迁的需要,提出面向测试状态变迁的方法 来处理测试树中的各个测试步,每一个测试树可以映射成一个小的测试状态变 迁表。 2 ) 在将t t c n 3 抽象测试集转化为可执行测试集的过程中扩展出测试状 态,给出了以测试状态变迁表的方式控制测试执行流程的执行机制,这种方法 以一种统一的方式束简化测试例主控部分的操作,提高了主控程序对i t u 响应 和同步消息的反应能力,不仅可以解决的分布式测试系统中的观察问题,而且 大大减少了测试器之问的同步协调过程,使测试过程具有更全面准确的优点。 学位论文作者签名:参仁仙 日期:) 啭年5 月1 3 日 西南交通大学硕士研究生学位论文第1 页 1 1 研究背景 第1 章绪论 路由器是计算机网络的通信子网中的关键设备,其功能、性能直接影响到 网络提供的服务和服务质量。因此,对路由器进行各种测试和评价具有十分重 要的意义。8 0 年代初期,国际上就开始研究路由器的测试技术,i s o 有关测试 技术研究工作组,对o s i 中继中间系统( o s ir e l a y i n t e r m e d i a t es y s t e m ) 规定 了两种测试法【l 】,即回绕测试法( l t m l o o p b a c kt e s tm e t h o d ) 和穿越测试 法( t 州一t r a n s v e r s et e s tm e t h o d ) 。对路由器的测试多年以来也一直沿用这两 种方法。如果运载测试数据p 报文中,目的地址与源地址相同,则从测试器发 向路由器的p 报文在路由器输入单元中查找路径表后,将被自动送回测试系统, 这就是“回绕测试法”。这种路幽器测试法十分简单,但由于测试过程中,测试 数据只经过单个测试端口的输入、输出单元,而未涉及路由的核心转发功能, 因此,对路由器的功能测试不全面。我国访问学者曾华粲在英国国家物理实验 室( n p l n a t i o n a lp h y s i c a ll a b o r a t o r y ) 工作期问,针对回绕测试法的缺点提出测 试数据应当从一个端口进入,经过输入单元的处理,根据路径表被交换结构 ( s w i t c hf a b r i c ) 转发到另一个端口,再回到测试系统,以模拟路由器的真实工 作过程并穿越了路由器,他将该法称为穿越测试法【2 训。由于该法在测试能力上 优于回绕测试法,所以至今仍是测试路由器的主要方法。 但是,穿越测试法是针对路由器进行功能测试,或者说针对“一致性测试 ( c o n f o r m a n c et e s t i n g ) ,即验证路由器内的协议的硬软件实现是否符合相关的 协议的测试提出来的。对于路由器的性能测试而言,利用穿越测试法对路由器 单对端口进行测试,并未考虑多对端口问的并发数据流对性能测试结果的影响; 如果利用多个测试器分别对不同端口对进行性能测试,除非将所有测试器置于 同一系统之中,这样并发测试器间的同步问题必须得到解决。另一方面,对路 由器的全面评价还与测试器发出的数据到达统计规律有关,数据流的产生和并 发数据流间的同步控制问题将更为困难。为此,四川省网络通信重点实验室提 出了“多端口并发穿越测试法”( m p c t t m m u l t i p o r tc o n c u r r e n tt r a n s v e r s e 西南交通大学硕士研究生学位论文第2 页 t e s tm e t h o d ) 1 5 - 7 1 。该方法能够实际模拟路由器的工作状态,通过观察被测试路 由器的响应对其进行判决。定义了“多端口并发测试语言( m p c t d l m u l t i p o r tc o n c u r r e n tt e s td e f i n i t i o nl a n g u a g e ) i s 9 1 ,并且对已有的双端i s l 测试控 制数据描述语言t t c n 3 t m l 3 】( n l et 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 ) 进行了扩展【1 4 】,对i e t f 有关性能测试度纲【1 5 1 进行了扩展和改进【1 6 】。以上述研 究工作为基础,实验室正致力于“分布式多端口并发测试系统( d m c t s d i s t r i b u t e dm u l t i p o r tc o n c u r r e n tt e s ts y s t e m ) 的开发工作。 1 2 分布式多端口并发测试系统 笔者所在的四川省网络通信重点实验室目前j 下在进行分布式多端口并发测 试系统的开发工作。该测试系统具有用于并发测试的同步协调机制和灵活的配 置,能对路由器多个端口输入数据的并发特征和各类数据到达率进行模拟,较 完整地再现了多端口路由器实际工作的网络环境,从而能在很少改动甚至不改 动配置的情况下完成对路由器的各类测试【l 酊,解决了单对端口测试系统不能全 面评测多端口路由器的问题,使测试更准确、更完备。d m c t s 系统及其支撑 环境如图1 1 所示。 d m c t s 由上下两级结构组成,上级为多端口并发测试控制器( m e c t c m u l t i p o r tc o n c u r r e n tt e s t i n gc o n t r o l l e r ) ,下级为双端口测试器( t p t t w o p o r t t e s t e r l 。m p c t c 和t p t 为物理上独立的设备,可在p c 上实现,二者间利用 交换机实现高速互联,并通过专用通信协议m p c t - c m p ( m u l t i p o r tc o n c u r r e n t t e s t i n gc o o r d i n a t i o n & m a n a g e m e n tp r o t o c 0 1 ) t 1 9 】实现两级测试系统间的协调、同 步和测试信息的交换。 上级负责对下级多个t p t 进行系统配置:根据多端口测试集为各t p t 指派 相应的双端口测试集;在测试例的执行过程中协调多个并行1 1 p t 测试进程同步 运作,控制测试数据的并发性;在并发测试过程中控制多端口测试数据的显示、 并发测试例的静态或动态选择;根据测试进展为多端口测试下结论。t p t 既可 以作为分布式多端口并发测试系统的下级测试执行与控制设备,又可以作为独 立的双端口测试设备进行相关的测试。 图1 1 的左半部为测试系统的测试执行部分,由硬软件共同组成;右半部 为测试控制数据生成部分,它包括测试控制数据描述语言本身和将该语言转换 为测试系统可执行的机器代码的工具( m p c t d l 转换器、t t c n 3 编译器和c + + 西南交通大学硕士研究生学位论文第3 页 m p c t c 测 试控制终端 数据文件系 统:测试结 果分析与测 试报告生成 测试记 多端口并发漉试控锄器( m p c t mm u l t i p o r t c o n c u r r e n tt e s tc o n t r o l l e r ) 用户接口模块( u i m ) : 川j 1 界面、系统仞始化 子模块、测试过程动态 显示模块 控制管理命令、应 答、显示数据、同 步信息k t p t 测试控制终端 盛 t p t 测试结果 分析与测试报 告生成,日志记 录模块f l m l 鬻萋篓! 磐,i 羞器蓑例 型曩奎选i 买! 。菊试 择模块 i 至控一一 一为t p t 指派的测试| :例信息、t p r 测试i 一;:趔垫堑绫墨鱼星二 并发一双端口测试控 制器接口模块 显示数据、同步信息曩占! :“:警篙警 t p t j 目,、接口lt p t t m 和m p c 一 模块( u i m ) lt m 接口模块( 1 m ) 双端口溅试管理器 t p t - t m ( t w 0p o r t e s t e r t e s tm a n n a g e r ) 吲 i 霉塑兰? 鬟褂淼 l 二塑塑鳖釜三壁燮引羞粼鲫卜仝, 赢鬻致胯删磊五磊 羹群雩菰陲果分析与测产型 试报告生成l 州志记录j 翱撇 et蹦est行器(stcesinglet e s tc a s ee x e c u t o r 一) 隅瓣 l ” 吾磊为面夏存i 一一一一一一一一一 f 蔫试例的一韶f 一一一兰兰竺一一_ 兰二= 蛐 被测层网络软硬件支撑平台 ; 测试执j 。邦什 一 【f 执行测试托制雄, 成鄹什 图1 - 1 分布式多端口并发测试系统 编译器) 。多端口并发测试定义语言( m p c t d l ) 是实验室为宏观描述并发测试 而定义的新语言,它的主要任务是从并发测试的角度对多个并发双端口测试过 程进行宏观描述,特别是它们之间的协调和同步,所描述的双端口测试例将以 扩展的t t c n 3 语 j 为基础。t t c n 3 编译器将用t t c n 一3 描述的抽象测试集 ( a t s a b s t r a c tt e s ts u i t e ) 事先编译为c + + 程序,经过c + + 编译器编译后形成 测试系统可执行的测试控制集。 二蕊触一 嘉涮茅一 和 d 译 盯编器 z卜0dl亡椎酎啦疆磊鲻壤口强精 ; 兰勰列 t 孓一 l u r 描象, 西南交通大学硕士研究生学位论文第4 页 1 3 本论文的研究目标与主要内容 1 3 1 本论文的研究目标 在图1 1 所示的分布式多端口并发测试系统中,笔者的研究与开发工作的 具体对象是双端口测试器,重点是可执行测试控制集的生成器设计( e t c g e x e c u t a b l et e s tc a s eg e n e r a t o r ) ,即如何将t t c n 3 定义的抽象测试集转换为单 测试例执行器( s t c e s i n g l et e s tc a s ee x e c u t o r ) 可执行的测试控制集。 实验室前期采用t t c n 一3 c 的编译方式获取双端口测试器的可执行测试例, 即将t t c n 3 描述的抽象测试集编译转换c 代码,再将这些c 代码经c 编译器 编译转换成可执行的目标代码。这种方法通过实现预处理以获得比实时解释方 式更高的执行效率。迄今为止,已经初步完成了t t c n 3 cv 1 的开发与初步试 验工作。 实验室前期的研究与开发,在实现思路上,基本上沿袭了传统编译程序的 设计方式,没有体现测试过程具有明显的以测试状态变迁为中心的特点,生成 的可执行测试控制集没有照顾到网络测试的特殊性。通过对t t c n - 3 c 编译器 ( v 1 ) 在多端口测试系统环境下的初步实验,特别对高速路由器交换机的测试, 结果表明按照传统编译程序实现方式生成的可执行测试例在准确性和效率方面 都不够高。 本课题的研究目标是探讨如何将传统编译方式与测试状态变迁相结合来实 现t t c n 3 到c + + 代码的转换,使最终的可执行测试例以状态变迁为核心,高 效准确地控制测试的执行过程。 l - 3 2 本论文研究的主要内容与笔者的贡献 由于设计思想上的变化,实验室前期有关t t c n 3 c “1 ) 的工作中的 t t c n 3 的语法分析、代码生成部分的设计与笔者的设计差异很大,需要重新设 计实现。因此,本课题的难度大、工作量大。在本次硕士研究工作中,将把研 究的重点放在基于测试状态变迁的c + + 测试代码生成机制上,即t t c n 3 语言 到c + + 语言的编译设计。笔者具体完成的研究和开发工作可以概括为: ( 1 ) 针对t t c n 3 c ( v 1 ) 编译器生成的代码在执行时出现的不足,设计以 西南交通大学硕士研究生学位论文第5 页 测试状态变迁为核心控制测试过程的执行机制; ( 2 ) 设计与开发可执行测试例生成器,其中t t c n 3 语言到c + + 语言的 编译程序开发是一件较为复杂的工作,具体包括: 筛选出本系统必须实现的核心子集: 重新设计与实现t t c n 3 c + + 的词法分析、语法分析部分,扩展了第一 版编译器对t t c n 3 的某些复杂语法的分析与编译不支持的功能; 针对于t t c n 3 中专用于描述测试的语法结构和操作语义设计对应的 c + + 元素,简化代码生成过程; ( 3 ) 由于可执行测试例必须由测试管理器进行配置,且与底层通信设备 适配后才能运行,因此实现了双端口测试例执行环境用以测试实验。 在前期同学的研究与开发工作的基础上,通过笔者的上述工作,完成了基 于测试状态变迁的测试控制机制的设计;以面向对象的方式实现了t t c n - 3 语 言特有的模板匹配机制和专用于测试的成分、端口等类型的封装,简化了从 t t c n 3 到c + + 语言转化的难度;实现了可运行的从t t c n 3 到c + + 语言测试代 码生成。通过初步的测试实验表明,笔者所设计基于测试状态变迁的测试控制 机制是可行的,对四川省网络通信重点实验室的分布式多端口并发测试系统提 供了较好的支持,为整个项目的开发做出了一定的贡献。 1 4 论文的组织结构 本论文的后续章节主要内容有:双端口抽象测试集分析,讨论在多端口环 境下,单独运行在各个端口的测试序列的特性和协议测试本身专有的特性;可 执行测试例设计与生成,讨论t t c n 3 语言到c + + 语言的编译设计与具体的程 序实现;双端口测试例执行环境设计与实现,讨论双端口测试器中各个模块的 关系,并实现了各个模块的功能;最后是实验方案的设计与实验结果的分析。 其组织结构如下: 第2 章分析了双端口抽象测试集特征,总结出单独运行在各个端口的测试 序列必须保持同步的要求和协议测试本身专有特性使得t t c n 3 抽象测试集具 有的独特性。 第3 章介绍笔者工作的重点:可执行测试例生成设计与实现。依据抽象测 试集具有的特殊性,讨论了t t c n 3 语言的词法分析、语法分析,以及反映协 议测试状态变迁的测试控制数据生成机制与实现。 西南交通大学硕士研究生学位论文第6 页 第4 章介绍双端口测试器中各个模块的接口信息,实现单测试例执行器、 编解码器和支撑层适配器,使可执行测试例在双端口测试器上执行。 第5 章笔者利用所设计的可执行测试例生成器在双端口执行环境下进行实 验,并对实验结果进行分析,初步证实了基于测试状态变迁的测试控制机制的 设计思想是可行的,所设计的程序可用于实际的协议测试。 最后总结了笔者的工作,并对未来需要进一步完成的工作进行了分析和展 望。 西南交通大学硕士研究生学位论文第7 页 第2 章双端口抽象测试集分析 2 1 测试集描述语言t t c n - 3 基本的测试实现都是通过外部测试系统与被测系统交换事先定义的测试控 制数据,观察被测系统对测试控制数据应答的来完成。为了描述测试控制数据 通常需要定义标准或专用的测试控制数据定义描述工具,即测试控制数据描述 :五吉 旧口。 为了使测试控制数据具有可比性,i s o 和c c i t t 推荐的用于描述抽象测试 集的一种形式化方法t t c n ( t r e ea n d t a b u l a rc o m b i n e dn o t a t i o n ) 。该语言的采用 表格形式来描述测试树。但t t c n 在描述协议实现的复杂行为时,例如路由协 议测试r i p ,o s p f ,b g p 等,显得力不从心。于是,欧洲通信标准协会( 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 n ss t a n d a r d si n s t i t u t e ) 发布了t t c n 3 ,缓解了t t c n 的窘境。目前,这种描述方法已被广泛接受,而且其应用领域也在不断扩展。 作为一种测试描述语言,t t c n - 3 提供了一些适合于描述测试实体的数据类 型,主要是端口类型( p o r t ) 、成分类型( c o m p o n e n t ) 和判决类型( v e r d i c t t y p e ) 。端口 类型实际上是对测试器与被测实现( i u t i m p l e m e mu n d e rt e s t ) 接1 3 、测试器 之间接口的抽象表示。成分类型是对测试器的抽象表示,每个测试器可以看作 是一个测试成分。测试成分是测试活动中可以独立运行各种操作的实体。测试 成分内可以包含端口、定时器、变量等。判决类型是一个枚举类型,取值可为 f a i l 、p a s s 等。每个测试成分( 测试器) 维护一个本地测试判决,如果t 的输出 与测试成分的期望值相符,则设置本地测试判决为p a s s ,表示肼通过本地一 致性测试;否则设置本地测试判决为f a i l ,表示肼中存在错误。 图2 1 中是一个典型的t t c n 3 描述的测试系统配置示意图,在测试过程 中,多个测试成分( 测试器) 可以并发运行。在执行测试例的过程中,必须仅存在 一个主测试成分( m t c m a i nt e s tc o m p n o n e t ) 。主测试成分和并行测试成分 ( p t c p a r a l l e lt e s tc o m p o n e n t ) 可以创建、启动和停止另外一个p t c , m t c 的 终止表示测试例的执行结束。m t c 的作用通常是收集各个p t c 的本地测试判 决,并产生最终的全局测试判决。测试成分的端口之间可以动态地建立连接 西南交通大学硕士研究生学位论文第8 页 ( c o n n e c t ) 和断开连接( d i s c o r m e c 0 。测试成分的端口与肼的端口之间可以动态 地建立映射( m 印) 和断开映射( u n m a p ) 。 图2 1 一个典型的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 2 多端口并发穿越测试法 四川省网络通信重点实验室针对中继设备路由器的测试提出了一种新的测 试方法:多端口并发穿越测试法【2 0 1 ( 图2 2 ) 。该方法中测试器将被测路由器包 围起来,测试系统能同时观察所有端口,并能向所有端口发送测试数据,模拟 出路由器各种情况下的实际工作环境,可以同时实现一致性测试、性能测试、 互通性测试,并且使得测试更加全面、完备和准确。 由于协议体系处于分层的结构中,所以对被测路由器的具体测试是由测试 器通过每个控制观察点( p c o p o i n t so f c o n t r o la n do b s e r v a t i o n ) 利用( n 一1 ) 层 服务提供者向同层对等测试器传送测试数据即n 层协议数据单元( p d u 西南交通大学硕士研究生学位论文第9 页 p r o t :o c o ld a t au n i t ) 来实现的【2 。 图2 2 路由器多端口并发穿越测试法示意图 从图2 2 可以看出,在路由器多端口并发穿越测试法中,被测路由器的多 个端口与多个双端口测试器连接,每个双端口测试器模拟了路由器每个端口上 的运行状态,在一个多端口测试控制器的控制下运行双端口测试例,从而形成 一个集中管理下的分布式测试系统。 多端口测试控制器统一管理和控制多个测试器去执行具体的测试任务,而 整个测试的内容步骤以及过程的协调和同步都由测试控制器决定。测试器可以 独立地应用穿越测试法和回环测试法进行测试,同时也可以在测试控制器的调 度下和其他测试器共同完成对路由器多个端口的穿越测试。 双端口测试器既可以作为d m c t s 的下级测试器同时也可以与其它双端口 测试器一起实现对路由器进行多端口并发测试。在实际的路由器测试中,可以 跟据测试场景灵活选择双端口测试器的个数和配置,使得被测路由器能在一个 模拟的真实网络中运行。双端口测试器的两个端口组成一个测试对,也可以接一 受测试管理器的配置命令用其中一个端口与其它双端口测试器的一个端口组成 一个测试对,采用穿越测试法对路由器端口进行穿越测试。测试器通过在一个 端口发送n 层p d u ,在另一个端口接收被测路由器的响应p d u ,从而获得局部 的或中间的测试结果。测试数据发送端和接收端可以位于同一个双端口测试器, 也可以是位于两个不同的双端口测试器。但是如果收发端位于同一个测试器中, 则不存在同步问题;如果收发端位于不同的测试器中,则需要一定的同步手段。 对于路由器的测试通常需要多个双端口测试器同时参与测试,这种情况下, 将会发生同步问题( s y n c h r o n i z a b l ep r o b l e m ) 也就是说控制观察问题i 2 2 j 西南交通大学硕士研究生学位论文7 第1 0 页 ( c o n t r o l l a b i l i t ya n do b s e r v a b i l i t yp r o b l e m ) 。控制问题指的是测试部件无法确定 何时在其p c o 上施加外部输入。对于两个相邻的全局变迁,即包含被测系统所 有端口行为描述的测试序列中相邻的状态变迁,如果第二个全局变迁的外部输 入所对应p c o 与第一个全局变迁的最后一个输出所对应的访问点不同时,测试 器将无法确定何时向被测系统施加第二个全局变迁的外部输入。为解决控制问 题,必须使收到第一个全局变迁最后一个输出的测试器通过多端口测试控制器 向施加第二个全局变迁外部输入的测试器发送一个协调消息,以通知该测试器 可以施加外部输入了。观察问题指的是测试器不能确定何时在其p c o 上开始接 收( 观察) 输入输出动作。观察问题将会导致无法检测出输出移位错误 ( o u t p u t f a u l t ) 2 2 】。当某全局变迁的输出所对应的p c o 与该全局变迁的外部输 入对应的p c o 不相同时,相关的测试器将不知从何时开始观察该全局变迁的输 出。为解决观察问题,应在施加外部输入前,从施加外部输入的测试器通过多 端口测试控制器向有接收输出的测试器发送协调消息。由该协调消息通知各测 试部件开始观察输出。 :。 上面分析可知,由于多个分立的双端口测试器的引入,使得测试系统自身 的控制观察能力下降了。为了解决分布式测试中的同步问题,已有上届同学对 t t c n 3 设计了同步机制的扩展,通过加入外部协同消息使测试过程同步,定义 了三类同步点:空同步点、初始化同步点、过程同步点,不同的同步点用不同 的关键字进行定义。在双端口测试集中把一个完整的测试分解为一系列行为和 动作,并且加入同步点,以配合上层的管理控制协调,上层通过控制每个双端 口测试器的每一个测试步从而达到同步控制,从而同步问题就在测试集描述的 定义中解决。这样,双端口测试集就必须具有同步协调的特点。 2 3 以路由器为对象的抽象测试集 d m c t s 主要实现路由器的一致性测试、性能测试、互通性测试。其中协 议一致性测试主要是验证网络产品的协议实现的准确性,判断网络产品的协议 实现是否符合协议的国际标准,以保证协议的各种实现版本之间能够互通并进 行可靠的通信【2 3 1 。因此,一致性测试是协议测试的最基本内容,同时一致性测 试集也是最复杂的。 路由器一致性测试通常采用“黑箱”方法,在测试中,测试者只能根据路 由器对输入的应答是否遵:于规范来作分析判断。这种测试并不能保证路由器的 完全正确性,即只能表明存在错误,而不能证明不存在错误。所以要验证协议 西南交通大学硕士研究生学位论文第1 1 页 实现m 是否与协 义规范m 一致,关键是构建有效合理的输入输出测试序列。 通常协议测试序列生成是基于协议有限状态机模型,对变迁进行覆盖测试 f 2 4 】 0 设要验证协议实现m 当前状态为s r 则对任意变迁j ,一山oj ,的测试包括以下 三步: ( 1 ) 使用从s r 转换到s i 所需的输入序列把m 置于状态s i ; ( 2 ) 输入x ,观察输出是否为y ; ( 3 ) 验证变迁的尾状态是否为s j 。 第( 2 ) 步的输入x 和第( 3 ) 步中的尾状态验证序列合起来称为变迁最生- s , 的测试段( t e s ts e g m e n t ) ,也称为变迁序列或者输入输出序列。把所有测试段 以适当的顺序和方式连接起来,就可以得到最终的测试序列【2 5 1 。 变迁s ,出i s ,中x y 是测试系统与刑t 的一个交互的输入与输出动作, 在t t c n 3 测试集描述中,这样一个动作的描述就是一个测试事件,测试事件 是测试集中最小可识别的元素,描述了测试系统与h j t 交互的单个事件。多个 测试事件按一定次序组合在一起可以组成测试步。测试步相当于编程语言的子 程序,用于提高代码的利用率。测试例是整个测试集中比较重要的一层,每个 测试例都具有专门的测试目的,用于验证m t 是否具有某种要求的能力,如支 持某种大小的数据包,或是在特定状态下发生特定事件时做出期待的响应。一 般,测试例由前测试步、测试体和后测试步三部分组成。前测试步将肼从一 个稳定状态引导至该测试例所需的起始状态;测试体组织相关测试事件和( 或) 测试步完成要求的测试验证:然后由后测试步将i l j t 引导至另一个稳定的测试 状态,为下一个测试例的执行做准备。 测试集是协议一致性测试的基础,它是以最基本的测试事件序列的形式, 详细定义了测试系统和协议实体的行为,从而作出测试“通过 或“失败”的 判决。测试集有如图2 3 所示的层次结构。 由以上对抽象测试集的分析可知,测试事件是测试集中最小的单位,描述 了测试系统与t 交互的输入输出事件。测试系统每向肌发出一个激励,即 输入一个测试数据,i u t 就会输出一个响应数据,从而引起测试状态的一个变 迁。所以抽象测试集实际上一系列由输入输出事件引发的测试状态变迁活动的 西南交通大学硕士研究生学位论文第1 2 页 测试集 i i 测试组测试组测试组 测试r 组 测试f 组 测试例测试例测试例测试例 测试步测试步 i 测试事件测试事件测试事件测试事件 图2 3t t c n 3 抽象测试集结构 描述。因此,在d m c t s 的t p t 中用t t c n 3 描述的协议抽象测试集具有以测 试状态变迁为中心的特点。 西南交通大学硕士研
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职健体塑身(塑形理论)试题及答案
- 2025年大学第一学年(管理学)财务管理基础试题及答案
- 江苏教育出版社工商管理硕士入学考试模拟题集试题及答案
- 2025至2030中国跨境电商市场格局分析及增长潜力研究报告
- 2025-2030中国雪纺绣花面料行业运行形势与重点企业发展调研研究报告
- 2026年信息安全工程师面试指南及答案
- 2025至2030中国抗哮喘中药复方制剂供需平衡及投资机会分析报告
- 2025-2030汽车零部件自动化生产线投资计划评价及工艺技术水平提升与市场需求分析
- 2025-2030汽车零部件创新产业市场深度调研及新兴技术发展趋势
- 2025-2030汽车配件行业市场竞争态势技术发展投资前景分析报告
- 2024年养殖业创新合作:肉牛养殖与科研合作协议3篇
- 变电站消防安全
- 单位租车合同协议样本
- 《JJG196-2006-常用玻璃量器检定规程》
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 介入导管室有关知识课件
- 银行客户经理压力与情绪管理培训
- 推广经理半年工作计划
- 无人机驾驶员培训计划及大纲
- 价格说明函格式范本正规范本(通用版)
- 水车浇水施工方案
评论
0/150
提交评论