(计算机科学与技术专业论文)sip一致性测试研究.pdf_第1页
(计算机科学与技术专业论文)sip一致性测试研究.pdf_第2页
(计算机科学与技术专业论文)sip一致性测试研究.pdf_第3页
(计算机科学与技术专业论文)sip一致性测试研究.pdf_第4页
(计算机科学与技术专业论文)sip一致性测试研究.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机科学与技术专业论文)sip一致性测试研究.pdf.pdf 免费下载

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

文档简介

北京邮电人学硕 研究生学位论文 s i p 一致性测试研究 摘要 s i p ( s e s s i o ni n i t i a t i o np r o t o c o l 会话初始化协议) 是用来生 成、修改、终结一个或多个参与者之间的会话的应用层协议。s i p 可 应用于i p 电话、i m p ( i n s t a n tm e s s a g e & p r e s e n c e 即时消息与存在) 、 视频会议、i m s ( i pm u l t i m e d i as u b s y s t e mi p 多媒体子系统) 等。关 于s i p 协议的实现很多,需要s i p 一致性测试来规范s i p 协议实现与 s i p 相关r f c 或s i p 相关其他标准之问的符合程度,作为s i p 协议实 现之间互通的保证。 协议测试是为了验证协议实现的正确性和有效性而出现的。协议 测试分为一致性测试、互操作性测试、性能测试等。其中一致性测 试发展的最早也最为成熟,是其他测试的基础。一个协议实现能否通 过一致性测试是它能否与其他实现成功进行交互的重要保障。不过, 互操作性才是对协议实现在实际应用中的根本要求。 本文研究了协议一致性测试理论和测试描述语言- - t t c n - 3 ,对 s i p 及其相关协议进行了分析。并在熟悉e t s i 和t a h i 的s i p 一致性 测试规范的前提下,分别基于两个测试规范搭建了两个s i p 一致性测 试平台。在实验的过程中,发现了e t s i 测试规范的不足,针对这个 问题,依照规范要求,增加了一些t p ( t e s tp u r p o s e 测试目的) ,用 t t c n 一3 语言实现为a t s ( a b s t r a c tt e s ts u i t e 抽象测试套) ,并进 北京邮电人学硕l :研究生学位论文s i p 一致性测试研究 行了验证,改进了e t s i 的s i p 一致性测试规范。 关键词:会话初始化协议一致性测试测试规范t t c n - 3 北京邮电大学硕i :研究生学位论文s i p 一致性测试研究 r e s e a r c h0 fs i pc o n f o 砌t j j et e s t i n g a b s t r a c t s i pi sa l l a p p l i c a t i o n - l a y e rp r o t o c o lt h a tc a ne s t a b l i s h ,m o d i f y , a n d t e r m i n a t es e s s i o n st h a th a v eo n eo rm o r ep a r t i c i p a n t s s i pc a nb eu s e di n i pp h o n e ,i m p ) v i d e oc o n f e r e n c e ,i m s ,e t c t h e r ea r el o t so fs i p i m p l e m e n t a t i o n s ;s ow en e e dt h es i pc o n f o r m a n c et e s t i n gt os p e c i f yt h e i m p l e m e n t a t i o n s c o n f o r m a n c et ot h es i pr e l a t e dr f c sa n dr e l a t e d s p e c i f i c a t i o n s ,w h i c h w i l l e n s u r et h e i n t e r o p e r a b i l i t y o f t h e i m p l e m e n t a t i o n sw i t ho t h e ri m p l e m e n t a t i o n si nt h em a r k e t p r o t o c o lt e s t i n gi st ov e r i f yt h ec o r r e c t n e s sa n dv a l i d i t yo ft h e p r o t o c o li m p l e m e n t a t i o n p r o t o c o lt e s t i n gi sc o m p o s e do fc 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 b i l i t yt e s t i n g ,p e r f o r m a n c et e s t i n ge t c t h ed e v e l o p m e n t o fc o n f o r m a n c et e s t i n gi sm o s te a r l ya n dm a t u r e l y , a n di ti st h eb a s e m e n t o fo t h e r t e s t i n g s ap r o t o c o li m p l e m e n t a t i o n t h a tc a n p a s s t h e c o n f o r m a n c et e s t i n gi sn l o f el i k e l yt op a s st h ei n t e r o p e r a b i l i t yt e s t i n go r o t h e rt e s t i n g t h i sp a p e rh a ss t u d i e dp r o t o c o lc 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 北京邮电大学硕j :研究生学位论文s i p 一致性测试研究 a n dt e s t i n gd e s c r i p t i o nl a n g u a g e - - t i c n 一3 ,a n da n a l y s e ds i pa n ds i p r e l a t e dp r o t o c o l s a f t e rs t u d yo fe t s ia n dt a h is i pc o n f o r m a n c et e s t i n g s p e c i f i c a t i o n s ,t w o s i pc o n f o r m a n c et e s t i n gp l a t f o r m sh a v e b e e n e s t a b l i s h e d d u r i n gt h et e s t ,s o m ei n s u f f i c i e n c yi ne t s is i pc o n f o r m a n c e t e s t i n gs p e c i f i c a t i o n a r ef o u n d ,s ot h i sp a p e rh a sa d d e ds o m et p sa n d r e a l i z e dt h e ma sa t sw i t ht t c n 3t os o l v et h i sp r o b l e m a sar e s u l t ,t h i s p a p e rh a si m p r o v e dt h ee t s is i pc o n f o r m a n c et e s t i n gs p e c i f i c a t i o n k e yw o r d s :s i p ( s e s s i o ni n i a t i o n p r o t o c 0 1 ) c o n f o r m a n c e t e s t i n g t e s t s p e c i f i c a t i o n t t c n - 3f f h et e s t i n ga n dt e s tc o n t r o l n o t a t i o n ) 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:鍪丛迷 日期:型坚! 型 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 珏燮型日期:型z ! ! 艺 日期:) 卯7 ,;, 广 北京邮电人学硕l :研究生学位论文 s i p 一致性测试研究 1 1 研究背景 第1 章绪论 协议一致性测试是协议测试中的一种,协议测试还包括协议互操作测试和协 议性能测试等,但以协议一致性测试发展的最早也最为成熟,目前协议一致性测 试理论依据的主要标准是l s 0 正c9 6 4 6 系列文件。协议一致性测试需要依照测 试规范来进行,i s o h e c9 6 4 6 系列文件中建议一致性测试规范中包含t s s & t p ( t e s ts u i t es t r u c t u r ea n dt e s tp u r d o s c 测试套结构和测试目的) ,a t s ( a b s t r a c t t e s ts u i t e 抽象测试套) ,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 实现一致 性说明) 格式,i x i t ( i m p l e m e n t a t i o ne x t r a i n f o r m a t i o nf o rt e s t i n g 实现测试附 加信息) 的格式,e t s ( e x e c u t a b l et e s ts u i t e 可执行测试套) 等。 s i pc s e s s i o ni n i t i a t i o np r o t o c o l 会话初始化协议1 具有i n t e r n e t 协议简单灵活 扩展性好的特点,是各厂商的研发热点。目前关于s i p 协议的实现很多,质量参 差不齐,为了测试s i p 协议实现与s i p 相关r f c 或者相关标准是否符合以及符 合的程度,需要进行s i p 一致性测试。一个协议的实现能否通过一致性测试是它 能否与其它的实现成功进行交互的重要保障。目前s i p 一致性测试规范主要有: e t s i ( 欧洲) 的s i p 一致性测试规范。t a h ip r o j e c t ( 日本) 的s i p 一致性测试 规范。u n h i o l ( 美国) 的s i p 一致性测试规范( 目前只有u a 部分) 等。 使用哪种测试规范来进行测试,得到的测试结果可能是不同的。所以测试规 范的可靠性、稳定性、对协议覆盖的全面性就至关重要。 本文作者在s i p 一致性测试的研究中,发现了e t s i 的s i p 一致性测试规范 有不足之处,研究如何解决这个问题,并提出有效的解决办法是本文的重点。 1 2 论文的结构安排 本论文分为七章,各章内容如下: 第一章:绪论 本章给出了课题背景以及论文结构。 第二章:协议一致性测试 本章阐述本文对协议一致性测试理论及方法的研究。 第1 页共“页 北京邮电人学碗l 。研究生学位论文 s i p 一致性测试研究 第三章:测试描述语言一t t c n 一3 本章分析t t c n 3 语言的产生、标准、核心语言和测试系统。t t c n 3 语言 是本文实现测试例所使用的语言。 第四章:s i p 协议研究 本章给出了对s i p 的分析研究,本文作者参阅了大量文献,对s i p 协议进行 了深入的分析。因为协议一致性测试主要是测试协议实现与协议之间的一致性, 所以需要测试人员对协议非常熟悉。 第五章:s i p 一致性测试的比较分析 本章对e t s i 和t a h i 的s i p 一致性测试规范及测试工具进行了全面的比较 分析,并发现e t s i 的测试规范存在不足。 第六章:对e t s i 的s i p 一致性测试规范的改进以及验证 本章针对e t s i 的s i p 一致性测试规范存在的问题,提出解决的办法,并依 照规范要求,由t i c n 3 语言实现。最后,通过实际测试来验证。 第七章:总结 本章总结全文,并提出展望。 第2 页共8 4 页 北京邮电人学顾i :研究生学位论文s i p 一致件测试研究 2 1什么是协议测试 第2 章协议一致性测试 协议测试理论是协议工程学的一个分支。研究协议测试理论的原因在于一个 标准化的协议并不能确保该协议的实现之间能够成功的进行通信。这是因为协议 标准目前基本上是使用自然语言描述的,实现者对于协议的不同理解会导致不同 的协议实现,甚至有时会是错误的实现。因此,需要一种有效的方法来对协议实 现的正确性和有效性进行判别,这便是“协议测试”。协议测试是从软件测试的 基础上发展而来。协议测试属于黑盒测试。 2 2协议测试的类别 协议测试的种类很多,包括一致性测试( c o n f o r m a n c et e s t i n g ) 、互操作测 试( i n t e r o p e r a b i l i t y t e s t i n g ) 、性能测试( p e r f o r m a n c e t e s t i n g ) 等。其中,一致 性测试是依据一个协议的描述文本对协议的某个实现进行测试,检测协议实现是 否符合协议标准的要求;互操作测试主要是检测不同的协议实现之间是否能够可 靠的进行交互;性能测试是测试协议实现的性能特性,如响应时间、时间延迟等, 并据此对系统性能做出性能评价。 这三种测试中协议一致性测试的发展相对来说最为成熟,一致性测试是其他 测试的基础,一个协议实现能否通过一致性测试是它能否与其他实现成功进行交 互的重要保障。不过,互操作性才是对协议实现在实际应用中的根本要求。本文 只讨论一致性测试。 2 3协议一致性测试的标准 目前协议一致性测试理论依据的标准主要是l s o t l 】制定的i s o i e c9 6 4 61 7 系列标准,后提交r r u t 作为r r u tx 2 9 0 - x 2 9 6 系列标准。这个标准是针对 自然语言描述的协议测试而制定的,包括七部分1 2 】- 1 8 】: i s o b e c9 6 4 6 - 1 ( 1 9 9 4 ) :第一部分基本原理 i s o i e c9 “6 2 ( 1 9 9 4 ) :第二部分抽象测试套规范 i s o i e c9 6 4 6 - 3 ( 1 9 9 8 ) :第三部分树表结合表示法 第3 页共科页 北京邮f u 人学硕j :研究生学位论文s i p 一致性测试研究 i s 0 l e c9 6 4 6 - 4 ( 1 9 9 4 ) :第四部分测试实现 i s o b e c9 6 4 6 - 5 ( 1 9 9 4 ) :第五部分一致性判定过程对实验室和客户的要求 i s o a e c9 6 4 6 - 6 ( 1 9 9 4 ) :第六部分协议概要文件测试规范 i s o i e c9 6 4 6 - 7 ( 1 9 9 5 ) :第七部分实现一致性声明 i s o i e c9 6 4 6 系列文件之间的关系和主要概念如图2 1 所示。 一些组织根据i s o f l e c 9 6 4 6 来制定自己的测试规范,比如:e t s i ! 。后面 将要提到的e t s i 制定的s i p 一致性测试规范就是参考i s o i e c9 6 4 6 系列文件 的。 i s o d e c9 6 4 6 - - 1 对一致性需求是这样描述的: 一 首先,一致性需求可以是: 必须的( m a n d a t o r y ) :任何情况下都应该满足的需求。 条件的( c o n d i t i o n a l ) :某种情况下应该满足的需求。 可选的( o p t i o n a l ) :可以选择是否实现的需求。 一 其次,一致性需求的状态可以是: 正面的( p o s i t i v e l y ) :需要满足的需求状态。 负面的( n e g a t i v e l y ) :必须不满足的需求状态。 一 最后,一致性需求可分为两组: 静态一致性需求( 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 ) :静态致性需 求定义了一个声称符合相应协议规范一致性要求的实现在一个真正 的开放系统中实现的能力的局限。它定义了实现互连所需要的最小 能力。 动态一致性需求( d y n a m i cc o n f o r m a n g er e q u i r e m e n t s ) :动态一致 性需求定义了在通信中,什么样的可观察行为是被相应的协议规范 允许的。 第4 页共8 4 页 北京邮电大学硕l :研究生学位论文s i p 致性测试研究 芎衙 二巴l := := 篙l o “” h _ k w “一 l 亘匐 t 0 s 6 - o q g r o u p “誓裂” 图2 - 1i s o i e c9 5 4 6 系列文件之间的关系和主要概念 一个符合一致性的实现,需要满足静态一致性需求和动态一致性需求。 静态一致性需求可以通过检查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 实现一致性声明) 文件来完成。i c s 文件是协议实现的提供者应该填写的个文 件,此文件是表格形式的,这份文件说明了协议实现究竟实现了协议规范中的哪 些要求,从而使得测试人员知道可以进行何种测试。 动态一致性需求就要通过执行测试例( t e s tc a s e ) 来完成。每个测试例都有 一个测试目的( t e s tp u r p o s e ) ,测试目的是测试例的自然语言描述。测试套( t e s t s u i t e ) 是所有测试例的集合,测试例以测试组( t e s tg r o u p ) 的形式组成测试套 测试组为测试例提供逻辑顺序。测试例的每个小节为一个测试步( t e s ts t e p ) , 测试步又可进一步分为测试事件( t e s te v e n t ) ,测试事件是最小单位。测试套 分层结构如图2 - 2 所示: 第5 页共8 4 页 北京邮电大学硕t :研究生学位论文s i p 一致性测试研究 t e s ts u i t e t e s tg r o u p t e s tg r o u p e s ts t e p 厂n 们撇飞; l ; 图2 - 2 测试套,测试组、测试例关系图 2 4协议一致性测试的方法 1 _ c s te v e n t i s o i e c9 6 4 6 系列标准中定义协议一致性测试的方法适用于e t s i 的主要部 分可以总结为图2 3 。 图2 - 3 协议一致性测试方 法l 州 i s o m c9 6 4 6 建议测试规范中包含以下文件; 1 ) 根据基本协议提供以自然语言插述的t s s & t p ( t e s t s u i t es t r u c t u r e a n d t e s t p u r p o s e 测试套结构和测试目的) 。 2 ) 根据t s s & t p 使用一致性协议测试描述语言( 例如:t r c n 3 ) 生成a t s ( a b s t r a c tt e s ts u i t e 抽象测试套) 。 第6 页共8 4 页 厂 北京邮电大学硕1 :研究生学位论文s i p 一致性测试研究 3 ) 提供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 实现一致性说明) 格式。 4 ) 提供i x i t ( 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 nf o rt e s t i n g 实现测试附加信息) 的格式。 5 ) 将由测试描述语言编写的a t s 编译为由程序语言( c + + ,j a v a 等) 编写的 e t s ( e x e c u t a b l et e s ts u i t e 可执行测试套) 。并提供运行支持,比如:消息 的编解码,测试控制和适配层等。 第7 页共甜页 北京邮i 乜人学硕 :研究生学位论文s i p 一致性测试研究 3 1 霸陀n - 3 的产生 第3 章测试描述语言一t t c n 3 协议测试是一种黑盒测试,是用适当的输入事件激励n j l r ( i m p l e m e n t a t i o n u n d e r t e s t 被测实现) ,根据从外部观察到的反应来做出评估。 p o r t s e n d ( s t i m u l u s ) p o r t r e c e i v e ( r e s p o n s e ) 图3 1 黑盒测试 以前测试事件和指令序列都是由人来制定的,由测试人员手动输入,之后把 观察到的结果和预期结果做比较分析。这时需要创建一种对测试事件和测试指令 序列的规范化描述,并自动执行指令序列的解决方案。这个方案就是t r c n 。 i s 0 在i s o i e c9 6 4 6 3 中提出了t r c n ( t 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 数表结合表示法) 的第一和第二版本,但是t 1 1 c n 缺乏可读性和向其他领域扩 展的灵活性。 e t s i 在t t c n 2 的基础上提出了t r c n 3 ,缩写的含义也改为测试及测试控 制记法( 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 i c n - 3 不仅是旧标准的新版 本,很大程度上它是一种新的语言。过去t i c n 主要局限在一致性测试领域, 而t t c n - 3 是可用于多种通信端口上的各种响应系统的测试描述语言,除了应用 在协议测试( 包括移动协议和互连网协议) 领域之外,还可以应用于服务测试( 包 括增补服务) 、模块测试、基于平台、a p i s 等的c o r b a 测试等。t r c n 3 在 协议测试领域也并不仅仅局限于一致性测试,它可用于多种类型的测试,如互操 作性测试等。此外,t r c n 3 也比t r c n - 2 更加灵活、友好、更容易使用。【l l j 第s 页共8 4 页 北京邮电人学硕:研究生学位论文s i p 一致性测试研究 3 2t r c n 3 的标准 e t s i 制定的有关t r c n 3 的最新标准【1 1 l 。【1 7 】如下: e t s ie s2 0 18 7 3 1v 3 1 1 ( 2 0 0 5 0 6 ) :第一部分t r c n 3 核心语言 e - t s ie s2 0 18 7 3 - 2 v 3 1 1 ( 2 0 0 5 - 0 6 ) - 第二部分t i c n - 3 的表格表示法( 豇丌) e t s ie s2 0 18 7 3 3v 3 1 1 ( 2 0 0 5 - 0 6 ) :第三部分t r c n 3 的图形表示法( g f t ) e t s i e s 2 0 18 7 3 - 4 v 3 1 1 ( 2 0 0 5 - 0 6 ) :第四部分t t c n 3 的操作语义 e t s ie s2 0 18 7 3 - 5v 3 1 1 ( 2 0 0 5 - 0 6 ) :第五部分t i l - n - 3 运行接口( t r i ) e t s ie s2 0 18 7 3 - 6v 3 1 1 ( 2 0 0 5 - 0 6 ) :第六部分t i c n - 3 控制接口( t c i ) e t s ie s2 0 18 7 3 - 7v 3 1 1 ( 2 0 0 5 - 0 6 ) :第七部分采用a s q 1 与t r c n - 3 相结合的形 式化描述语法 以下部分在计划中,尚未发布在e t s i 网站上: e t s ie s2 0 18 7 3 - 8 :第八部分采用i d l 与t i c n - 3 相结合的形式化描述语法 e t s ie s2 0 18 7 3 - 9 :第九部分采用x m l 与t r c n - 3 相结合的形式化描述语法 e t s ie s2 0 18 7 3 1 0 :第十部分采用c c + + 与t r c n - 3 相结合的形式化描述语法 以上标准中第一部分是关于t r c n 3 的概念和语法;第二、三部分是表现形 式,其中表格表现形式和t r c n 的早期版本相似;第四、五、六部分是语义和 运行环境;第七、八、九、十部分是有关语言的映射。 t r c n 3 核心语言可以为各种数据描述语言( 第七、八、九、十部分) 和不 同表现形式( 第二、三部分) 提供接口。t t c n 3 的表格形式是为熟悉 i t c n 和t r c n 2 的用户设计的,而图形表现形式使得测试执行的表述和测试结果的分 析更加容易理解。 第9 页共8 4 页 北京邮电人学硕j :研究生学位论文 s i p 一致性测试研究 图3 - 2t r c n 3 核心语言和各种表示格式 3 3t i c n 3 核心语言 竹c n 3 u t r c n - 3 的项层单元是模块。一个模块中不能包含子模块,但是可以从其他 模块中引入定义。一个模块由一个定义部分( 必须的) 和一个控制部分( 可选的) 组成。模块的定义部分描述该模块的顶层定义。模块的控制部分调用测试例并控 制它们的执行。一个测试套由一个或多个模块组成。 图3 3 是一个完整的t r c n 3 模块举例,包含模块定义部分和模块控制部分。 第1 0 页共8 4 页 北京邮电大学硕 :研究生学位论文s i p 一致性测试研究 r r c n 3m o d u l e m o d u l ed e f i n i t i o n s t e s td a t at y p e s : 哆p c a c t u a lt e s td a t a : e x t e r n a l c o n s t t e m p l a t e s i g n a t u r e t e s tc o n f i g u r a t i o n : p o r t c o m p o n e n t t e s tb e h a v i o u r : f u n c t i o n a l t s e t p t e s :t c a s e m o d u l ec o n t r o l l o c a ld e c l a r a t i o n s t e s tc a s ee x e c u t i o n s m o d u l em y t e s t s u i t e d e f i n i t i o np a r t l c o n s ti n t e g e rm y c o m t a n t := l : 第1 1 页共8 4 页 北京邮i u 人学硕l - t g f 究生学位论文s w 一致性测试研究 t y p er e c o r dm y m e s s a g e 耐p e t e m p l a t em y m e s s a g e t y p em y m e s s a g e := : f u n c t i o nm y f u n c t i o n ( ) 1 4 : t e s t c a s em y t e s t c a s e l ( ) n h i so bm y m t c 耐p e t e s t c a s em y t e s t c a s e 2 ( ) h i l l so nm y m t c d p e : c o n t r o lp a r t c o n t r o l rb o o l e a nm y v a r i a b l e ;局部变量 e x e c u t em y t e s t c a s e l ( ) ;测试例的执行 e x e c u g em y t e s t c a s e l ( ) : 3 3 1 模块定义部分 3 3 1 1测试数据类型 t t c n - 3 通过t y p e 来定义测试数据类型,t f c n 一3 所有的数据类型如表3 - 1 所示: 袁3 - 1t i c n - 3 数据类型 c l a s s o f t 捧e k e y w o r ds u b - 1 3 0 e s f f t l 叫eb m g ct y p e s i n t e g e r r a t h e l 吼 f l o a t r a r c ei 甜 b o o l e a nl i s t o b | i di l 砒 v e r d i c n v i i s 【 b a s i c 髓岫印弘 h 协t r i n f l 目s t e n a 廿l h e x s tr i n 口| j 5 te n 口卸 o c t e t s 盯j n 口睡te n 口m c h a r 聪r l n 口糟,i 口& i l 吼;盱口协。d a n e m u i l i v e r s a ic h a m t r i n gr a m i e 一【醢脚曲d a n e m s 呐蚰嘲t y p e s r e c o r d i s t :s e en o t e l r e c o r d0 4 i i 晷t - s e er , c t e e n 锄 5 e t 随j s e e n 0 峙l “o f目懿( s e er l o l e ) i e n c 蚰 u m 日删i 时e n o t e i u 1 3 i o ni l s t + e e en o t ej s p e o a i 曲i at y p e sa n v i v d e j 髓:s e en o t e l s p e c i a l 哺口w 日的nt y p e s a d d r e p o n c o m p o o e m s _ c i dd e f a u ac w d e f a u l t n o t e = l r s ! o 山e 州n go r 小e 赞t y p e s i s0 0 s s i b l e 坩 帅d e f i n i n c ja n e w c o t r a i n e d t y o e f n 帅舯a 啪d y e 蝴埘日p a r 即t t y p e h 且r i o t e r e c 射y 重她d e c l 舯柏锄d t h e f 喊 d a 伽t w e 很多数据类型与一般的程序语言数据类型相似,这里不做介绍,下面主要说 第1 2 页共8 4 页 北京邮电人学硕j :研究生学位论文 s i p 致性测试研究 明t r c n 3 特有的数据类型- - v e r d i e t t y p e 的含义。v e r d i c t t y p e 是t t c n 一3 特有的 类型之一,是说明测试结果的,共有五个值:n o n e 、p a s s 、i n c o n c l u s i v e 、f a i l 和 e r r o r 。其中前四个值是在测试中给出的,可以通过s e t v e r d i c t 操作来设置。e r r o r 是测试系统给出的测试例运行时的错误。 判定值的重写规则如下: 表3 - 2 判定值的重写规则 3 3 1 2 实际测试数据 这里主要说明一下模板和模板匹配机制。 模板用于传送一个特定值的集合或是测试接收的值的集合是否与模板说明 匹配,模板可以是基于消息的或者基于过程的。下面给出一个基于消息模板的实 例: ,一个基于消息的模板 t e m p l a t em y m e s s a g e t y p em y t e m p l a t e := f i e l d l := ? ,使用了代替字段值的匹配机制 y i e l d 2 := p a t t e r n “a b c * x y z ,使用了内部值匹配机制 f i e l d 3 := t r u e ,使用了特定字段值匹配机制 ,相应的接收操作 m y p c o r e c e i v e ( m y t e m p l a t e ) 3 3 1 3 测试配置 t i c n - 3 支持动态测试配置,如图3 - 4 所示。 一个测试配置包含一个m t c ( m a i nt e s tc o m p o n e n t 主测试成分) ,一个或 多个p t c ( p a r a l l e l t e s t c o m p o n e n t 平行测试成分) ,一些端口和一个测试系统 接口组成。 m t c 是在测试例执行时自动创建的,一个测试例应包含且只包含一个m t c , 定义在测试例主体中的行为是m t c 的行为。在测试例执行的过程中p t c 可以有 多个,并可由c r e a t e 和s t o p 等操作动态创建和停止。 端口用于测试成分之间以及测试成分和测试系统接口之间的通信。每个端口 都被建模为一个f i f o 队列,消息和过程都存储在这里,等待处理。每个端口有 一个h 列表( i n 方向) 、o u t 列表( o u t 方向) 和一个i n o u t 列表( 双向) 。端 第1 3 页共页 北京邮电人学硕i j 研究生学位论文s i p 一致性厕试研究 口分为基于消息的和基于过程的,分别用于异步通信和同步通信。 图3 - 4t r c n - 3 测试配王 在一个实际测试环境中,测试例需要与i u t 进行通信。然而,对实际物理 连接的说明超出了t t c n 3 的范围,作为替代,一个良好定义的( 但是是抽象的) 测试系统接口应该与每个测试例相关联。 下面举例说明测试成分的定义和使用以及端口的连接操作: ,一个测试成分类型定义 t y p ec o m p o n e n tm y c o m p t y p e 印ne o r t 耐p e o b ep c o i : p o r tp o r t t y p e t w op c 0 2 ; ) 创建一个测试成分 v a rm y c o m p l 哼p em y c o m p l m t := m y c o m p t y p e c r e a t e ; 端口连接和映射操作 c o n n e c t ( s e l f :m y p c 0 1 ,m y c o m p i n s t :p c 0 1 ) ;c o n n e c t 用于两测试成分之间的连 接操作 m a p ( m y c o m p l n s t :p c 0 2 s y s t e m :e x t p c 0 1 ) g m a p 用于测试成分和测试系统接 口的连接操作 3 3 1 4 测试行为 t c n - 3 中的测试行为包括:函数,测试例和可选步。 函数跟一般程序设计语言中的函数类似,这里不做介绍。 测试例是要执行的对象,测试例在模块定义部分定义并在模块控制部分执 行。一个单独的测试例可以看作是一个特定的操作,这个操作返回一个v c r d i c t y p e 类型的测试结果,这个结果可能是p a s s 、f a i l 、i n c o n c l u s i v e 、e r r o r 。注意n o n e 第“页共“页 北京邮电人学硕l :研究生学位论文 s w 一致性测试研究 是测试例没有执行前的状态。可选步是与函数相似的范围单位,可选步主体定义 了一个局部定义的可选集合和选择对象的集合。 举例如下: t e s t c a s et c _ r e s o l v e e t s i w w w 0g u n so nd n s c l i e n t t i m e r ta c k ; s e r v e r p o r t s e n d ( m _ d n s q u c s t i o n ( ”w w w e t s i o r g ”) ) ; t _ a c k s t a r t ( 1 0 ) ; a l t 口s e r v e r p o r t r e c e i v e ( m w _ d n s a n s w e r ( ”1 7 2 2 6 1 1 7 ”) ) s e t v e r d i c t ( p a s s ) ; 口s e r v e r p o r l r e c e i v e a n yo t h e rm e s s a g e s e t v e r d i c t ( f a i d ; t _ a c k t i m e o u t s e t v e r d i c t o n c o n c ) ; ) ta c k s t o p ; 3 3 1 5模块的引用 使用i m p o r t 可以从其他模块引入定义,每个模块的定义部分都可以被其他 模块引用引用有五种方式: i m p o r tf r o mm y m o d u l e t y p em y 耐p e 9 1 入单个定义 i m p o r tf r o mm y m o d u l ea l l ;引入一个模块中所有定义 i m p o r tf r o mm y m o d u l e g r o u pm y g r o u p 引入一个组定义 i m p o r tf r o mm y m o d u l e t y p ea l l 引入一个模块中相同种类的所有定义 i m p o r tf r o mm y a s n i m o d u l el a n g u a g e a s n 1 :1 9 9 7 ”;,引入非t t c n - 3 模块定义 3 3 2 模块控制部分 模块控制部分可以定义局部变量、计时器等,还可以使用各种程序语句来控 制测试例的执行顺序( 可以是重复的) 。在模块定义部分定义测试例,在模块控 制部分调用测试例。 3 4t t c n 3 测试系统 2 - f c n 3 测试系统,由一组相互作用的测试实体组成,如图3 5 所示: 第1 5 页共甜页 北京邮i 乜人学硕:研究生学位论文s i p 一致性测试研究 图3 - 5t r c n 3 测试系统1 1 8 i 测试系统实体分为三大类: 1 ) t e ( t i c n - 3e x e c u t a b l et t c n 一3 执行) t e 也叫e t s ,负责t r c n 3 模块的解释与执行。e t s 是由a t s 编译或解 释生成的,通常编译成c 或j a v a 。t c i 和t r i 接口能够使t e 适应不同的环境。 图3 - 6 t r c n 3 程序的编译 2 ) t m c ( t e s tm a n a g e m e n tc o n t r o l 测试管理控制) t m c 是负责测试执行,测试成分和编解码的实体。包含t m ( t e s t m a n a g e m e n t 测试管理) 、c h ( c o m p o n e n th a n d l i n g 成分控制) 、c d ( c o d i n g 第1 6 页共8 i 页 北京邮l 乜人学硕i :研究生学位论文s i p 一致性测试研究 a n dd e c o d i n g 编解码) 三部分。 t l v l 负责测试执行管理,测试系统初始化之后,测试执行就是从t m 开始的。 t m 还负责提供模块参数给t e 。一般来说t m 还需要实现一个测试系统用户接 口。 c h 是负责成分管理的实体,负责测试成分的创建、开始和结束,建立各测 试成分之间的连接,管理各测试成分返回的测试判决,管理测试成分之间的基于 消息或基于过程的通信。 c d 是负责编解码的实体,可以把t r c n 3 信息编码成外部需要的格式之后 发送给s u t ,或把接受到的外部格式信息解码为t r c n 3 定义的格式。 3 1a d a p t e r ,包含s a ( s y s t

温馨提示

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

评论

0/150

提交评论