(计算机软件与理论专业论文)ttcn3测试平台中数据类型子系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)ttcn3测试平台中数据类型子系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)ttcn3测试平台中数据类型子系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)ttcn3测试平台中数据类型子系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)ttcn3测试平台中数据类型子系统的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

内蒙古大学硕士学位论文 t 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 n ) 是新一代协议和软件测试描述语 言,它在定义并规范测试套描述语言的同时给出测试语言的执行语义,并且规 范测试系统各组件之间的接口。t t c n 3 的诸多优点使得在软件开发领域中使用 一种标准化的抽象测试描述语言成为可能。使用t t c n - 3 语言描述抽象测试套只 是完成了测试生成部分,测试套的执行需要一个运行环境,i i 钡1 试系统。本文 中的工作是测试执行平台中的重要组成部分一数据类型子系统。 测试活动的执行以数据为基础,数据是t t c n 3 语言中最基本的构成元素, 它定义在数据类型基础之上。因此要使用测试平台完成测试工作必须将抽象测 试套( a t s ,a b s t r a c tt e s ts u i t ) 中的抽象数据映射到测试平台。在t t c n 3 控制 接口( t c i ,t t c n 3c o n t r o li n t e r f a c e ) 中将t t c n 3 的各种预定义类型、用户 自定义类型以及相对应的各种类型的数据包装成统一的形式,以满足t c i 和t r i ( t t c n 3r u n t i m ei n t e r f a c e :t t c n 3 运行时接口) 的要求,实现消息的编解码 和成分间消息的通信。在此思想指导下我们实现了t t c n 3 测试平台中的数据 类型子系统,采用面向对象的方式实现t y p e v a l u e 的表示、存储和转换。我们 把a t s 中数据类型、数据和模板的定义都封装成类。首先要确立存储具体数据 类型和数据的数据结构,其次实现作用在抽象数据类型和数据上的各种操作。 在此基础之上说明可执行测试套( e t s ,e x e c u t a b l et e s ts u i t e ) 如何使用数据类 型子系统对具体的数据类型、数据和模板进行存储的过程。 关键词:t t c n 3 ,t c i ,t y p e v a l u e ,类型映射,测试平台 t t c n 3 测试甲台中数据类型子系统的研究与实现 t h ed e s i g na n di m l e m e n t a t i o no f s u bs y s t e mo fd a t at y p ei nt t c n 3t e s t i n gp l a t f o r m a bs t r a c t t t c n 3i san e wt e s td e s c r i p t i o nl a n g u a g ea b o u tp r o t o c o l sa n ds o f t w a r e i t d e f i n e da n ds t a n d a r d i z e d d e s c r i p t i o nl a n g u a g e a no fa b s t r a c tt e s ts u i t ,m e a n w h i l e d e s c r i b e dt h et t c n - 3o p e r a t i o n a ls e m a n t i c sa n ds t a n d a r d i z e dt h et e s t i n gs y s t e m i n t e r f a c eb e t w e e nt h ev a r i o u sc o m p o n e n t s t h em a n ya d v a n t a g e so ft t c n - 3m a y h a v ee n a b l e di tt ob e c o m eas t a n d a r d i z e dd e s c r i p t i o nl a n g u a g e i ns o f t w a r e d e v e l o p m e n ta r e a t h ed e s c r i p t i o no ft h ea b s t r a c tt e s ts u i tu s i n gt t c n 一3l a n g u a g e o n l yc o m p l e t e dp a r to ft h et e s tg e n e r a t i o n ,t h ei m p l e m e n t a t i o no ft e s tn e e df o r a l l e n v i r o n m e n t ,n a m e l yt e s t i n gs y s t e m t h ea c t i v i t i e so ft e s ti m p l e m e n t a t i o ni sb a s e do nt e s td a t a d a t ai st h em o s tb a s i c e l e m e n ti nt h et t c n 3l a n g u a g e w ed e f i n e dd a t ao nt h eb a s i co fd a t at y p e s ot o c o m p l e t et t c n 3t e s tu s i n gt h et e s te n v i r o n m e n t ,a b s t r a c td a t ai nt h ea t s m u s tb e m a p p e dt ot h et e s tp l a t f o r m t t c n - 3p r e d e f i n e dt y p e ,u s e r d e f i n e dt y p ea n dd a t ai s p a c k a g e di n t ou n i f o r mf o r m a ta c c o r d i n gt ot t c n - 3c o n t r o li n t e r f a c e ( t c i ) i no r d e r t om e e tt h et c ia n dt r ir e q u i r e m e n t sa n da c h i e v et h ec o d e co fm e s s a g ea n dt h e i n f o r m a t i o nc o m m u n i c a t i o nb e t w e e nc o m p o n e n t s ,w ei m p l e m e n t e dt h es u b s y s t e mo f d a t at y p eu n d e rt h eg u i d eo ft h i sd e s i g nm i n d w ei m p l e m e n t e dt h ee x p r e s s ,s t o r a g e a n dc o n v e r s i o no f d a t aa n dd a t at y p eb yt h eo b j e c t e d o r i e n t e da p p r o a c h w ep a c k a g e d t h ed e f i n i t i o no fd a t at y p e s ,d a t aa n ds p e c i a ld a t at y p e s t e m p l a t e sa sc l a s s f i r s to f a l lw eh a v ee s t a b l i s h e dt h ed a t as t r u c t u r eo fd a t aa n dd a t at y p e ,s e c o n d l yw e i m p l e m e n t e dt h ev a r i o u so p e r a t i o no nt h ea b s t r a c td a t at y p e sa n dd a t a o nt h eb a s i co f u p w a r d si m p l e m e t a t i o n ,w ee x p l a i nt h ep r o c e s so fe t ss t o r a g es p e c i f i ct y p e s ,v a l u e s a n dt h et e m p l a t eu s i n gd a t at y p es u b s y s t e m k e y w o r d s :t t c n - 3 ,t c i ,t y p e v a l u e ,d a t am a p p i n g ,t e s tp l a t f o r m l l t t c n 3 测试平台中数据类型子系统的研究与实现 图表目录 图2 1t t c n 3 基本元素的分层结构7 图2 2 典型测试配置概念视图9 图2 3 异步发送和接收模型1 1 0 图2 4 同步调用模型一1 0 图2 5 测试环境的基本结构佑1 。1 1 图2 6 测试执行过程流程图1 4 表2 1t t c n 3 语言中的基本元素1 1 6 图3 1t t c n 3 测试系统模块图1 5 表3 1t t c n 3 的数据类型m 1 6 图4 1t t c n 3 数据类型的继承关系图2 1 图4 2 数据类型合法性检查流程图2 7 图4 3r a n g e 合法性检查2 8 图4 4l i s t 合法性检查2 8 图4 5l e n g t h 合法性检查2 8 图4 6t t c n 3 抽象数据的继承关系图2 9 图4 7 安全转换函数3 0 图4 8 t e m p l a t e 与t y p e 关系图3 5 图4 9 模板的总体分层结构3 6 图4 1 0t e m p l a t e 与t y p e 继承关系图3 6 表4 1 安全转换函数功能描述3 0 表4 2v a l u e 数据结构31 表4 3t t c n 一3 数据操作表3 3 表4 4t t c n 3 模板数据结构3 7 表4 5t t c n 3 匹配机制:4 0 表4 6t c i c d 接口t e 侧函数4 1 图5 1 基本类型通过l i s t 属性定义子类型的顺序图一4 4 图5 2 基本类型通过r a n g e 属性定义子类型的顺序图4 5 v 内蒙古大学硕t 学位论文 图5 3 基本类型通过l e n g t h 属性定义子类型的顺序图4 7 图5 4 定义枚举类型顺序图4 8 图5 5 定义记录类型顺序图5 0 图5 6 定义单一记录类型顺序图5l 图5 7 定义整型数据顺序图5 3 图5 8 定义枚举类型数据顺序图5 4 图5 9 定义s t r i n g 数据顺序图。5 5 图5 1 0 定义记录类型,集合类型数据顺序图5 6 图5 1 1 定义单一记录类型,单一集合类型数据顺序图5 7 图5 1 2 定义联合类型数据顺序图5 8 图5 :1 3 定义整型数据顺序图6 0 表5 1 数据类型子系统面向e t s 的接i :3 函数4 2 表5 2 定义数据的接口函数。5l v l 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。除了 文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人己经发表或撰写过的研 究成果,也不包含为获得内蒙古大学或其他教育机构的学位或证书而使用过的材料。与我一 _? 同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 学位论文作者签名:;萤i 塾篷指导教师签名:学位论文作者签名:! 留e 坠憋指导教师签名: 日 在学期间研究成果使用说明书 学位论文作者完全了解内蒙古大学有关保留和使用学位论文的规定,即:内蒙古大学研 究生在校攻读学位期间论文工作的知识产权单位属内蒙古大学。学校有权保留并向国家有关 部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文 的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。作者今 后使用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若 用于发表论文,版权单位必须署名为内蒙古大学方可投稿或公开发表。 学位论文作者签名:盏塾! 塾指导教师签名: 日期:邂:至:z 内蒙古人学硕士学位论文 第一章引言 在当今社会的发展中计算机网络与通讯的基础作用日益明显,已成为社会正常运转和发 展的必要保障。另一方面随着软件应用的不断深入、规模不断扩大,其复杂度也日益提高。 因此,对网络通讯协议、通讯电信设备以及软件的安全、稳定、可靠、高性能的要求日益突 出。这样相关领域的测试技术也日益受到各方面的重视,测试理论和技术也在快速发展和提 高。测试的多样性和复杂性的增强对测试描述语言提出了更高的要求,人们希望在各个测试 领域使用一种标准化的语言描述测试,从而提高测试的复用性。其中欧洲电信标准协会( z t s z , 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 ) 带1 定的t t c n 3 标准,定义了一套通用的、标 准的测试环境及实现方法。t t c n 3 的诸多优点使得在各种软件开发领域中应用标准语言成 为可能。相应的对于t t c n 3 语言的测试环境的需求也日益紧迫。 1 1 测试描述语言t t c n 3 t t c n 3 是近年来计算机工程和通讯工程领域中的一个重要概念。t t c n 3 突破了t t c n 以前版本的应用局限,以一种全新面貌出现,具有强大的测试描述能力和复杂数据类型表达 能力,从而具有更广阔的应用领域。t t c n 一3 从功能、形式、结构上都有了质的飞跃,所以 也被赋予了新的解释。 t t c n 3 核心语言1 1 是一种类似于常用高级语言的测试语言。它除了包含一般高级语言 所共有的语言特性外,还包括一系y o 澳, u 试的专用语言结构和语言对象,如并发测试组件、测 试匹配机制、定时器处理、测试判定等等。对测试的使用者而言可以增强测试例的可读性和 可编辑性。t t c n 一3 是一个灵活且功能强大的测试套描述语言,它适用于各种交互系统的说 明。典型的应用是协议测试( 包括移动和因特网协议) 、服务测试、模块测试、基于c o r b a 的平台测试、a p i 测试等。t t c n 3 并不局限于一致性测试,可用于互操作性测试、健壮性测 试、回归测试、系统和集成测试等各种领域。t t c n 3 可以应用于许多方面如:移动通讯( g s m 、 3 g 、t e t r a ) 、无线局域网( h i p e r 2 1 a n 2 ) 、无线电话( d e c t ) 、宽带技术( b 2 i s d n ,a t m ) 以 及基于c o r b a 的平台和国际互联网络协议( 如i p v 6 、s i pa n do s p ) 等。 t t c n 3 具有以下重要特性四1 : 描述动态并发测试配置的能力; 基于过程的操作和基于消息的通信; r r c n 3 测试平台中数据类型子系统的研究与实现 描述编码信息和其它属性( 包括用户扩展性) 的能力; 描述数据和带有强有力的匹配机制的模板的能力; 类型和值的参数化; 测试判定的赋值和处理; 测试套参数化和测试例选择机制; 精确的执行算法( 操作语义啪) ; 全面支持分布式测试的需求; 基于文本的描述形式,加强了语言的表现形式,更易于用户编写和理解测试套; 对同步和异步通讯的操作; 定义良好的语法交换格式、静态语义、操作语义等; 平台独立性、抽象性好,与底层通讯无关,更好地适用于多种领域。 1 2 课题背景及t t c n 3 的发展应用现状 t t c n 的早期版本已有很多商业工具被广泛使用,但t t c n 3 是新型测试描述语言,目 前最新的版本是2 0 0 7 年2 月发布的,目前国内尚未出现其编译系统和测试平台。国际上, t e l e l o g i c 公司和新西兰的d a v i n c ec o m m u n i c a t i o n s 公司进行t t c n 3 与j a v a 结合的开发。 o p e ne n v i r o n m e n ts o f t w a r e 公司( w w w o p e n r c n c o m ) 正在开发t t c n 测试产品,2 0 0 4 年8 月2 6 日发行了o p e n t t c nt e s t e rf o rt t c n 3v o 4 5 0f o rw i n d o w sa n dl i n u x 。其它一些以前开 发t t c n 2 测试产品的公司如d a n e t 、德国的t e s t i n gt e c h n o l o g i e s 也在积极开发t t c n 3 的 相关工具,如t t c n 3t o o l b o x ,t t t h r e e 等。2 0 0 4 年5 月3 日至5 月5 日在法国的s o p h i a a n t i p o l i s 召开了t t c n 3 使用者的第一次国际大会。2 0 0 7 年1 0 月2 9 日至3 0 日在北京举行 t t c n 32 0 0 7 亚洲使用者大会。 可以说目前t t c n 3 的实际测试应用正处在起步和快速发展的阶段。另一方面要对网络 进行充分测试,特别是对新型网络、新型协议的测试,研制开发一个易于使用、易于升级并 能进行并行测试的t t c n 3 集成系统( 包括编译系统和相应测试平台) 是当务之急。 g 0 4 i t 项目噶1 是由欧盟创立的、多方参与的国际合作项目,旨在为基础研究用户( r e s e a r c h i n f r a s t r u c t u r eu s e r s ) 提供一个免费的、开源的和通用的i p v 6 测试环境,此环境是基于t t c n 一3 的,包括测试工具、测试套和相关服务等方面。项目已于2 0 0 6 年初启动,计划三十个月完成。 本项目由内蒙古大学、北京邮电大学,b i i ,国家信产部电信研究院和i n r i a 共同完成,近期 目标是在l i n u x2 6 & g c c 3 4 环境下,开发t t c n 3v 2 的测试开发环境,包括测试执行环境和 2 内蒙古大学硕七学位论文 编译器原形,远期目标是采用j a v a c 抖,实现跨平台的、开源的t t c n 3v 3 编译、测试工具。 2 0 0 6 年9 月,内蒙古大学计算机学院作为开发小组之一加入到g 0 4 i t 项目中,承担 t t c n 3 测试工具t e ( 测试执行器) 部分的设计与实现,本课题以此项目为背景。 1 3 论文目标与研究内容 _ ? 研究e t 标: t t c n 3 核心语言是一种类似于常用高级语言的测试语言,数据是t t c n 3 语言中最基本 的构成元素。t t c n 3 数据定义在一定数据结构基础之上。测试活动是在数据基础之上进行的。 怎样将a t s 中的t t c n 3 抽象数据平滑迁移到测试平台是必须解决的问题。并且在测试过程 中,数据的存储,在各模块之间流转,都是数据类型子系统需要解决的问题。 基于t t c n 3 的测试执行过程一般分为2 个阶段:首先将用t t c n 3 语言描述的抽象测 试套( a t s ) 转换成可执行测试套( e t s ) ,然后在特定的执行平台上运行e t s ,e t s 按特定步骤 与被测系统( s u t ) 通信,接收反馈,生成测试判定。我们采用c 抖语言来实现测试系统,其中e t s 的表示方式依赖于测试系统的实现,所以我们通过c + + 对象方式表示e t s 中的数据元素( 类 型和值) 。 在此设计思想指导下我们实现了数据类型子系统,采用面向对象的方式用平台语言c + + 来实现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 的数据元素,如类型以及子类型的定义及其相关的操作,各 种类型的数据上进行的相关操作,模板的定义以及使用等等,在数据类型子系统中都有相应 的类或作为类中的一个属性或者方法的存在来对应。在此实现基础之上,通过典型示例说明 e t s 如何使用数据类型子系统对具体的类型、值和模板进行存储的过程。 1 4 论文结构 本文共分为六章。第二章,阐述t t c n 3 的语言元素特性( 包括t t c n 3 数据元素介绍) , 介绍测试系统的结构,测试执行方式。第三章,分析数据类型子系统要实现的功能,以及子 系统在整个测试环境中的地位和作用。第四章,阐述了数据类型子系统实现数据元素表示的 机制并给出了详细设计和实现方案。第五章,介绍e t s 如何使用数据类型子系统进行数据元 r r c n 3 测试平台中数据类型了系统的研究与实现 素的存储、转换。第六章,作为方案的验证部分,对于测试环境下测试数据元素的存储、使 用过程给出了一个范例,并进行了详细的描述。 1 5 本文涉及的开发环境 基础程序包: 本文给出的解决方案及实现方式,需要得到以下程序包的支持,或者其它的实现了e t s i 标准接口的程序包的支持。 1 】g 0 4 i t p a c k a g e 2 项目组的t e ( 运行时环境) 模块 2 c d ( 编解码) 模块 【3 】t m ( 测试管理) 模块 【4 】t l ( 测试日志) 模块 【5 】p a ( 平台适配器) 模块 【6 】s a ( 被测系统适配器) 模块 开发环境 本文给出的解决方案及实现方式在以下的环境下完成: 1 】u m l 建模工具:r a t i o n a lr o s e2 0 0 3e n t e r p r i s ee d i t i o n t 1 0 l 1 1 2 1 3 1 4 1 【2 】开发语言:a n s ic + + 3 】环境:w i n d o w s x p e c l i p s ec 1 6 本文涉及的英文缩写 a t s ( a b s t r a c tt e s ts u i t e ) :抽象测试套 c d ( c o d i n g d e c o d i n g ) :编码解码 c h ( c o m p o n e n th a n d l e r ) :成分控制 e t s ( e x e c u t a b l et e s ts u i t e ) :可执行测试套 m t c ( m a i n t e s tc o m p o n e n t ) :主测试成分 p a ( p l a t f o r ma d a p t o r ) :平台适配器 p t c ( p a r a l l e lt e s tc o m p o n e n t ) :并行测试成分 s a ( s u ta d a p t o r ) :被测系统适配器 s u t ( s y s t e mu n d e rt e s t ) :被测系统 4 t e ( t t c n - 3e x e c u t a b l e ) :t t c n 3 测试执行器 t l ( t e s tl o g g i n g ) :测试日志 t m ( t e s tm a n a g e m e n t ) :测试管理 t m c ( t e s tm a n a g e m e n ta n dc o n t r 0 1 ) :测试管理和控制 t r i ( t t c n 一3r u n t i m ei n t e r f a c e ) :t t c n 3 运行时接口 t s i ( t e s ts y s t e mi n t e r f a c e ) :测试系统接口 e d s ( e n c o d i n g d e c o d i n gs y s t e m ) 编解码器 t 3 r t s ( t t c n - 3r u n t i m es y s t e m ) t t c n 3 运行时系统 5 t t c ! n 3 测试平台中数据类型子系统的研究与实现 第二章t t c n 3 测试系统简介 2 1t t c n 3 语言简介 t t c n 3 核心语言是一种类似高级程序设计语言的测试语言于在语法和语义上与通用高级 编程语言很类似。通过定义这种结构化的高级测试语言,对测试的使用者而言可以增强测试 例的可读性和可编辑性。 2 1 1t t c n 3 语言元素分析 t t c n 3 的顶层单元( 测试套) 是模块,模块不能分成子模块,模块可从其它模块中导入 ( i m p o r t ) 定义。一个模块由定义部分和控制部分构成。定义部分定义测试成份、通讯端口、数 据类型、常量、测试数据模板、函数、特征模板、测试例等;控制部分调用测试例和控制它 们的执行。t t c n - 3 语言基本元素见表2 - 1 ( 引自参考文献【1 】1 8 2 5 ) 表2 1t t c n 3 语言中的基本元素 t a b l e2 - 1o v e r v i e wo f t t c n - 3l a n g u a g ee l e m e n t s 汪1 , 1 :3 言元素相关联的关是否在模块是否在模是否在函数是否在测试日l 承 键字定义中被描块控制中测试例可选成份中被描 述被描述步中被描述 述 t t c n 3 模块定义m o d u l e 其他模块的定义引入 i m p o r t v e s 组定义 g r o u p v e s 数据类型定义 t y p e y e s 通讯端口定义 p o r t y e s 测试成份定义 c o m p o n e n ty e s 特征定义 s i g n a t u r e v e s 外部常量函数定义 e x t e r n a l y e s 常量定义 c o n s t y e s y e s y e s v e s 数据特征模板定义 t e m p l a t e v e s v e s y e s v e s 函数定义 f u c t i o nv e s 可选步定义 a l t s t e p y e s 测试例定义 t e s t c a s e y e s 变量声明 v a rv e s y e s y e s 定时器声明 t i m e rv e s y e sy e s t t c n 一3 语言中基本元素的分层结构见图2 1 ( 引自参考文献【1 】1 8 - 2 5 ) 。我们可以把 t t c n 3 语言元素分为两类:数据类和执行类。 6 内蒙古大学硕士学位论文 图2 1t t c n 一3 基本元素的分层结构1 1 f i g u r e2 - 1 h i e r a r c h i c a ls t r u c t u r eo f t t c n 3l a n g u a g ee l e m e n t s 2 1 2t t c n - 3 数据类语言元素 其中t t c n 3 数据元素包括用于表示t t c n 3 的类型、值、常量、变量、和模板的定义。 1 类型t y p e t t c n 3 支持许多预定义的基本类型。这些基本类型包括与程序语言正常关联的基本类 型,如整形( i n t e g e r ) 、布尔类型( b o o l e a n ) 和串类型,也包括一些t t c n 3 特殊的类型,如 判定类型( v e r d i c t t y p e ) 。 用户可以通过基本类型来自定义类型。用户定义类型用关键词t y p e 表示,可以根据用户 要求在简单基本类型和简单串类型基础上创建子类型。( 如加上列表( 1 i s t s ) 、子界( r a n g e s ) 和长度( 1 e n g t h ) 的限制) 。 另外可以从这些基本类型中构造结构类型,如记录类型( r e c o r d ) 、集合类型( s e t ) 、 联合类型( u n i o n ) 和枚举类型( e n u m e r a t e d ) 。特殊的数据类型- - a n y t y p e 类型定义为一个模 块中所有已知类型的联合。与测试配置相关的特殊类型,如地址类型( a d d r e s s ) 、端口类型 ( p o r t ) 和成分类型( c o m p o n e n t ) 可以用来定义测试系统的体系结构。( 引自参考文献【1 】 7 ,0l,l、ii、 t t c n - 3 测试、f 台中数据类型f 系统的研,与实现 2 5 - 4 6 ,参考文献【6 】2 2 3 1 ) 2 数据v a l u e ( v a r ,c o n s t ) 在定义了数据类型的基础之上,我们可以定义各种类型的数据,t t c n 3 语言中的数据 有常量和变量之分,他们分别属于以上这些类型或者以上类型的子类型。在测试活动中用到 的数据都必须确定其类型,也就是确定数据的存在形式。 可以在模块的定义部分、成分类型、模块控制部分、测试例、函数和可选步( a l t s t e p s ) 中声明和使用以上各种类型及其子类型的常量。常量由关键字c o n s t 来标识,应该在常量声明 的位置为其赋值。 变量用关键字v a t 表示,可以在模块的控制部分、测试例、函数或是可选步中声明、使用 以上各种类型及其子类型的变量。此外,还可以在成分类型定义中声明变量,并在测试例、 可选步和使用这些给定成分类型的函数中使用它们。但是,不能在模块的定义部分声明或使 用变量,也就是说t t c n 3 不支持全局变量的概念。变量声明时可以给它赋一个的初始值, 这个赋值是可选的。( 引白参考文献【1 】2 5 - 4 6 ,参考文献1 6 12 2 3 1 ) 3 模板( t e m p l a t e ) : 现在许多协议要求实现扩展的类型定义,在t t c n 3 语言里也有体现,就是带有匹配机 制的模板的定义和使用,所以我们有必要用平台语言来实现这种机制。 模板是用来传送一类特定值的集合,或是测试接收的值的集合是否与模板说明相匹配。 模板可以被认为是创建一个用于发送的消息或是匹配一个接收消息的指令的集合。所以把模 板看作是一类值的集合,也可以认为是类型的子集。模板提供了一种组织和重复使用测试数 据的方法。模版具有下列特性:模板能够被参数化,模板允许匹配机制,模板既能够用于基 于消息的通讯也能够用于基于过程的通讯。( 引自参考文献【l 】2 5 4 6 ,参考文献【6 】2 2 3 1 ) 2 1 3t t c n _ 3 执行类语言元素 执行类语言元素用于表示t t c n 3 的模块控制部分、函数、测试例、可选步、基本语句( f o r , d o w h i l e 等) 和行为语句( 选择a l t e r n a t i v e ,重复r e p e a t ,交3 l i n t e r l e a v e d ,返回r e t u m 等等) 、通 信操作、配置操作、定时器操作和测试判决操作等。 2 1 4t t c n - 3 动态测试配置 t t c n 3 支持对测试配置的动态定义,测试配置由一组互联测试成分和一个系统成分( 定 8 内蒙古大学硕士学位论文 义测试系统的边界) 构成。每个测试配置中有一个主测试成分( m t c ) 和若干并行测试成分 ( p t c ) 。测试例启动时,m t c 揪j 试系统自动创建,它负责管理和协调p t c 的测试行为,在整 个测试例的执行期间一直存在。各个p t c 在测试例执行过程中由显式的c r e a t e ,s t a r t ,s t o p 操 作来动态地创建、启动和停止。各个测试成分之间以及测试成分与系统成分之间都通过通信 端口交换信息,在测试例执行过程中,可以通过c o n n e c t ,d i s c o n n e c t ,m a p 和u n m a p 等操作 动态地改变各个通信端e l 之间的连接和映射关系。系统成分( s c ) 负责m t c 、p t c 与被测系统 ( s u t ) 之间的通信。一个典型t t c n 3 测试配置的概念视图见图2 2 。( 引自参考文献【1 】) 图2 2 典型测试配置概念视图【1 】 f i g u r e2 - 2c o n c e p t u a lv i e wo fat y p i c a lt t c n 一3t e s tc o n f i g u r a t i o n 2 1 5t t c n 3 通信机制 t t c n 3 支持两种通信机制:基于消息的通信和基于过程的通信。 对于基于消息的通信,t t c n 3 提供了s e n d 和r e c e i v e 操作。s e n d 用于将一个报文发送 到对方端口的消息接收队列中,在t t c n 3 中,报文可以用常量引用、变量引用、模板等多 种方式定义。r e c e i v e 操作用于从端口的消息接收队列头部获取一个报文体,r e c e i v e 操作可 以指定一个用于匹配报文的消息模板定义,当接收到的报文与模板定义相匹配时,该r e c e i v e 操作成功,报文被接收,否则报文将一直留在队列中,等待下一个r e c e i v e 操作来处理。 对于基于过程的通信,t t c n 一3 为调用方提供了c a l l 和g e t r e p l y 操作,为被调用方提供 了g e t c a l l 和r e p l y 操作。c a l l 和g e t r e p l y 分别用于调用远程过程和处理被调用过程的应答, g e t c a l l 和r e p l y 则分别用于接收远程调用和返回调用结果。 异步发送和接收模型说明见图2 3 ( 引自参考文献【1 】) ,同步调用模型说明见图2 4 ( 引自 参考文献 1 ) 。 9 t t c n 3 测试平台中数据类型子系统的研究与实现 图2 3 异步发送和接收模型【11 f i g u r e2 3i l l u s t r a t i o no f t h ea s y n c h r o n o u ss e n da n dr e c e i v e c a l l 1 g e 困= 二二二 一 g e c r 印l y 2 r e p l y0 7 c a t c he x 0 岳p t1 0 麓 falseo x o 毋馨匕i o 图2 4同步调用模型【1l f i g u r e2 4i l l u s t r a t i o no f t h es y n c h r o n i z a t i o nc a l l 2 2t t c n 3 测试环境的基本结构 从概念上讲,t t c n 3 测试系统可以认为是由一些相互作用的实体组成,每个实体对应 于测试系统实现中某一方面的功能。这些实体管理测试执行,解释和执行已编译的t t c n 3 代码,实现与s u t 的正确通讯,实现外部函数,并处理计时器操作。1 t t c n 3 测试系统大体上分为测试管理控制器( 包括t m 川,c d1 1 0 1 ,t l ,c h1 1 2 1 ) , 测试执行器( t e ) ,和适配器( 包括s a ,p a ) ,和编译器模块( c o m p i l e r ) 几个部分。 测试管理端( t m ) 、编解码子系统( c d ) 、成份处理器( c h ) 和测试日志( t l ) 通过 t c i 接i ( t t c n 3c o n t r o l i n t e r f a c e ) 与测试执行器交换控制和编解码信息,平台适配器( p a ) 和被测系统适配器( s a ) 的通信则通过t r i 接k i ( t t c n 3r u n t i m e i n t e r f a c e 1 3 1 与测试执行 器交互。 1 0 内莹古大学碗上学位论文 s u ta d a p t o r ( s a )p i a t f o r ma d a p t o r ( p a ) 圈墨墨圆圆 图2 5 测试环境的基本结构l6 l f i g u r e2 5g e n e r a ls t m c t u r e o f t t c n 一3 t e s ts y s t e m 测试管理模块( t m ,t e s tm a n a g e m e n t ) :向上为用户提供使用接口,向下管理t t c n 3 测 试系统实体。t m 负责测试启动前的配置工作、负责控制测试例、测试模块( 测试套) 两级 的控制工作,并管理相关信息、收集测试结论、负责记录测试过程中的同志。测试管理端包 括文本编辑器、t c l 接口模块和控制界面,可以支持抽象测试套编写、测试文件管理和测试 例选择功能。1 m 通过t c i 接口控制测试执行器。 t t c n 3 成分处理器模块( c h ,c o m p o n e n th a n d l e r ) :负责管理、分布各个结点上的成分, 与各个分布结点上t e 通信,并提供同步手段。c h 根据自己掌握的配置信息把来自t e 的操 作消息转发到真正实现它的那个t e 上。 测试口志模块( t l ,t e s t l o g g i n g ) :将测试过程中所发生的测试事件以测试日志的形式展 示给测试系统用户,日志包含的信息包括创建测试成分、启动测试成分、终止测试成分、向 被测系统发送数据、接受来自被测系统的数据、匹配t r f c n 3 模板以及定时器的启动、停止 和超时等等。 编解码模块( c d ,c o d i n ga n dd e c o d i n g ) :对t t c n - 3 中的数据进行编解码,使其转换为 被测系统可以识别的形式,可以正确的发送到被测系统中;同样,从被测系统中接收到的数 据也要通过编解码模块进行解码,使其转换成t e 可以静塌啪数据类型。在测试系统中,编 解码子系统与测试执行器之间通过t c i 接口进行交互任何遵循t c l 接口定义的编解码实 现都可以和测试执行器交互,具有良好的扩展性。 t t c n - 3 测试半台中数据类型f 系统的形 ,z 与买现 在t t c n 3 测试系统中,t e 实体负责解释或执行一个t t c n 3 语言的a t s 。概念上t e 能够被分解成三个彼此交互的实体:e t s ,t 3 r t s 以及e d s 。 e t s ( e x e c u t a b l et e s ts u i t e ) 实体负责处理或翻译在t t c n 3 模块中定义的测试例、测试 事件的顺序和匹配。在测试例运行期间,它与t 3 r t s 实体进行交互发送、接收和记录测 试事件的信息;在整个测试活动进行过程中创建、启动、停止和移除测试成分,以及处理外 部函数,完成定时器操作等等。e t s 在整个测试活动过程中并不与s a :p a 通

温馨提示

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

最新文档

评论

0/150

提交评论