(计算机应用技术专业论文)ttcn3数据编解码器的自动生成与实现.pdf_第1页
(计算机应用技术专业论文)ttcn3数据编解码器的自动生成与实现.pdf_第2页
(计算机应用技术专业论文)ttcn3数据编解码器的自动生成与实现.pdf_第3页
(计算机应用技术专业论文)ttcn3数据编解码器的自动生成与实现.pdf_第4页
(计算机应用技术专业论文)ttcn3数据编解码器的自动生成与实现.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(计算机应用技术专业论文)ttcn3数据编解码器的自动生成与实现.pdf.pdf 免费下载

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

文档简介

北京邮电大学硕士毕业论文摘要 t t c n 3 数据编解码器的自动生成与实现 摘要 随着互联网和移动通信网的迅猛发展,下一代互联网协议和3 g 通信协议的产品层出不穷,而各种产品的开发离不开协议测试工具 的检验。由欧洲电信标准协会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 s s t a n d a r d si n s t i t u t e ) 推出的测试和测试控制表示法第三版t t 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 n3 r dv e r s i o n ) 已经成为协议测试的 主流标准,主要用于协议的一致性测试和互操作性测试等等。 编解码模块是t t c n 3 标准系统中不可或缺的一部分。当工程 师进行一致性测试工具开发时,需要根据具体的测试平台设计和实 现编解码模块。只有正确的实现了编解码模块,t t c n 3 标准测试 工具才能正常的工作。目前,在工业界的t t c n 3 测试i d e 产品中, 都给编解码器留有实现接口,但是具体的实现还需要工程师来完 成。虽然可扩展性很好,但是加重了工程师的开发负担,使其不能 专注于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 标准和协议测试工业界的发展。 本文重点研究了t t c n 一3 数据编解码器的自动生成技术,提出 了通用t t c n 3 数据编解码器的模型,并实现了比特流数据编解码 器。 本文基于t e l e l o g i c 公司的测试平台t a ut e s t e r 进行开发。文中 首先详细地介绍了t t c n 3 标准系统、t a ut e s t e r 以及编译技术理 论知识,然后根据课题的研究目标,详细设计了通用的t t c n 3 数 据编码解码器模型,并且给出了其中的比特流数据编码解码器的设 计与实现,之后按照编译技术理论实现了t t c n 3 语言的词法分析 器和语法分析器,并且自动生成了编码解码器,最后给出了详细的 北京邮电人学硕十毕业论文 摘要 验证结果。 关键,试:t t c n - 3 编解码器编i l j g :e 词法分析器语法分析器 n 北京邮电大学硕士毕业论文a b s t r a c t t h ei 田l e m e n ta n da u t 0g e n e r a t i o no f t t c n 3e n c o d e ra n dd e c o d e r a b s t r a c t 晰t ht h er a p i dd e v e l o p m e n to fi n t e m e ta n dm o b i l ec o m m u n i c a t i o n n e x t g e n e r a t i o n i n t e r n e ta n d3 gc o m m u n i c a t i o np r o t o c o lp r o d u c t s e m e 玛ei ne n d l e s s l y t h ed e v e l o p m e n to fe a c hp r o t o c o lp r o d u c th a st o b ee v a l u a t e dt h r o u g hp r o t o c o lt e s t i n g 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 3 r dv e r s i o n ( t t c n 一3 ) ,w h i c hs p c i f i e db ye u r o p e a nt e l e c o m m u n i c a t i o n s s t a n d a r d si n s t i t u t e ( e t s i ) ,h a sa l r e a d yb e c o m et h em a i n s t r e a ms t a n d a r d o fp r o t o c o lt e s t i n g ,w h i c hi sm a i n l yu s e df o rt h ep r o t o c o lc o n f o r m a n c e a n di n t e r o p e r a b i l i t yt e s t i n ga n ds oo n c o d e cm o d u l ei sa ni n t e g r a lp a r to ft t c n 3s t a n d a r ds y s t e m ,1 1 e nt h ee n g i n e e r sa r ei nt h ed e v e l o p m e n to fc o n f o r m a n c et e s t i n g t o o l s ,t h e ya r er e q u i r e dt od e s i g na n di m p l e m e n tc o d e cm o d u l eb a s e do n t h es p e c i f i ct e s tp l a t f o n :n o n l yt h ec o r r e c tc o d e cm o d u l ei sr e a l i z e d t h e t e s t i n gt o o l sb a s e do nt t c n 3s t a n d a r d sc o u l dw o r kw e l l a tp r e s e n t , f o ra l lt h et t c n 一3t e s t i n gi d ep r o d u c t si ni n d u s t r y , t h e yo n l yp r o v i d e t h ei n t e r f a c eo fc o d e c ,l e a v i n gt h ei m p l e m e n to fc o d e ct oe n g i n e e r s a l t h o u g ht h et e s t i n g t o o l sm i g h th a v ev e r yg o o ds c a l a b i l i t y , i tw i l l i n c r e a s et h eb u r d e no ne n g i n e e r st od e v e l o ps ot h a tt h e yc a n n o tf o c u s o nt h ep r e p a r t i o no ft t c n 3t e s ts c r i p t s t h i sn o to n l yr e d u c e st h e e f f i c i e n c yo ft h ed e v e l o p m e n to ft e s t i n gt o o l s ,b u ta l s oh i n d e r st h e p r o m o t i o na n dd e v e l o p m e n to ft t c n 一3s t a n d a r d s i nt h i st h e s i s ,a ni d e ao fa u t o m a t i cg e n e r a t i o no fg e n e r i cc o d e cf o r t t c n - 3d a t ai sp r o p o s e d ,w h i c hi st h ee x p l o r a t i o na n dd e v e l o p m e n tf o r t t c n 3s t a n d a r d s i fi tc o u l db ed e v e l o p e ds u c c e s s f u l l ya n da p p l i e dt o p r o t o c o lt e s t i n gi n d u s t r y , i tw i l lg r e a t l ye n h a n c et h ee f f i c i e n c yo f d e v e l o p i n gp r o t o c o lt e s t i n gt o o l s ,l i b e r a t et h ee n g i n e e r sf r o mc o d e c s i m p l e m e n t a t i o n ,a n dp r o m o t e t h et t c n 一3s t a n d a r d sa n dt h e d e v e l o p m e n to fp r o t o c o lt e s t i n g t h i sa r t i c l ef o c u s e so na u t o m a t i cg e n e r a t i o nt e c h n o l o g yf o r t t c n 3d a t ac o d e c i nw h i c hag e n e r i ct t c n 3d a t ac o d e cm o d e li s 北京邮电大学硕卜毕业论文 a b s t r a c t p u tf o r w a r d a n dt h ec o d e cf o rt t c n 3b i t s t r e a md a t ai si m p l e m e n t e d t h ed e v e l o p m e n ti nt h i st h e s i si sb a s e do nt e l e l o g i c st a ut e s t e r f i r s t l y , t h ed e t a i l e dd e s c r i p t i o no ft h et t c n 3s t a n d a r ds y s t e m ,t a u t e s t e r , a n dc o m p i l e rt e c h n o l o g ya r ei n t r o d u c e d a n dt h e na c c o r d i n gt o t h er e s e a r c ho b je c t ,t h ed e t a i l e dd e s i g nt h eg e n e r i ct t c n 3d a t ac o d e c d a t am o d e l i sp r e s e n t e d m e a n w h i l e ,t h eb i t s t r e a md a t ac o d e c sd e s i g n a n di m p l e m e n t a t i o na r ei n t r o d u c e d a f t e rt h a t at t c n 一3l a n g u a g e l e x i c a la n a l y z e ra n ds y n t a xa n a l y z e ru s i n gc o m p i l e rt e c h n o l o g ya r e d e s i g n e da n di m p l e m e n t e d ,a n dt h ec o d e c si sg e n e r a t e da u t o m a t i c a l l y f i n a l l y , t h et e s tr e s u l t sa r ep r e s e n t e di nd e t a i l k e yw o r d s :t t c n - 3 ;c o d e c ;c o m p i l e rt e c h n o l o g y ;l e x i c a la n a l y z e r ; s y n t a xa n a l y z e r i v 北京邮电大学硕上毕业论文 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究 所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:乏量玄 日期:盈望:三:f ! 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定, 即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被 查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、 缩印或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此 规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密 论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 另长五 日期:幽:! 二! ! 日期: 固:! 二丝 北京邮电大学硕士研究生学位论文 第一章引言 1 1 课题背景和意义 第一章引言弟一旱亏i 商 目前,协议测试已经成为互联网、移动通信网络一个极为重要的研究领域。 按照协议规范开发出来的协议产品,因为开发人员的理解不同,可能会出现和 协议描述不一样的实现方式。这种实现方式会让产品出现一些不应该出现的错 误,从而导致开发失败。更为严重的是,大量的错误会减慢协议工业化的进程。 所以,协议测试在互联网、移动通信网飞速发展的今天显得尤为重要。 国内外,用于开发协议测试软件的标准是t t c n ,其中最新和最主要的是 t t c n 3 。2 0 0 1 年,欧洲电信标准协会e t s i ( e u r o p e a nt e l e c o m m u m i c a t i o n s s t a n d a r d si n s t i t u t e ) 在t t c n 一2 ( 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 nv e r s i o n2 ) 的 基础上研究和制定了t f c n 3 ( t e s t i n ga n d t e s tc o n t r o l n o t a t i o nv e r s i o n3 ) 标准, 并于2 0 0 2 年l o 月颁布了e t s ie s2 0 18 7 3 系y l j ( v 2 2 1 ) ,即t t c n 3 第2 版本; 于2 0 0 7 年2 月颁布了e t s ie s2 0 18 7 3 系列( v 3 2 1 ) ,即t t c n 3 第3 版本。 t t c n 3 语言现在被广泛应用在协议的一致性测试,互操作性测试,回归 测试,健壮性测试当中。其中最重要的是一致性测试,一致性测试的目的是为 了验证协议实现是否和协议描述所一致。为了实现这些功能,t t c n 3 语言提 供了强大的语言特性。使用它可以很轻易地定义消息数据结构、协议中的功能 实体、协议消息序列图、匹配机制( 即收到数据和s u t 发送数据相比较) 、数据 的编码解码方式、协议的通信方式、测试管理、提供相关测试日志、a s n 1 接 口以及使用系统功能的接口。 t t c n 3 与以前的版本相比,从名字含义到功能都有了很大的变化。 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 e ( t e s t c a s ee x e c u t a b l e ) ,该模块是测试软件的逻辑部分,是测试系统的核心,所 北京邮电大学硕七研究生学位论文第一章引言 有测试系统的行为都是由该模块所发起的。 编码解码器c d ( c o d e ca n dd e c o d e c ) 作为t t c n 3 标准的一个重要组成部 分,在测试系统中有着举足轻重的作用。t e 模块之中定义的消息数据结构发 送到被测系统( s u t ) 、并行测试单元( p t c ) 以及平台适配器( p a ) 或者从这些功能 实体接受数据,都需要经过编码解码器的编码与解码。错误的编码解码器会导 致不可预知的错误,这个错误在可执行测试例子就会反映成为测试不通过,这 不能真实的反映测试结果。所以正确的设计与实现编码解码器对于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 数据来表示x m l 数据,使用t t c n - 3 数据来表示a s n 1 的数据 等等。 本论文中的编码解码器自动生成部分采用编译生成的方式。和传统的编译 方式一样,本论文使用词法分析、语法分析、语义分析、代码生成来设计编译 器。使用的l i n u x 工具为y a c c 和l e x 。这是成对使用的工具,本课题使用它 们来生成t t c n 3 核心语言的词法分析器和语法分析器。语义分析和代码生成 使用c 语言实现。 s t e v ej o h n s o n 在1 9 7 5 年为u n i x 操作系统编写了y a c c ( y e ta n o t h e r c o m p i l e r - c o m p i l e r ) 。该工具能够充分的完成编译器语法分析器的生成工作,即 分析程序生成器( p a r s e rg e n e r a t o o 。同时,m i k el e s k 也为u n i x 操作系统编写的 l e x ( l e x i c a lc o m p i l e r ) 。该工具能够很好的完成编译器的词法分析器的生成工 作,即扫描程序生成器( s c a n n e rg e n e r a t o r ) 。对y a c c 和l e x 的使用需要遵循 一定的设计规则,并且设计需要使用的数据结构。 目前t t c n 一3 测试系统已经得到了多家商业公司的支持,并且提供了可以 使用的、健壮的t t c n 3 测试平台。例如,业界知名的t a ut e s t e r , 该工具使用 c 语言作为基础环境,它可以把t t c n 一3 编写的抽象测试套a t s ( a b s t r a c t t e s t c a s es u i t e ) 编译生成c 语言实现的e t s ( e x e c u t a b l et e s t c a s es u i t e ) ,并且为 t t c n 3 标准系统其它功能模块提供了c 语言的实现接口,用户可以非常方便 的集成生成可执行的测试工具。目前,t e s t e r 为i b m 公司的产品。另一个比较 优秀的t t c n 3 测试平台是t e s t i n gt e c h 公司的t t w o r k b e n c h 1 7 】。该工具是基于 j a v a 语言,同样可以把抽象测试套编译成为可执行测试套,同时为t t c n 3 北京邮电大学硕上研究生学位论文第一章引言 的其它功能实体提供接口,工具功能强大,可扩展性强。当然还有d a n e t 公司 的t t c nt o o l b o x ,这里就不一一赘述。这些工具都实现了a t s 的翻译工作, 并且给t t c n 3 标准的其它实体留下了接口。这样做非常的灵活,用户可以随 意的编写自己想要的实现。但是同时也给用户增加了设计t t c n 3 测试工具的 复杂度,提高了对测试工具开发人员的要求。例如,如果需要使用t a ut e s t e r 那么必须熟练使用c 语言,并且了解相关编码解码,通信方式的实现, t t w o r k b e n c h 也一样。 所以本论文的研究就孕育而生,本论文的目的就是为了利用编译技术自动 生成t t c n 3 数据相应的编码解码器。测试平台不仅仅是编译生成可执行测试 套,而且还编译生成编码解码器。这样就可以使测试人员不必关心编码解码器 的设计与实现,把全部的精力集中在抽象测试套的编写上面。这项技术在目前 的商业产品中都是没有的功能,如果能够成功的完成,对t t c n 3 标准的推广, 对协议测试研究领域的贡献都是巨大的。 1 2 研究内容和创新点 本课题的目的是开发出一个能够生成比特流数据编码解码器的t t c n 3 编 译器。 实验所使用的工具和软件如下所示: 1 ) 硬件设备:一台计算机、被测系统、网络 2 ) 软件:t a ut e s t e r3 1 、l i n u xs u s e 3 ) 标准:t t c n 3 标准e t s ie s2 0 18 7 3 系列3 2 1 ) 本课题需要根据t t c n 3 核心语言提出比特流数据和x m l 数据的t t c n 3 定义方式,并且设计和实现比特流数据和x m l 数据的编码解码器,然后使用 编译技术生成编码解码器。最后设计t t c n 3 抽象脚本和被测系统来验证编码 解码器的正确性。 本课题具有两个创新点。第一个是设计通用的t t c n 一3 数据编码解码器模 型,并且实现其中比特流数据编码解码器,x m l 数据编码解码器。第二个是 使用编译技术实现t t c n 3 数据编码解码器的自动生成。 本课题研究的关键点在于通用编码解码器的结构设计、比特流数据和 x m l 数据编码解码器的设计与实现、t t c n 3 词法分析器的设计与实现、 t t c n 3 语法分析器的设计与实现、代码生成器的设计与实现。 本课题是研究开发型课题,研究的成果可能不能马上应用于t t c n 3 标准 系统和协议测试工业界。但是由于选题角度的新颖,本课题具有很高的创新价 3 北京邮电大学硕上研究生学位论文第一章引言 值和开拓意义。 1 3 论文的章节安排 本文着重研究了t t c n 一3 标准系统中的核一1 5 语言( c o r el a n g u a g e ) 以及 编码解码模块c d ( c o d i n ga n dd e c o d i n g ) 的使用和特点,在这个基础上设计 了通用的t t c n 3 数据编码解码器的模型,并且基于t a ut e s t e r 具体设计和 实现了比特流数据编码解码器,然后使用编译技术自动生成该t 1 n 一3 比特流 数据编码解码器,编译时使用u n i x 系统工具l e x 和y a c c 来生成相应的词法 分析器和语法分析器。最后在t a ut e s t e r 中验证该比特流数据编码解码器的 正确性。本论文一共分为八章,安排如下: 第一章,引言,介绍论文的研究背景和意义并且提出研究目标和创新点。 第二章,t t c n 3 与编译技术,介绍t t c n 3 标准,编译技术。 第三章,需求分析和总体设计,具体提出本课题需要完成的研究内容并且 提出本课题的总体设计方案。 第四章,编码解码器的设计与实现,设计通用的t t c n 3 数据编码解码函 数模型,提出t t c n 3 表示比特流数据和x m l 数据的方法,并且具体实现其 中的比特流数据编码解码器。 第五章,编码解码器的自动生成,使用传统的编译技术分别实现t t c n 3 的词法分析,语法分析以及代码生成模块。 第六章,验证与结果,编写t t c n 3 脚本在t a ut e s t e r 上验证自动生成的 编码解码器,并给出结果。 第七章,总结与展望,总结本文的研究成果和对今后工作的展望。 - 4 北京邮电大学硕士研究生学位论文第二章1 1 c n 3 与编译技术 2 1 丌c n 一3 第二章t t c n 一3 与编译技术 2 1 1t t c n 3 简介 上个世纪八十年代早期,欧洲和美国的许多研究机构和标准技术局就开始 共同合作来推进协议一致性测试的标准化工作,目的是制订一个在o s i 框架 内指导协议一致性测试的标准。随着协议测试理论的发展,协议一致性测试过 程中要求的抽象测试套a t s ( a b s t r a c tt e s ts u i t e ,简称a t s ) 的表示趋于规 范。1 9 9 2 年,国际标准化组织i s o 和国际电子电气协议i e c 于1 9 9 2 年合 作发布了i s o i e c9 6 4 6 ,其中i s o i e c9 6 4 6 3 是r r 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 ) ,即树表结合表示法,是表示a t s 的一种标准记法。丌n c 一3 版本1 和版本2 由i s o i e c9 6 4 6 - 3 标准进行了 详细的说明,是一致性测试方法与框架中的第三部分。同时,i u t t 也相应出 版了t t c n 标准x 2 9 2 。随后,欧洲通讯标准学会e t s i 对t t c n 一2 进行了 部分的保留和更新,形成了t t c n 2 + + ,主要实现了并发特性。随着网络技 术的推广,具有并发特性的网络协议应用更加广泛。 为适应协议测试的发展需求,从1 9 9 8 年到2 0 0 0 年,e t s i 专门成立研 究小组,把丌c n 开发成一种用于测试的高级程序语言,几经修改,于2 0 0 1 年推出t t 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 nv e r s i o n3 ) 测试语言, 成为新一代协议和软件测试标准。2 0 0 2 年1 0 月颁布了e t s ie s2 0 18 7 3 系歹d ( v 2 2 1 ) ,即t t c n 一3 第2 版。2 0 0 5 年6 月又推出第3 版。目前,t t c n - 3 测试语言的最新版本e t s ie s2 0 18 7 3 系列( v 3 2 1 ) 是2 0 0 7 年2 月发布 的。 目前,t t c n 一3 可用于多种类型的测试,包括一致性测试( 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 b t yt e s t i n g ) 、健全性测试 ( r o b u s t n e s st e s t i n g ) 、回归测试( r e g r e s s i o nt e s t i n g ) 、系统和集成测 试( s y s t e ma n di n t e g r a t i o nt e s t i n g ) 、以及负载压力测试( l o a d s t r e s s t e s t i n g ) 。 t t c n 一3 测试语言是欧美先进通讯厂商通信协议测试的主流,支持任何的 北京邮电大学硕士研究生学位论文第二章 r t c n 3 与编译技术 黑盒测试,可以进行多种通讯界面上的各种系统测试。典型的应用领域是通信 协议测试( 如g s m 、3 g ) 、互联网络协议测试( 如i p v 6 、s i p 、h 3 2 3 、o s p 、 s i g t r a n ) 、宽带技术测试( 如a t m 、b - i s d n ) 、服务测试、模组测试、c o r b a 平台及a p i s 等的测试。t t c n 一3 提供各领域最佳解决方案,包括通讯制造业 者、服务供应商、测试研究单位,及标准联盟等。目前的国外用户包括n o k i a , a i c a t e l ,m o t o r o l a ,e r i c s s o n ,s i e m e n s ,e t s i ,s o n u sn e t w o r k s ,t e x a s i n s t r u m e n t s 及3 g 等;国内用户包括中兴,华为,中国移动研究院等。 tt c n 3 的主要特性可以归纳如下: 1 )多种表现格式,可在不同的应用中选择合适的视图,i 2 、l丰富的类型系统定义,可以方便的表示目前大多数协议的消息体; 3 l具有完善的操作语句定义,并发度高,可以描述复杂的侧试行为; 4 1可以定义数据和过程模板,并提供了强大的匹配功能; 5 )支持基于消息和基于过程的通信机制: 6 1描述动态并发测试配置的能力; 7 1更加灵活的测试判决处理机制; 8 )多种参数化的支持; 9 )兼容a s n 1 及其它形式化描述语言; t t c n 3 语言重新定义了一种文本表现格式,称为t t c n 核心语言( c o r e l a n g u a g e ) ,它在外观上类似于常用的程序设计语言,采用模块化的结构,具有 良好的可读性。t t c n 3 核心语言用扩展b n f ( e b n f ) 规则定义了精确的语法, 并提供了完善的静态语义和操作语义,用t t c n 3 核心语言书写的抽象测试套 除了可读性强之外,编译和执行效率都很高。核心语言既可独立作为一种文本 形式的语言,也可作为基于t r c n - 3 的测试执行工具和测试开发工具间的一种 标准交换格式,或作为其它表现格式的语义基础。如图2 1 所示,t t c n 3 的 不同表现格式提供了面向不同应用的视图,不同的应用,可以选择不同的表现 格式来描述测试套。例如,t t c n 3 抽象测试套的辅助开发工具可以采用图形 表现格式,借助自动生成机制提高测试套的开发效率,而基于t t c n 3 的测试 执行系统则最好采用核心语言格式,语法分析和转换效率高,便于错误定位。 t t c 一 c o r e 1 鼬r 1 l , a n g u a b e 匿v a l u e 习s z 恒i f 讲m 越r r 5 i 7 l l ll 犀f 卜 - i & v 翻。 7 时寸 恬 羹董 一 僦 一 焉 北京邮电大学硕上研究生学位论文 第二章l q c n 3 与编译技术 图2 1t t c n 3 用户视图 2 1 2t t c n 3 标准 t t 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 nv e r s i o n3 ) 是一种功能 强大的测试标准,t t c n 3 标准分为1 0 个部分。 1 ) e s2 0 18 7 3 一l : 核心语言( t r c n 一3c o r el a n g u a g e ) 。核心语言是广 义的基于文本的t t c n 3 测试语言,可以作为t t c n 工具之间测试套 标准化的互换形式,可作为各种表示的语义和语法基础。 2 ) e s2 0 18 7 3 - 2 :表格表示形式( a + r c n 3t a b u l a rp r e s e n t a t i o nf o r m a t , t f t ) 。此形式是t t c n 3 的表格形式,类似与早期的t t c n 语言中的 相应版本。 3 ) e s 2 018 7 3 - 3 :图形表示形式( t r c n - 3g r a p h i c a lp r e s e n t a t i o nf o r m a t , o f t ) 。此形式基于i t u t 推荐的z 1 2 0 标准定义的消息序列图( m e s s a g e s e q u e n c ec h a r t s ,m s c ) 而定义,使用了m s c 的子集,并加入了用于 测试的文本扩展内容。 4 ) e s2 018 7 3 4 :操作语义( t r c n 3o p e r a t i o n a ls e m a n t i c s ) 2 1 。此标准 直观且明确地定义了t t c n - 3 的各种行为的含义。 5 ) e s2 0 18 7 3 - 5 :运行时接口( t t c n 3r u n t i m ei n t e r f a c e ,t r i ) 。此标 准定义了t t c n 3 测试系统实现的架构和其“运行时”接口的详细规 范。 6 )e s2 018 7 3 - 6 :控制接n ( t r c n 3c o n t r o li n t e r f a c e ,t c i ) 。此标准 定义了t t c n 3 控制接口的详细规范。 7 ) e s2 018 7 3 - 7 - t t c n 3 与a s n 1 结合使用。 8 ) e s2 0 18 7 3 - 8 :t t c n 3 与i d l 结合使用。 9 ) e s2 0 18 7 3 9 :t t c n 3 与x m l 结合使用。 1 0 ) e s2 0 18 7 3 1 0 :t t c n 一3 与c c + + 结合使用。 2 1 - 2 1t t c n 3 核心语言 t t c n 一3 模块 t t c n 一3 【l 】的顶层单元是模块。模块名具有t t c n 一3 标识符的格式,后接 个可选的对象标识符。模块( m o d u l e ) 参数列表定义了由测试环境在运行时 提供的一个值的集合,在测试执行时,将应按照常量来对待这些值。通过一对 紧接在关键字m o d u l e p a r 之后的花括号中列出模块参数的标识符和类型来声 明模块参数,模块应该仅在模块的定义部分中声明,允许模块参数声明的多次 出现,但是每个参数只能声明一次。模块定义部分描述该模块的顶层 北京邮电大学硕七研究生学位论文第二章t f c n 3 与编译技术 ( t o p - l e v e l ) 定义,可以从其它模块引入标识符。,模块定义可以被其他模块引 入。在模块定义部分中,定义可以被汇集在所谓的组( g r o u p s ) 中。模块控制 部分可以包含局部定义,描述实际测试例的执行顺序( 可能是重复的) ,应该在 模块的定义部分定义测试例,在控制部分调用该测试例。可以使用i m p o r t 语 句重复使用不同模块中说明的定义。t t c n - 3 没有明确的输出构架( e x p o r t c o n s t r u c t ) ,因此,默认模块定义部分中的所有模块定义都可以被引入。可以 在模块定义部分的任何地方使用i m p o r t 语句,但是不应在控制部分使用该语 句。下面是一个模块结构示意: 口:矿 m o d u l em y t e s t s u i t e 模块定义部分 e o n s ti n t e g e rm y c o n s t a n t :一l : t y p er e c o r dm y m e s s a g e t y 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 l ( ) f u n c t i o nm y f u n c t i o n 2 ( ) ;| 【e s t c a s em y t e s t c a s e1 ( ) r t m s o i lm y m t c t y p e ) t e s t c a s em y t e s t c a s e 2 ( ) i q l l l so i lm y m t c t y p e 臌块控制控制部分,因此它是可执彳亍的 :c o n t r o l 莲 v a tb 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 t em y t e s t c a s e 2 ( ) ; 燕 t t c n 3 数据类型 t t c n 一3 支持许多预定义的基本类型。这些基本类型包括与程序语言正常 关联的基本类型,如整型( i n t e g e r ) 、布尔类型( b o o l e a n ) 和串类型,也包括 一些丌c n 一3 特殊的类型,如对象标识类型( o b j i d ) 和判定类型 ( v e r d i c t t y p e ) 。可以从这些基本类型中构造结构类型,如记录类型( r e c o r d ) 、 集合类型( s e t ) 和枚举类型( e n u m e r a t e d ) 。也可以使用用户定义类型在简单 基本类型和简单串类型上创建子类型。如列表( 1 i s t s ) 、范围( r a n g e s ) 和长度 ( 1 e n g t h ) l 端t j 。下面是子类型相关定义的示例: 北京邮电大学硕士研究生学位论文 第二章t t c n 3 与编译技术 t y p eb i t s t r i n gm y l i s t o f b i t s t r i n g s ( 0 1 b ,1 0 b ,li b ) ;值列表 t y p ei n t e g e rm y l m e g e r r a n g e ( o 2 5 5 ) ;值域 t y p eb i t s t r i n gm y b y t el e n g t h ( 8 ) ;串长度限制,精确的长度值8彳 特殊的数据类型a n y t y p e 类型定义作是一个模块中所有已知类型的联合 ( u n i o n ) 。与测试配置相关的特殊类型,如地址类型( a d d r e s s ) 、端i s l 类型( p o r t ) 和成分类型( c o m p o n e n t ) 以用来定义测试系统的体系结构。p o r t 类型用于 定义端口的属性,端口是测试系统内各个实体之间通信的媒介,它在本质上是 一组先入先出的队列,各实体间传递的消息和调用命令都会先放在这些队列中 等待测试系统处理。c o m p o n e n t 类型用于定义测试组件的抽象结构,测试组 件是测试执行活动中可以独立运行各种测试操作的逻辑实体。测试组件内一般 包含若干个通信端口、定时器,以及一些局部变量和常量。a d d r e s s 类型用于 描述被测系统内各个实体的地址格式,以便于测试系统在与被测系统通信时可 以找到相应的实体。1 1 n - 3 的类型汇总见图2 2 。 北京邮电大学硕士研究生学位论文第二章t t c n 3 与编译技术 c l a s so ft y p e k e y w o r d s u b t y p e s i m p l eb a s i ct y p e si n t e g e rr a n g e ,l i s t f l o a t r a n g e ,i i s t b o o l e a nl i s t o b j i d l i s t v e r d i c t t y p e l i s t b a s i cs t r i n gt y p e s b i t s t r i n gl i s t ,l e n g t h h e x s t r i n gl i s t 。i e n q t h o c t e t s t r i n gi i s t i e n q t h c h a r s t r i n gr a n g e ,l i s t 。f e n q t h 。p a t t e m u n i v e r s a ic h a r s t r i n g m n g e ,i i s t ,i e n g t h 。p a t t e m s t r u c t u r e dt y p e sr e c o r d l i s t ( s e en o t e ) r e c o r do f l s t ( s e en o t e ) i e n q t h s e t i i s t ( s e en o t e ) s e t o f l i s t ( s e en o t e ) ,i e n g t h e n u m e r a t e di i s tf s e en o t e ) u n i o ni i s tf

温馨提示

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

评论

0/150

提交评论