(计算机应用技术专业论文)基于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 t c n 3 开发测试套过程中的关键技术和难 点,设计和实现解决方案。并且结合网络游戏中协议交互的特点,研究通用的底层 支撑技术,简化网络游戏中的协议测试和提高测试效率。 本课题分析了基于t t c n 一3 的协议一致性测试过程,抽象出其中可以重用的部 分,分析如何简化测试套的开发,以及对这些可重用部分的设计和实现。主要实现 的部分包括:设计和实现了一个可扩展的被测系统适配器,测试套开发人员可以直 接使用或者进行扩展;设计了一种使用方便的编码解码方式,为测试套开发人员提 供了三种使用方式,满足不同层次的需求:设计和实现了一个t i c n 3 的集成开发 环境,开发人员可以在此环境中完成所有t t c n 一3 相关的工作;使用本课题实现的 底层支撑技术,对一个具体的网络游戏实例进行了全面测试;此外本课题还对基于 消息序列图的t t c n 一3 测试套开发方式进行了尝试,给出了基础框架和实现,可以 在此基础上对此部分进行进一步的完善。 通过本系统,测试套开发人员不需要再开发被测系统适配器、编码,解码器等与 被测协议基本无关的部分,可以把更多的精力放在测试例的开发上;而且一个统一 的集成开发环境也使用户不再需要在多个环境之间切换,提高了开发效率。 关键词:协议一致性测试、t t c n - 3 、被测系统适配器 北方工业大学硕士学位论文 t h es t u d yo np r o t o c o lc o n f o r m a n c et e s t i n gb a s e do i lt t c n - 3 a b s t r a c t a tp r e s e n tm o r ea n dm o r ep r o t o c o ls t a n d a r d sw e r ee s t a b l i s h e dw i t l lt h ed e v e l o p m e n t o ft h en e x tg e n e r a t i o ni n t e r n e t p r o t o c o ls t a n d a r d sa r en o r m a l l yd e s c r i b e du s i n gn a t u r a l l a n g u a g e sa n dd i f f e r e n tc o m p a n i e sw i l lm a k ev a r i e di m p l e m e n t a t i o nf u rt h ed i f f e r e n t u n d e r s t a n d i n gw i mt h es a m ep r o t o c o ls t a n d a r d s oh o w t om a k es u r et h ec o r r e c t n e s sa n d v a l i d i t yo ft h ei m p l e m e n t a t i o nh a sb e e na ni m p o r t a n ts u b j e c t p r o t o c o lt e s t i n gi st h em o s t e f f e c t i v em e t h o dt oa c h i e v et h i s p r o t o c o lc o n f o r m a n c et e s t i n gv e r i f i e st h ec o n f o r m a n c e b e t w e e np r o t o c o li m p l e m e n t a t i o na n dp r o t o c o ls t a n d a r da n di t st h ef o u n d a t i o no f p r o t o c o l t e s t i n g t e s t i n gd e s c r i p t i o nl a n g u a g ei so n eo ft h eb a s ee l e m e n t so fp r o t o c o lc o n f o r m a n c e t e s t i n gs t a n d a r d s t t c n - 3i san e wi m p l e m e n t a t i o no ft e s t i n gd e s c r i p t i o nl a n g u a g e i tc a n t e s tp r o t o c o l sw i t ha l ll e v e l s m ys u b j e c ti sm a i n l yi n v o l v e di nt h er e s e a r c ho fp r o t o c o l c o n f o r m a n c et e s t i n gt e c h n o l o g yb a s e do nt t c n 3 t a k et h ei n t e m e tg a m ep r o t o c o l sa st h e o b j e c t so fm yr e s e a r c h ,f i n do u tt h ek e yt e c h n o l o g i e sa n dt h ed i f f i c u l t i e sd u r i n gu s i n g t t c n 一3a n dg i v et h es o l u t i o na n di m p l e m e n t a t i o nt ot h e s eq u e s t i o n st os i m p l i f ya n de a s y t h et e s t i n go f t h i sk i n do f p r o t o c o l s t h em a i nw o r k sa c h i e v e di nt h i s s u b j e c ti n c l u d e :a n a l y z e t h e p r o c e d u r e s o f c o n f o r m a n c et e s t i n gb a s e do nt t c n - 3a n da b s t r a c tt h ep a r t sw h i c hc a nb er e u s e d ;p r o v i d e a ni m p l e m e n t a t i o no f t h es y s t e mu n d e rt e s ta d a p t e rw h i c hd e v e l o p e r sc a nu t i l i z ed i r e c t l yo r e x t e n dac u s t o m i z e df u n c t i o nf r o mi t ;d e s i g nad e c o d i n g e n c o d i n gm e t h o dw h i c hc a nb e e a s yt ou s ea n dp r o v i d et h r e ew a y sf u rd e v e l o p e r sw h oc a nc h o s ea n yo n ea c c o r d i n gt o t h e i rr e q u i r e m e n t s ;i m p l e m e n ta ni n t e g r a t ed e v e l o p m e n te n v i r o n m e n to ft t c n - 3w h i c h p r o v i d e sd e v e l o p e r sa n yu s e f u lf u n c t i o n sr e l a t e dt ot t c n 一3a n dc a ne a s yt h ed e v e l o p m e n t o ft t c n 一3t e s ts u i t e s ;t h et e s t i n go fi n t e m e tg a m ep r o t o c o lu s i n gt h es y s t e mi m p l e m e n t e d i n t h i st h e m e ;i na d d i t i o n ,t h i ss u b j e c tm a k e sa ne x p e r i m e n to nm s cp r e s e n t a t i o no f t t c n - 3a n d d e s i g n s ab a s i cf r a m e w o r kw h i c hm en e x tw o r kc a nb eb a s e do n t h es y s t e mi m p l e m e n t e di nt h i st h e m ec a ns i m p l i f yt h ep r o c e d u r e so ft t c n - 3 d e v e l o p m e n ta n di m p r o v et h ee f f i c i e n c y k e yw o r d s :p r o t o c o lc o n f o r m a n c et e s t i n g , t t c n - 3 ,s u ta d a p t e r 3 一 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得j e 友王些盍堂或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示谢意。 学位论文作者签名:马云磷签字日期:如t 侔z 月1 日 学位论文版权使用授权书 本学位论文作者完全了解j e 直王、业太堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权j e 直王些太堂可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:马云肄 签字日期:姗,年,月日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师魏参荔印 d , 签字日期:口z ;2 月日 电话: 邮编: 北方工业大学硕士学位论文 l 引言 计算机网络是现代通讯技术与计算机技术相结合的产物。为了使系统中的计算 机进行有效地通信,就必须为通信行为制定一组规则。协议就是为计算机系统之间 交换信息而建立的规则、标准或约定。通信协议允许人们不依赖于特定厂家的网络 硬件来指定或理解数据通信。只有遵守协议,各个计算机系统才能互相理解,实现 自由可靠的通信。 协议是计算机网络的灵魂。协议一致性测试是为了验证计算机网络通信协议的 实现与相应的协议标准之间的一致性,是确保各种计算机系统正确互连和互操作的 关键。 协议测试并不是网络测试的全部内容,随着网络技术的进步,新型业务的出 现,对测试也提出了新的要求。现行测试包括许多方面,如:功能测试、性能测 试、兼容性测试、一致性测试等。但在众多侧试中,协议一致性侧试是其它测试的 基础,也是计算机网络测试的主要内容之一。 1 1 课题研究背景 协议一致性测试的国际标准的建立是从八十年代早期开始,其目的是制定一个 在o s i 框架内进行协议一致性测试的指导标准。到9 0 年代,国际标准化组织提出的 关于o s i 参考模型和i t u t ( 国际电信联盟电信标准化部门1 协议进行一致性测试的 理论框架和测试方法的国际标准i s o i e c 一9 6 4 6 1 i ( i t u tx 2 9 0s e r i e s ) ,成为了协议 一致性测试领域里的一个里程碑吼 t t c n ( 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 ) 口】一开始就是为基于o s i 的协议一致性 测试设计而开发的。尽管t t c n 是一种专用于测试的一种语言,但是对于新出现的 不同领域的不同种类的测试仍存在很多缺陷和不足,如:移动通讯协议、因特网协 议、服务测试、模块测试、基于c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 平台的测试和a p i 测试等领域,以及互操作性测试、健壮性测试、回归侧试、系统 测试、集成测试等种类。 2 0 0 3 年,欧洲电信标准协会( e t s i ) 发布了测试和测试控制符号版本3 ( t t c n 一 3 ) 。t t c n 一3 不但保留了原有t t c n 一2 的良好特性,并且包括满足上述需求的新特 性。t t c n 3 于业内许多新的技术领域,如i p 相关技术的测试等关系密切。在过去 的三年中,随着支持该语言的有力工具的开发,t t c n 一3 的用户数量得到了快速的 增长。t t c n 一3 成为e t s i 成员内部开发程序的首选测试语言。 北方工业大学硕士学位论文 t t c n 一3 是近年来软件工程和通讯工程领域中一个重要概念,它满足了这些领 域中相关测试的需求,保证了不同实现之问的一致性和互操作性。另外它突破了描 述语言的数据类型、行为操作的表示形式固定的局限。作为一种测试集的抽象描述 语言,它可以通过适当的编译器转换成j a v a 、c 或者其它语言,形成了自己独特的 风格。 t t c n 一3 可以应用于多个方面:移动通讯、无线局域网、无线电话、宽带技术 以及基于c o r b a 的平台和i n t e m e t 相关协议( i p v 6 ,s i p ,o s p 等1 。 目前,国际上很多公司和研究机构都在进行t t c n 一3 相关的工具和应用的研 究。t t c n 3 的应用前景也必将越来越广泛 1 2 课题研究内容 本课题主要集中于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 r i ( t t c n 一3r u n t i m ei n t e r f a c e ) h j 规范实现一个有一定通用性的被 测系统适配器,简化用户进行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 i b u i l d e r 。 可扩展的软件体系结构的研究:t t c n 3 集成开发环境应该可充分扩展,以支 持t t c n 一3 的其它特性。本课题选择了e e l i p s e 作为基础开发平台。 t t c n 3 应用的研究:在开发的通用被测系统适配器和t t c n 3 集成开发环境的 基础上进行t t c n 3 应用的研究。本课题对一款手机游戏中的协议进行了全面测 试。 1 3 论文组织结构 本论文的结构组织如下: 2 一 北方工业大学硕士学位论文 第二章介绍了本课题涉及到的相关的理论知识和技术,包括协议一致性测试理 论、t t c n 3 相关理论和e c l i p s e 平台。 第三章讨论了在使用t t c n 一3 开发协议一致性测试套的过程中的关键步骤,并 分别提出了对这些步骤进行简化的方法。此外还分析了t t b u i l d e r 应该实现的功 能。 第四章给出了t t b u i l d e r 的整体设计以及其中各个部分的设计和实现。 第五章介绍了使用t t b u i l d e r 平台开发一个基于t t c n 一3 的防议一致性测试套 的过程。 第六章给出了本课题的总结,并对本课题的进一步研究提出了自己的看法。 北方t 业大学硕士学位论文 2 相关理论和技术介绍 本课题的重点是基于t t c n 一3 的协议一致性测试技术,包括t t c n 一3 进行协议一致 性测试的工具支持和应用研究。主要涉及到的理论和技术包括协议一致性测试、t t c n 3 和e c l i p s e 平台。下面对这些技术进行分别介绍。 2 1 协议一致性测试 协议一致性测试是指针对一个网络协议的实现,测试者依据协议说明通过测试套对 其进行测试,以检验其实现是否与协议说明所描述的功能一致。因此,协议一致性测试 是保证一个网络 办议正确实现的关键。 2 1 1 协议测试的基本概念 协议测试理论是协议工程学的一个重要分支。研究协议测试的一个重要的原因 是一个标准的协议定义并不能确保各个厂商的具体协议实现之间能够成功的进行通 信。这是因为协议标准一般是通用自然语言描述的,不同的厂商可能会有不同的理 解,从而造成协议实现上的差别,甚至可能是错误的实现。所以需要有一种有效的 方法来对协议的实现进行正确和有效的判别,这就是“协议测试”。实际上,协议 测试是试图通过试验的方法找出错误的过程。在协议测试过程中既要模拟协议实现 堆常工作的情况,也要模拟异常使用的情况;既要模拟防议实现单独运行的情况, 也要模拟协议实现之间相互通信的情况。这样刁能确信在任何情况下系统的正常工 作状况。由于对一个系统进行无穷尽的测试是不现实的,所以协议测试并不能保证 一个协议实现的完全正确性,既只能表明“存在错误”,丽不能证明“不存在错 误”。这是协议测试的基本出发点1 5 j 。 协议测试是从软件测试的基础上发展而来的。一般软件测试可以分为功能测试 和结构测试两种。结构测试又称为“白盒测试”,它是基于一个软件的内部结构进 行的测试,其目的是通过执行每条语句、遍历程序的各个分支来检查整个程序代码 的正确性。与此相反,功能测试只是依据软件的说明对从外部可以观察到的软件功 能进行测试,所以也称之为“黑盒测试”,既被测系统被看作一个黑盒,仅仅通过 观察外部行为来确定软件的功能实现,而不涉及程序的内部结构。功能测试的目的 是根据软件的说明确定软件实现是否达到了要求,因此预先要有一个简洁明确的软 件功能说明。而协议测试属于功能测试,既黑盒测试。 协议测试有三种类型: 一4 一 北方 _ = 业大学硕士学位论文 1 ) 一致性测试f c o n f o r m a n c et e s t i n g ) 1 】:一致性测试是依据协议的文本描述对 协议的某个实现进行测试,检测协议实现是否符合协议标准; 2 ) 互操作性测试( i n t e r o p e r a b i l i t yt e s t i n g ) :检测同一协议的不同实现版本之间互 通能力和互连操作能力; 3 ) 性能测试( p e r f o r m a n c et e s t i n g ) :检测协议实现系统的性能指标( 如数据传输 率、连接时间、执行速度和吞吐量等) ; 单纯对一个协议实现进行一致性测试,并不能确保不同协议实现之间通信的成 功,我们还需要将协议实现放在一个实际的通信网络环境中进行测试。在这种测试 中,主要检测一个协议实现与其它系统之间是否能够进行成功可靠的通信交互,因 此称为互操作性测试。对于一个新的协议实现来说,与典型的、主流的协议实现的 互操作测试是非常重要的。 一致性测试和互操作性测试都是功能测试,而性能测试的目的是测试协议实现 的性能参数,并根据这些参数对协议实现的性能做出评价。此外,一致性测试和性 能测试的测试对象都是一个,而互操作性测试的测试对象则是多个协议实现。三种 测试之间同样是有联系的,一致性测试是其它两种测试的基础,只有协议实现满足 一致性需求,对它进行互操作性测试和性能测试才更有意义。而性能测试的结果对 互操作性测试也有影响,性能匹配的协议实现之间才能更好地互操作。 2 ,1 2 协议一致性测试理论 协议一致性测试的国际标准的建立是从八十年代早期开始,欧洲的许多研究机 构开始在建立标准化的协议一致性测试活动方面进行合作,其目的是制定一个在 o s i 框架内进行协议一致性测试的指导标准。最初的参与者包括法国的a d i ,德国 d a r m s t a d t 的g m d 和英国的国家物理实验室n p l 。这些研究机构在这之前曾分 别关注于一致性测试的不同方面的研究。而在9 0 年代,国际标准化组织提出的关于 o s i 参考模型和i t u t 协议进行一致性测试的理论框架和测试方法的国际标准 i s o ,i e c 9 6 4 6 ( i t u tx 2 9 0s e r i e s ) ,成为了协议一致性测试领域里的一个里程碑。 协议一致性测试理论主要表现在由i s o 制定的协议一致性标准i s o i e c 9 6 4 6 1 1 。这个标准主要针对的是由自然语言描述的协议的测试。在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 r m a n c es t a t e m e m s ,简 称p i c s ) e o 所声明的功能相符合”。 北方工业大学硕士学位论文 i s o i e c - 9 6 4 6 标准是针对使用自然语言描述协议的测试而制定的,最初由五部 分组成: i s o i e c9 6 4 6 1 :基本概念; i s o i e c9 6 4 6 2 :抽象测试套描述; i s o 1 e c9 6 4 6 3 :树表结合表示法t t c n ; i s o i e c9 6 4 6 4 :测试实现; i s o i e c9 6 4 6 5 :一致性判断过程对实验室和客户的要求。 后来又补充了以下两部分: i s o i e c9 6 4 6 6 :侧面测试说明; i s o i e c9 6 4 6 - 7 :实现一致性声明。 在i s o i e c 一9 6 4 6 推荐的是抽象测试方法。在此方法中的测试集由抽象测试集 ( a b s t r a c tt e s ts u i t e ,简称a t s ) 组成,每个抽象测试集又由抽象测试例组成。抽象测 试例是独立于任何测试系统的。在i s o i e c 9 6 4 6 中建议使用t t c n 作为测试集的描 述方法。 2 1 3 协议一致性测试模型 i s o i e c 一9 6 4 6 中规定的协议一致性测试模型【8 如下图所示: 图2 1 协议一致性测试模型 在此协议一致性测试模型中主要由以下部分组成: 上测试器( u p p e rt e s t e r ,简称u x ) :它控制这测试例的执行,并且利用抽象服务 原语( a b s t r a c ts e n r i c ep r i m i t i v e s ,简称a s p ) 和协议数据单元( p r o t o c o ld a t au m t , p d u ) ,在控制和观察点( p o i n to fc o n t r o la n do b s e r v e ,简称p c o ) 对来自被测实现的 输出和输入进行控制和观察。 一6 一 北方工业大学硕士学位论文 下测试器( l o w e rt e s t e r ,简称l t ) :它作为上测试器的一个对应端点存在,接收 从被测实现( i m p l e m e n t a t i o nu n d e rt e s t ,简称i u t ) 传送来的数据,并且和期望数据 比较,做出判决。它也是通过底层服务提供者的p c o 和i u t 进行通讯。 被测实现:它是被测的实体,处于上测试器和下测试器的中间。i u t 必须有 p c o ,上下测试器只有通过p c o 才能和i u t 进行通讯。 测试协调过程( t e s tc o o r d i n a t i o np r o c e d u r e ,简称t c p ) :它主要用来协调上测试 器和下测试器,使它们保持同步。t c p 的实现可以采用i u t 实现,也可以采用i u t 外的协议实现。 底层服务提供者:它为i u t 提供更底层的服务。但存在的一个前提是底层服务 提供者提供的服务必须是正确的,这样才能确保测试的结果能够反应i u t 的行为。 一致性测试过程大致可以分为三个阶段。一致性测试生成阶段:根据协议文本 生成独立于所有协议实现一致性抽象测试集;一致性测试实现阶段:按照一致性抽 象测试集,根据特定的环境生成可以执行的测试集( e x e c u t a b l et e s ts u i t e ,简称 e t s ) ;一致性测试执行阶段:运行e t s ,并对被测实现的外部行为进行观察,得到 测试判决,最后将测试的结果记录在测试报告中。 在i s 0 ,i e c 9 6 4 6 推荐的是抽象测试方法。在此方法中的测试集由抽象测试集 ( a t s ) 组成,每个抽象测试集又由抽象测试例组成。抽象测试例是独立于任何测试系 统的。而根据不同的控制观察点,抽象测试方法可以分为四类:本地测试方法、协 调测试方法、分布测试方法和远程测试法。 本地测试法是端系统协议一致性测试中的最简单,也是最基本的方法。在这种 方法中,l t ,u t 及测试协调过程在同一个系统中实现。这种方法的一个基本假设 是在i u t 的上下边界都存在p c o 和l t 及u t 联系。测试系统通过这些p c o 对i u t 进行输入激励,并且观察n j t 的输出响应,然后根据协议描述做出测试判决。本课 题主要是对此类方法上的协议测试进行研究。 端系统协议一致性测试是由独立的第三方进行,或者测试系统与i u t 位于不同 的地点,无法对i u t 的下边界进行直接的访问,这时就需要使用到协调测试方法、 分布测试方法、远程测试法。这三种方法都假设i u t 的下边界不存在p c o ,对i u t 的激励和观察功能分成本地和外部两部分。它们共同的特点是l t 和i u t 处于不同 的系统中,两者之问通过底层服务提供者实现连接。 一7 一 北方工业大学硕士学位论文 2 1 4 协议一致性测试过程 一致性测试的目的在于验证协议实现与相应的协议标准的一致性,它只关心协 议实现呈现于外部的性能。作为各项协议测试工作的前提和基础,一致性测试始终 是协议测试领域研究的重点。在理想的情况下,不同厂家按相同协议标准生产的设 备本应在网络环境下正常通信,但是实际情况并非如此,由于设计者对标准的不同 理解,以及各个厂家持有不同的技术政策,导致其产品的某些性能要么偏离标准, 要么是标准的一个子集。一致性测试可以提高人们对设备( 协议实现) 正确性的置信 程度。 一致性测试首先需要根据协议标准建立起一个协议原型,然后根据这个原型, 我们分析生成相应的测试序列集,针对于具体的协议实现,我们还要选择合适的测 试方法,将生成的测试集转化为可执行的测试用例,应用到被测的协议实现上,观 察激励反映,最终得到验证结果。 如图2 2 所示,一致性测试过程i l0 j 主要分为如下四步: 图2 2 一致性测试过程 1 1 测试生成,即从协议标准产生抽象测试集。之所以称为“抽象测试集”是因 为它是独立于所有的协议实现的,抽象测试集由多个用于不同测试目的的测试序列 组成; 2 ) 测试实现,即由抽象测试集产生可执行的测试序列集。抽象测试集中的抽象 测试序列被转变为在一个实际的测试设备或测试系统上可执行的测试用例。这一阶 段需要考虑测试环境与被测协议实现( i u t ) 的具体情况; 8 一 北方工业大学硕+ 学位论文 3 ) 测试执行,即将可执行的测试序列集施加到被测网络协议上,并对i u t 的外 部响应行为进行观察,记录各条测试序列的执行结果; 4 ) 测试判决,即对测试执行的结果进行验证和分析,得到一个有关i u t 相对于 协议标准一致性的判决,给出协议一致性测试报告( p r o t o c o lc o n f o r m a n c et e s t i n g r e p o r t ,简称p c t r ) 。 2 2t t c n 一3 简介 t t c n 语言广泛地用于在o s i 一致性测试系统中描述抽象测试集。一个用t t c n 描 述的测试序列,能充分表明测试系统和被测协议实体之间的行为,从而判定协议实现的 行为,最终得出通过或失败的判决,因此,用t t c n 表示的测试集是一致性测试的基础 和关键。 2 2 1t t c n 一3 的发展 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 t c n ) 最早出现于1 9 8 4 年,作为o s i 一致 性测试方法和框架,它包括i s o i e c 96 4 3 3 和c c i t tr e c x 2 9 2 。t t c n 广泛用于标 准组织( 如i t u t ,i s o i e c ,a t mf o r u m ) 的协议一致性测试套的描述。 然而第一版的t t c n 不能设计和描述并行行为,人们很快意识到对t t c n 的并 行能力的扩展的重要性和迫切性。在扩展过程中,除了并行机制,模块和打包的概 念被引入以增加复用性,a s n 1 被引入以扩充单一的语法。经过这样扩展的t t c n 被i s o i e c 和u t 编订为t t c n 第二版:t t c n 一2 ( 在1 9 9 8 年、。 t t c n 一丌始就是为基于o s i 的协议一致性测试设计而开发的,尽管在t t c n 一 2 中做了扩展,但是对于新出现的不同领域的不同种类的测试仍存在很多缺陷和不 足,如:移动通讯协议、因特网协议、服务测试、模块测试和a p i 测试等领域,以及 互操作性测试、健壮性测试、回归侧试、系统测试、集成测试等种类。因此需要一 种更加灵活而功能强大的测试描述语言来满足以上需求。s t f ( s p e c i a lt a s kf o r c e l 1 3 3 和e t s1 5 6 从1 9 9 8 年开始研究新版t t c n ,到2 0 0 0 年1 0 月完成,新版的 t t c n 命名为t e s t i n ga n dt e s tc o n t r o l n o t a t i o nv e r s i o n3 ( t t c n 一3 、。 t t c n 一3 的前期草案沿用了树表结合( 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 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 n 3 ( t t c n 一3 、。 一9 一 北方工业大学硕士学位论文 t t c n 3 不但保留了原有t t c n 一2 的良好特性,并且包括满足上述需求的新特 性。一个明显的不同就是t t c n 2 有两种描述形式,一种是图表形式,一种是与图 表形式等价的机器可执行语言,而t t c n 一3 有通用的核心语言( 和程序设计语言很相 近,如c 和j a v a ) 、图表表达形式及m s c ( m e s s a g es e q u e n c ec h a r t ) 表示语言。 t t c n 3 包含下列主要特性: 1 1 基于文本的描述形式 2 1 动态并行测试配置 3 1 对同步和异步通讯的操作 4 1 描述编码信息和其它属性的能力 5 1 具有良好匹配机制的数据类型和特征模板 6 1 类型和值的参数化 7 ) 测试判定的赋值和处理 8 ) 测试套的测试化和测试例的选择机制 9 ) 可与a s n 1 ( 以及i d l 等) 结合使用 1 0 1 定义良好的语法交换格式静态语义、多种表示形式等。 2 - 2 2t t c n 3 核心语言和其它表示形式 t t c n 一3 分为核心语言( c o r el a n g u a g e ) 1 3 】,表格表示格式( t a b u l a r p r e s e n t a t i o n ) 1 6 1 ,消息序列图( m s c ) 表示格式【7 1 等多种使用形式。但核心语言是其它形 式的基础,是完整的、独立的。它是t t c n 工具之间的标准交互格式,是其它格式 的语义基础。 核心语言和各种表示格式的用户视图见图2 3 。 卧 t t c n 3 珈口1 格式 。 i 类型和值广一 棱心 语言 卧 格式广一 il 醉- l 类型和值1 广一 一1 0 一 t t c n 3 用户 北方工业大学硕士学位论文 图2 3t t c n 一3 的组成 由上图可知,t t c n 一3 核心语言是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 其它表示方法的基础,而且可以应用其它的抽象测试语 言中的类型和值,比如a s n 1 ,为抽象测试套的编写提供了很大的灵活性。 树表描述方法和图形描述方式是t t c n 一3 定义的两种展示方式。树表描述方法 是在t i ? c n 一2 中采用的一种测试集开发方式,t t c n 3 继承了这种方式,使得 t t c n _ 3 能够向后兼容,也使得t t c n 2 开发的测试集向t t c n 一3 转换变的很容易。 图形描述方式是新加的一种开发方式,它主要采用了消息序列图m s c 的概念。 2 2 2 1t t c n 一3 核心语言 t t c n 3 有很多预定义的基本数据类型和结构类型,如记录,集合,联合,枚 举和数组等。同时它可以引入a s n 1 的类型和值,这些类型和值可以与t t c n 一3 一 起使用。 t t c n 3 最顶层单元是模块,它内部不能再有予模块。t t c n 3 模块之间相互独 立,它们可以通过i m p o r t 语义共享数据定义。一个测试套就是一个模块。一个模块 有两部分:定义部分和控制部分。定义部分定义了测试组件、通讯端口、数据类 型、常量、测试数据模板、函数、端口程序呼叫信号、测试例等。控制部分包含局 部变量定义、调用测试例并控制其执行顺序。 下面给出一个t t c n 3 的例子。这个模块测试套的名字是m y t e s t s u i t e ,其定义 部分定义了运行在主测试组件类型m y m t c t y p e 上的两个测试例m y t e s t c a s e l 和 m y t e s t c a s e 2 ;控制部分执行这两个连续的测试例m y t e s t c a s e l 、m y t e s t c a s e 2 ,并控 制其先后顺序。 北方工业大学硕士学位论文 2 2 3t t c n 一3 测试的系统结构 在文献【4 】中,即t c n 一3 规范的第五部分t f 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 测试系统的概念模型进行了描述。t t c n 一3 测试系统的结构如下图所示: 测试管理和配置( t m ) 2 i 一一一一一i i 卜一一一一一一 l 篆罴li 可删试套 i 编恶统忙藉。 被测系统适配平台适配器 。一一一一一一一一一一一一一一一一一j 图2 4t t c n 3 测试系统的结构 t t c n - 3 测试系统出一组具有特定功能的实体组成。这些实体管理测试的顺 序,解释和执行已经编译过的t t c n - 3 代码,实现和被测系统s u t 的正确通信以及 实现外部函数( 在t t c n - 3 模块外面定义,在模块中申明为外部函数) 和处理定时器的 操作等。t t c n - 3 测试系统分解为测试管理( t e s tm a n a g e m e n t ,简称t m ) 、测试执行 实休( t t c n - 3e x e c u t a b l e ,简称t e ) 、s u t 适! 蟒( s y s t e mu n d e rt e s ta d a p t e r ,简称 s a ) 和测试平台适配器( p l a t f o r ma d a p t o r ,简称p a ) 。 如图2 4 所示,t t c n 一3 测试系统中要两个主要的接口:t t c n 一3 控制接口 ( t t c n 一3c o n t r o li n t e r f a c e ,简称t c i ) 1 9 和t t c n 3 运行时接口( t t c n 3r u n t i m e i n t e r f a c e ,简称t r i ) 。它们分别指定了t m 和t e 之间的接口,和t e 与适配器( s a 和p a ) 之间的接口。目前,t t c n 一3 规范只对t r i 进行了接口定义,而给予测试工 具提供商在测试系统的实现中很大的灵活性。而一般情况下,t r i 需要由j a v a 或 c c + + 等语言来开发,这也是本课题的一个主要部分,既提供一套基本通用的实现 了t r i 接口的实现,使用户可以只需关注于抽象测试套的开发。 t t c n 3 中各个实体的功能1 ”j 如下: 1 2 北方工业大学硕士学位论文 t m 负责全面的管理,包括用户接口实现和测试执行管理,如测试系统执行前 的准备,最后判断结论的收集以及向t e 传递模块参数等。而且t m 还保持一份测 试执行的记录。从图2 4 中可以看出t m 不需要与t r i 交互。 t e 负责解释和执行t t c n 3 抽象测试套a t s 。t e 又可以分解成三个相互作用 的实体:可执行测试套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 ( t t c n 3r u n t i m es y s t e m ) 和编码解码系统e d s ( e n c o d i n g d e c o d i n gs y s t e m ) 。e t s 解释和执 行测试用例、控制测试顺序以及匹配测试事件:t 3 r t s 管理e t s 和e d s ,并且通过 t c i 、t r i 两个接口和t m 、s a 、p a 等实体交互。e d s 负责对测试数据进行编码解 码。e t s 和e d s 都不直接通过t r i 和s a 交互【l ”,而是将返回值送到t 3 r t s ,通过 t 3 r t s 和s a 交互。 s a 的目的是适配t t c n 一3 测试系统和被测系统之间所有基于消息和过程的通信 到一个特定的执行平台中。它负责发送请求到被测系统s u t 并且通知t e 收到的任 何测试事件。 p a 在t t c n 3 测试系统中实现外部函数和定时器的操作。虽然定时器实例可以 在t e 中创建,但它们真正的实现却是在p a 中。 2 2 4t t c n 3 的优点 t t c n 一3 作为一种通用的抽象测试语言,已经得到了广泛的应用,这主要是由 于它具有以下优点: 1 ) 标准的测试技术:t t c n 一3 是被e t s i 标准化的唯种测试语言,并且将 被i u t t 采用。作为一种标准化的测试技术,它已经得到了很多测试厂商的工具的 支持。使用t t c n 3 所做的研究将独立于任何特定的工具。 2 ) 标准的图形和文本展现格式:t t c n 一3 提供了多种展现格式来展示t t c n 一3 的各种语言特性。使用消息序列图m s c ,可以通过图形的格式来定义测试规划。而 t t c n 一3 的核心语言,使测试工程师可以灵活的定义测试类型、数据和行为,就象 其它编程语言一样。 3 ) 独立于实现的抽象层定义:t t c n 一3 是在抽象层面上定义测试例。测试开发 人员可以专注于测试例的开发,而不需要特别关心测试例如何实现到某一个特定的 操作平台。t t c n 3 编译器可以把抽象测试例编译成可执行代码。对于任何给定的 平台,抽象测试例都可以被重用。 一1 3 北方工业大学硕士学

温馨提示

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

评论

0/150

提交评论