(计算机应用技术专业论文)基于msc的ttcn测试套自动生成方法研究.pdf_第1页
(计算机应用技术专业论文)基于msc的ttcn测试套自动生成方法研究.pdf_第2页
(计算机应用技术专业论文)基于msc的ttcn测试套自动生成方法研究.pdf_第3页
(计算机应用技术专业论文)基于msc的ttcn测试套自动生成方法研究.pdf_第4页
(计算机应用技术专业论文)基于msc的ttcn测试套自动生成方法研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

北方工业大学硕士学位论文 摘要 随着网络技术和测试技术的发展,协议测试技术越来越受到人们的重视。协议 测试是用来保证协议实现的正确性和有效性的重要手段。作为协议测试的一种形 式,协议一致性测试用于测试被测实现与协议规范要求的一致性,也是协议测试的 基础。t t c n 3 ( 测试和测试控制表示法第三版) 是近年来备受业界关注的一种全新的 测试描述语言,是协议一致性测试规范的基础构成要素之一,可以实现对网络协议 的全方位测试。 本课题深入研究了t t c n 3 的图形表示格式g f t ,提出了一种基于形式化语言 m s c 的1 t c n 3 测试套生成方法。课题研究的目的是在测试套图形化表示形式的基 础上进行测试套的开发,从而增强了测试套编写过程的可视性和可理解性,这在很 大程度上减少了测试人员编写测试用例的工作量,提高了开发效率。课题在对 t t c n 3 核心语言和图形表示格式深入学习的基础上,实现了一个从t t c n 3 的图 形表示格式到核心语言的转换工具。通过这个工具,测试开发人员在测试例的开发 过程中可以结合形式化描述语言,方便地实现对使用g f t 图形格式表示的测试套的 编辑操作,并在这个图形的基础上生成相应的测试例代码。 在课题研究的后期工作中,选用了诺基亚公司开发的一个手机游戏软件为例进 行测试分析。通过测试可以得到结论:测试人员在测试过程中只需要了解测试工作 的需求和简单的基于形式化描述语言消息序列图的g f t 符号就可以得到测试例的基 本流程。在测试流程代码生成之后,用户再添加相应的测试套定义部分就可以在测 试平台上运行测试套,从而在一定程度上解决了测试套开发的繁琐和不直观,使测 试套的编写工作更加方便快捷。 关键词:协议一致性测试、,兀c n 3 、g f t 、m v c 北方工业大学硕士学位论文 s t u d y o nt h eg e n e r a t i n gm e t h o d o l o g yo ft t c n 一3t e s t s u i t eb a s e do nm s c a b s t r a c t w i t ht h ed e v e l o p m e n to ft e s t i n gt e 6 h n o l o g ya i l di m e n l e tt e c h l l o l o g y ,p r o t o c o l t e s t i n g i sg a i n i n gi n c r e a s i n 酉ya c c e p t a i l c eb e c a u s ep r o t o c 0 1 t e s t i n gi st h em o s te f 佗c t i v em e t 】dt o a c h i e v et h ec o r r e c t n e s sa n dv a l i d i t yo ft 1 1 ep r o t o c o li m p l 锄e n t a t i o n a n dp r o t o c o l c o n f o m a l l c et e s t i n gv e r i f i e sm ec o n f 0 锄a i l c eb e 俩e e np r o t o c 0 1i m p l e m e n t a t i o n a 1 1 d p r o t o c o ls t a n d a r da n d i t i sm ef o u n d a t i o no fp r o t o c o lt e s t i n g t t c n - 3 ( t e s t i n ga i l dt e s t c o n 乜o ln o t a t i o nv e r s i o n3 ) i san e wi m p l e n l 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 ti s o 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 m a n c et e s t i n gs t a l l d a r d sa i l di tc o u l dt e s t p r o t o c o l sw i t ha 1 1l e v e l s ni sm a i n l vs t u d i e dm et r c n 3s t a n d a r d 锄di t s 黟a p k c a lf o m l a t ( g f di i lt l l i sp a p a i l di ti 1 1 协) d u c e dam e 1 0 do ft e s t 鲥t eg e i l e r 撕o nw i l i c hb a s e do nm e s s a g ps e q 咖c ec h a n s ( m s c ) t h em a i np u 叩o s eo ft h es t u d yi s t og e n e r a t eat e s ts u i t eb a s e do nt h e 铲a p h i c a l f o n n a ta 1 1 dt h e ne 1 1 h a i l c et h ei n t e l l i 酉b i l i t ) ,o ft h et e s ts u i t eg e n e r a t i o np r o c e s sa 1 1 d1 m p r o v e t h et e s te 筒c i e n c y b e s i d e sm a t ,at o o lo f 仃a i l s 衙b e 觚e e i lt t c n 一3c o r e1 a n g u a g ea 1 1 dg f t d i a 灯a mi sc a 币e do u t i tc a i le d i tag f td i a g r a mw i t hf b m a l i z a t i o nl a n g u a g e ,t h e r e b y ,m e u s e rc o u l de d i tat e s tc a s ei nm ep r o c e s so ft e s ti m p l e m e l l t a t i o na i l dg e n e r a t em et e s tc o d e b a s e d o n t h ed i a 蓼锄 a tl a s t ,am o b i l eg a m es o f h a r ei su s e dt oa n a l ) ,z i n gt h et e s tp r o c e s so f “st 0 0 1 i tc a n c o n c l u d e dt h a tm et e s t e rc o u l dg e tm en o w so ft e s tc a s e si fo i l l yh eu 1 1 d e r s t a n d st h e r e q u i r e m e n t so fat e s tw o r ka n dk n o w st h e 黟a p h i c a ls y m b 0 1o f g f t a r e rm a t ,m et e s t s u i t ec o u l db er u na sl o n g 弱t h ed e f i i l i t i o np a r to ft 1 1 et e s ts u i t e 印p e n d e d s oi t c a i l i m p r o v et e s te m c i e n c yt om a k et h ed e v e l o p m e i l to f t e s ts u i t eb e c o m em o r ec o n v e n i e n ta n d e a s i e r k e yw o r d s :p r o t o c o ic o n f o m 舳c et e s 恤舀t t c n - 3 ,g f t ,m v c 一2 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得j 友王些太堂或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示谢意。 学位论文作者签名予齑、啤签字日期:形年士月形,日 学位论文版权使用授权书 本学位论文作者完全了解j 垦友王些太堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权j e 虚王些太堂可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位做作者签名砾萍 签字日期:形年s 月油 学位论文作者毕业后去向: 工作单位: 通讯地址: 一名:南叮 签字日期:9 苫年歹月油日 电话: 邮编: 北方工业人学硕士学位论文 1 引言 随着近年来网络技术的快速发展,尤其是互联网技术的普及和广泛应用,造成 了业界对协议测试需求的日益增长。所谓协议,就是为了使计算机系统之间能够有 效地交换信息而对通信行为制定的规则、标准或者约定。而协议测试则是保证通信 协议有效实现的手段。 在传统的测试过程中,测试用例的生成都是由测试人员根据实际情况手工编制 而成的,这个过程往往是整个测试过程中最为占用时间和人力的部分,以至于这部 分工作成了协议测试效率提高的瓶颈。近年来,随着协议测试技术的发展,测试用 例的自动生成逐渐成为协议自动化测试技术的基础与关键,测试用例的自动半自动 生成技术也成为协议工程学的研究热点。 本章节主要介绍了课题“基于m s c 的t t c n 测试套自动生成方法研究”的研 究背景和主要研究内容,以及文章的组织结构。 1 1 课题研究背景 协议一致性测试从上世纪六、七十年代开始就已经受到了研究人员的重视,并 投入了大量的人力物力专门从事这方面的研究,许多计算机厂家和实验室都纷纷推 出了自己的测试系统和测试仪。例如,加拿大i d a c o m 公司的o s i 协议一致性测 试仪、美国a l c a t e lt i t n 公司的o s i 协议一致性测试系统盯l e 、德国柏林g o r 科学研究院计算机技术与信息协会开发的t e k o s 测试系统等。正是有了各个厂家 和实验室的大量投入,才使协议一致性测试技术得以不断发展。 与协议一致性测试有关的国际标准是从上世纪八十年代开始建立的,建立标准 的目的是制定一个在o s i 框架内进行协议一致性测试的指导标准。在上世纪九十年 代,国际标准化组织( i n t 锄a t i o n a ls t a l l d a r d so i 驾a l l i z a t i o n ,简称i s o ) 提出了协议一 致性测试的理论框架和测试方法的国际标准i s o i e c 9 6 4 6 【1 1 ( i t u tx 2 9 0s e r i e s ) ,标 准的提出成为协议一致性测试领域里的一个里程碑拉j 。 2 0 0 3 年欧洲通信标准协会( e u r o p e a l lt e l e c o m 删l n j c a t i o n ss t a i l d a r d s1 1 1 s t i t u t e ,简 称e t s i ) 发布了测试和测试控制表示法第三版t t c n 3 。新版本的标准不但保留了 原版本的良好特性,而且能满足软件工程和通讯工程领域中相关的测试要求,保证 了不同实现之间的一致性和互操作性,突破了描述语言的数据类型、行为操作的表 北方: 业大学硕士学位论文 示形式固定的局限。此外,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 可以应用于多个方面,包括移动通讯、无线局域网、无线电话、宽带 技术以及基于c o r b a 的平台和i n t e n l e t 相关协议。在这种情况下,我国从上世纪八 十年代就开始进行o s i 协议方面的研究工作,并在七五期间初步建成了通信数据 网。清华大学计算机网络与协议测试研究实验室完成的八五计划中的攻关项目“协 议一致性测试系统p c t s ”就是为全面开展各种计算机网络的一致性测试活动建立 物质和技术基础。 目前来看,国内外对于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 可以独立于任何平台与实 现,它可以转换成j a v a 、c 等其它语言,这也为与t t c n 3 相关的编译工具和集成 开发工具的开发留下了很大空间。在编译工具方面,已经有了很多成熟的产品,如 德国t e s t i n gt e c h 公司的t t t l l r e e 编译器,它支持t t c n 3 的所有特性,是目前应用 广泛的t t c n 3 编译器。在集成开发工具方面,比较有代表性的是t e l e l o 百c 公司的 开发工具t e l e l o 西ct a u ,该工具已经广泛应用于协议测试领域。而基于t t c n 3 第 三部分图形表示格式( g r a p h i c a lp r e s e n t a t i o nf o 咖a t ,简称g f t ) 的集成工具,目前开 发成型并应用广泛的并不多,在国内更是仅停留在理论研究阶段。另外,由于目前 许多开发工具都嵌入了s d l 或m s c 这样的形式化描述语言,因此对形式化语言和 t t c n 3 测试套之间交互的研究就变得必要,这也使测试用例的自动生成机制变得 可能【3 】。这就是本课题研究的意义所在:开发一个基于m s c 的t t c n 3 图形化测试 套开发的平台环境,可以实现由g f t 图形表示格式到t t c n 测试套的自动生成,并 在此基础上进一步与t t c n 3 应用的研究相结合。 最后,应用研究方面。作为一种通用测试语言,目前使用t t c n 3 作为测试语 言的系统遍及各个领域,并得到业界的一致好评。在通讯、软件、3 g 测试、汽车制 造业、无线协议测试与测试自动化系统,都可以使用t t c n 3 作为测试语言和架 2 北方工业大学硕士学位论文 构。比如e r i c s s o n 公司在3 g 测试方面的应用、戴姆勒一克莱斯勒汽车制造公司在汽 车中嵌入式设备的功能测试方面的应用等。 尽管t t c n 3 具备许多卓越的特性,目前普遍认为其商业化的工具效能表现并 没有达到预期的效果,在这方面的研究还有待于进一步加强。对比来看,我国在这 些方面起步较晚,但是中国科技大学、华中科技大学、上海交通大学在协议一致性 测试的应用和扩展领域的研究也有所深入。相信随着研究的深入,t t c n 3 的应用 前景将越来越广泛。 1 2 课题研究内容与方法 本课题主要集中于由t t c n 3 的图形表示格式g f t 到使用核心语言描述的测试 套的生成工具的研究。现将主要内容概括如下。 t t c n 一3 标准的研究:研究t t c n 3 标准的相关内容,进一步理解t t c n 3 核心 语言及核心语言和t t c n 3 第三部分图形表示格式g f t 的关联映射关系。 基于图形表示格式的t t c n 3 测试套自动生成环境的研究:包括g f t 的图形化 编辑工具的研究,图形代码转换映射规则的研究,图形代码生成机制的研究。 软件体系结构扩展性的研究:t t c n 3 测试套自动生成环境应当具有良好的扩 展性,并支持t t c n 3 的其它特性,从而与实验室协议测试课题组正在建设中的 t t c n 测试环境相整合。 此外,本课题使用e c l i p s e 作为基础开发平台。e c l i p s e 是一个开放源代码的、基 于j a v a 的可扩展的开发平台,通过插件组件构建开发环境。e c l i p s e 可以集成不同软 件开发工具供应商的产品,用户可以通过相同的接口使用不同的工具。这样,实际 上e c l i p s e 为用户提供了一整套开发工具,建模、开发、测试和调试等工具都能够在 统一的平台上完成,从而避免了多种工具的不兼容等问题。 1 3 论文结构 本文主要从理论研究和应用实现两个方面进行论述,文章的具体结构如下:摘 要部分,对本文的主要内容和所作的研究工作进行了概括性叙述。引言部分,主要 介绍了本文的研究背景、研究内容和论文的组织结构。第二章,作为文章的理论支 持,主要介绍了课题涉及到的相关的理论知识和技术,包括协议一致性测试理论、 t t c n 3 相关标准和消息序列图的基础知识。第三章,讨论了由g f t 图到t t c n 3 - 3 - 北方jr 业火学硕士学位论文 核心语言的转换映射规则、t t c n 3 图形表示格式g f t 的语法基础以及图形代码转 换算法,此外还分析了工具应当实现的功能。第四章,介绍了课题研究过程中实现 的测试套生成工具,分别从工具的整体设计思想和各个功能模块的设计与实现方法 上进行了详细介绍。第五章,介绍了使用手机游戏对测试套生成工具进行的测试工 作,并给出了测试结果。第六章,针对本课题的研究过程中所做工作进行总结,并 就课题的进一步研究作了简单的概括叙述。 4 北方工业大学硕士学位论文 2 相关理论和技术介绍 本课题的重点是基于形式化描述语言m s c 的t t c n 测试套自动生成方法研 究,涉及到的理论基础和技术主要包括协议一致性测试理论、t t c n 一3 核心语言及 其图形表示格式、消息序列图m s c 的表现形式。下面将对这些理论和技术进行分别 介绍。 2 1 协议一致性测试 协议一致性测试是指针对一个网络协议的实现,测试者依据协议说明通过测试 套对其进行测试,以检验其实现是否与协议说明描述的功能一致。因此,协议一致 性测试是保证一个网络协议正确实现的关键。 2 1 1 协议测试的基本概念 协议测试理论是协议工程学的一个重要分支。研究协议测试理论的原因在于一 个标准化的协议并不一定能够确保该协议在通信中的成功实现。这是因为目前的通 信协议标准基本上都是使用自然语言进行描述的,自然语言的特点就是易于人的阅 读,但是不精确,容易产生二义和歧义。这样,在协议实现的过程中,就有可能出 现因为实现者的主观差异而导致同一协议表现为不同的、甚至是错误的实现情况。 因此有必要通过一种有效的方法对协议实现进行有效性和正确性的判别,这种方法 就是协议测试( p r o t o c o lt e s t i n g ) 。 实际上,协议测试是试图通过一种实验的方法找出错误的过程。在协议测试过 程中既要模拟协议实现正常工作时的情况,也要模拟异常使用时的情况;既要模拟 协议实现在单独运行时的情况,也要模拟协议实现之间互相通信时的情况,这样才 能确保在任何情况下系统的工作状况正常。由于对一个系统进行无穷尽的测试是不 现实的,所以测试并不能保证一个协议实现的完全正确,也就是说,测试只能表明 “存在错误,而不能证明“不存在错误”,这正是协议测试的基本出发尉4 1 。 协议测试是在软件测试的基础上发展而来的。软件测试一般可以分为功能测试 和结构测试两种。其中的结构测试又称为白盒测试,它是基于软件内部结构进行的 测试,目的是通过执行每条语句、遍历程序的各个分支来检查整个程序代码的正确 与否。与此相反,功能测试是根据软件说明书针对从软件外部可以观察到的软件功 能进行的测试,所以也称为黑盒测试。功能测试把被测实现【5 】( h n p l 锄e n t a t i o nu n d e r - 5 - 北方:1 :业大学硕士学位论文 t e s t ,简称i u t ) 看作一个黑盒,通过观察系统外部的行为来确定软件功能是否实 现,整个测试过程并不涉及软件程序的内部结构。功能测试的目的是确定软件的实 现是否达到了软件说明书预期确定的要求,因此在功能测试之前要有一个简洁明确 的软件功能说明。在协议测试领域中就是根据协议标准,通过观察被测协议实现的 外部行为,对其进行验证;协议测试属于功能测试,即黑盒测试。 通常,协议测试可以划分为一致性测试( c o n f o m a n c et e s t i n g 【1 1 ) 、互操作性测试 ( 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 册a n c et e s t i n g ) 四种。其中协议一致性测试 主要用于验证协议实现是否严格遵循相应的协议描述,判断该产品的协议实现是否 符合国际标准。协议互操作性测试的主要任务是检测不同的协议实现之间是否能可 靠地进行通信交互。一个协议实现能否通过一致性测试和互操作性测试是这个实现 能否与其它实现成功互通的重要保障。而协议的性能测试则是测定协议实现的性能 特性,例如响应时间、时间延迟等,并据此对系统的性能做出评价。 换言之,协议一致性测试主要用于验证协议实现和相应协议标准之间的一致 性,即通过一组设定的测试序列来比较被测系统的实际输出和预期输出,从而判断 被测实现和协议描述是否一致。一致性测试只关心协议实现呈现在外部的性能,当 有多个厂家进行设备互联时,通过一致性测试会提高人们对设备符合相应协议标 准,即协议实现的置信程度,提高相同标准的不同实现之间进行互通的概率。从总 体上看,一致性测试是协议测试中最基本的内容,是其它三种测试的基础,相对而 言发展得也比较成熟。 2 1 2 协议一致性测试技术 目前协议一致性测试理论表现在国际标准化组织i s o 制定的协议一致性测试标 准i s o i e c 9 6 4 6 中。i s o i e c 9 6 4 6 是针对使用自然语言描述的协议测试制定的,一 共有七个组成部分: i s o i e c9 6 4 6 1 :基本原理1 6 j ; i s o i e c9 6 4 6 2 :抽象测试集描谢7 】 i s o i e c9 6 4 6 3 :树表结合表示法t t c n 【8 1 ; i s o i e c9 6 4 6 4 :测试实现【刿; i s o i e c9 6 4 6 5 :致性判定过程对实验室和客户的要求【1 0 】; i s o i e c9 6 4 6 6 :侧面测试说吲j ; i s o i e c9 6 4 6 7 :实现一致性声吲1 2 】。 6 北方工业大学硕士学位论文 i s o i e c 9 6 4 6 中对一致性的定义如下:一个一致性的实现应该满足静态一致性 需求和动态一致性需求,并且与协议实现一致性声明( p r o t o c o lh i l p l 锄e i l t a t i o n c o n f o 锄锄c es t a t e i i l e n t s ,简称p i c s ) 中所声明的功能相符合1 6 j 。 一个一致性实现应该满足所有在协议标准中显式表达的一致性需求,而一致性 需求规定了一个一致性的协议实现应该做什么、不应该做什么。一致性需求一般可 以分为以下三类: 1 ) 必备要求( m a i l d a t o r y ) :在所有例子中都可以观察到; 2 ) 条件要求( c o n d i t i o n a l ) :只有当标准中的特殊条件满足时才可以观察到; 3 ) 可选要求( 0 l p t i o n s ) :由实现者来选择是否进行实现。 由于大量可选项的存在,每个协议标准实际上都描述了一类协议。因此各个协 议实现的功能可能不完全一致,有些可选功能既可以实现,也可以不实现。协议实 现者应该在协议实现一致性声明p i c s 中列出所有已经实现的功能,从而使测试人员 知道可以进行何种测试。 在协议标准中定义的一致性测试需求分为两个基本组:静态一致性需求和动态 一致性需求。其中,静态一致性需求规定了网络互连所规定的最小能力,对可选功 能进行选择时应该遵从的约束。它规定了一个协议实现所应该提供的最低功能,以 及不同可选功能之间的组合性与一致性。协议标准的主体是由动态一致性需求构 成,它定义了协议实现与外部环境之间进行通信时的可观察行为,它所关心的是可 观察事件如协议数据单元( p r o t o c o ld a t au n i t ,简称p d u ) 或者抽象服务原语( a b s t r a c t s e i c ep r i m i t i v e ,简称a s p ) 的发送接收的顺序、协议数据单元中信息的编码及不 同协议数据单元中所包含信息的关系等等。 对于静态一致性需求,可以通过对被测实现的协议实现一致性声明p i c s 进行检 查来完成,这也称为静态一致性检查。对于动态一致性要求,则需要通过一组组测 试来完成。一个测试称为一个测试例,测试套是所有测试例的集合。测试套的结构 是层次化的,测试例以测试组的形式组合在一起构成测试套。因此又可以对动态一 致性测试进行如下划分: 1 ) 基本互连测试:对测试系统与被测实现之间的基本互连能力进行测试,以 确定是否需要进行更进一步的、花费更多的行为测试; 2 ) 能力测试:确定被测实现是否实现了协议实现一致性声明中所声明的功 能; 3 ) 行为测试:检测被测实现的动态行为是否与协议标准中的描述相一致; 7 - 北方:【:业人学硕士学位论文 4 ) 一致性判定测试:指在未定义标准测试套的情况下,专门对系统的某个特 定行为进行的测试,这类测试尚未标准化。 一致性测试过程【1 3 】大致可以分为四个阶段,如图2 1 所示: n 3 判决: 通过或失败 图2 1 协议一致性测试过程 第一阶段,一致性测试生成。是根据某个特定的协议文本生成一个独立于所有 协议实现的一致性抽象测试套。之所以称为抽象测试套,是因为它独立于所有的协 议实现,抽象测试套由多个用于不同测试目的的测试序列组成。 第二阶段,一致性测试实现。是按照一致性抽象测试套,根据特定的环境生成 可执行测试套( e x e c u t a b l et e s ts u i t e ,简称e t s ) ,即抽象测试套中的抽象测试序列被 转变为在一个实际的测试设备或测试系统上可以执行的测试用例。这一阶段需要考 虑测试环境与被测协议实现的具体情况。 第三阶段,一致性测试执行。运行可执行测试套,并对被测系统的外部行为响 应进行观察,记录各条测试序列的执行结果。 第四阶段,一致性测试判决。对测试执行的结果进行验证和分析,得到一个有 关被测实现相对于协议标准一致性的判决,给出协议一致性测试报告( p r o t o c o l c o n f o 肌a 1 1 c et e s t i n gr 印o r t ,简称p c t r ) 。 图2 2 中给出了一个关于协议一致性测试过程的详细流程。 - 8 - 北方工业火学硕士学位论文 图2 2 一致性测试过程详图 2 1 3 抽象测试套和t t c n 测试套( t e s ts u i t e ,又称作测试集) 可以说是一致性测试的核心,一致性测试的 所有活动都是从测试套出发的。每一个测试套都有其固定的层次( 如图2 3 所示) ,依 次为测试组( t e s tg r o u p ) 、测试例( t e s tc a s e ) 、测试步( t e s ts t e p ) 和测试事件( t e s t e v e n t ) 。其中测试例【5 】是最重要的一个层次,每个测试例都有自己的测试目标,并且 根据被测实现的响应对其行为做出判决从而得出相应的结果。 - 9 - 北方工业大学硕+ 学位论文 图2 - 3 测试套的层次结构 所谓抽象测试套,就是由抽象测试例组成的测试套,每个抽象测试例都是针对 某个测试目的使用某种抽象测试方法定义的完整且独立的测试步骤。抽象测试例是 独立于任何测试系统的。 在i s o i e c 9 6 4 6 标准中建议使用t t c n 【1 4 】作为测试套的描述方法。1 v r c n 和其 它描述方法相比具有以下优点: 1 ) t t c n 所采用的表示方式非常易于理解和学习; 2 ) 形式描述语言的设计和开发的目的是用于系统或过程的行为描述,所以当 使用这些语言去描述测试套时,就显得有些复杂和不太灵活。而t t c n 专 门用于测试套的描述,非常方便和灵活; 3 ) t t c n 是一种抽象测试描述语言,完全独立于任何特定的系统; 4 1 形式描述语言非常适合于类型说明,但是在协议测试套中要描述大量的测 试数据,即要说明大量的值,这正是形式描述语言的弱点,而t t c n 却非 常擅长于数据值的描述; 5 ) t t c n 的结构和语法完全是为描述一致性测试过程中各个实体之间的交互事 件而设计的,由静态说明部分和动态行为描述部分组成。其中,静态说明 部分专门用于协议静态信息的描述,如协议数据单元和抽象服务原语的格 式和参数值。为了支持标准化的一致性测试方法和框架,t t c n 还支持控制 和观察点( p o i n to fc o n t r o la i l d0 i b s e e ,简称p c o ) 、定时器、测试套变量和 测试例变量的描述。动态行为描述部分提供了同消息的接收和发送相关联 的操作与操作符。 - 1 0 北方工业大学硕士学位论文 t t c n 作为一种测试表示方法,完全满足了i s o i e c 9 6 4 6 标准中对测试套描述 语言的需求,使用t t c n 可以达到以下目的: 1 ) 提供用标准测试套表述法表述抽象测试例的方法; 2 ) 提供独立于测试方法、层和协议的表示方法; 3 ) 提供符合i s o i e c 9 6 4 6 标准中定义的抽象测试方法的表示方法。 对应于标准的一致性测试方法和框架,使用t t c n 描述的测试套由四个部分构 成,它们分别是测试套概述部分、说明部分、约束部分和动态行为描述部分。 测试套概述部分定义了测试套的名称和测试套所对应的被测协议标准、协议实 现一致性声明、协议实现用于测试的附加信息( p r o t o c o lh n p l e i i l e n t a t i o n e x 仃a i i l f o m a t i o n 仍rt e s t i n g ,简称p _ i t ) ,以及所使用的测试方法等用于理解和表示整个 测试套的一般信息。 说明部分提供了测试套中所引用到所有对象,例如p c o 、时钟、a s p 、p d u 的 名称、类型、取值范围等信息。 约束部分定义了协议数据单元中各个域或者抽象服务原语各个参数的各种特定 取值,用于在测试套的动态行为描述部分对测试事件进行约束,以简化测试事件的 描述。 动态行为描述部分是t t c n 抽象测试套的主体,它包含测试例库、测试步库和 缺省行为库三个库,分别用来描述测试例、测试步和缺省行为。在动态部分中,使 用了三种类型的1 v r c n 语句对测试行为进行描述,分别是构造语句、事件语句和伪 事件语句。对这些t t c n 语句的解释和执行是进行实际测试活动的核心部分。 2 2t t c n 3 标准 用t t c n 标准语言表示的测试套是一致性测试的基础和关键。一个使用t t c n 标准语言进行描述的测试序列,能够充分地表明测试系统和被测协议实体之间的行 为,从而判定协议实现的行为,最终得出通过或者失败的判决。 2 2 1t t c n 3 的发展和应用 t t c n 是1 9 9 2 年由国际标准化组织i s o 和国际电子电器协会( i n t 锄a t i o n a l e l e c 仃o t e c h i l i c a lc 咖m i t t e e ,简称i e c ) 合作发布的i s o i e c9 6 4 6 七层标准的第三部 分,即i s o i e c9 6 4 6 3 。t t c i n 3 则是由欧洲通信标准协会设计,在2 0 0 1 年发行的 测试及测试控制表示法第三版( t e s t i n ga i l dt e s tc o n 仃o ln o t a t i o n - v e r s i o n3 ,简称 北方】:业大学硕士学位论文 t t c n 3 ) ,并随后公布成为e t s ie s2 0 18 7 3 系列的标准文件和国际通讯联盟i t u t 的i t u tr e c z 1 4 0 系列的标准文件。 t t c n 3 是一种灵活强有力的程式化语言,主要用来规范在一致性测试中的抽 象测试套( a b s t r a c tt e s ts u i t e ,简称a t s ) 的表示。t t c n 一3 和旧版本t t c n 一2 ( t r e e a n dt a b u l a rc o n l b i n e dn o t a t i o n ,树表结合表示法计目比较,二者的名称和含义都有很 大区别。t t c n 3 不仅仅是旧标准的新版本,在很大程度上它更接近于一种程序设 计语言。开发t t c n 3 及其内部所包含的思想是希望保留t t c n 2 在通信领域“边 试边测 的优势,再加上新语言的帮助,来弥补1 v r c n 2 在其它领域的不足。 从应用方面看,t t c n 3 测试语言是目前欧美先进通讯厂商通信协议测试的主 流,支持任何黑盒测试作业,其语法和传统程序语言相兼容,包括同步和异步机 制,可以进行多种通讯界面上的各种系统测试。 t t c n 3 典型的应用领域是移动通信协议测试( 例如g s m 、3 g 、t e t r a ) 、网际 网络协议测试( 例如i p v 6 、s i p 、h 3 2 3 、o s p 、s i g n 认n ) 、宽带技术测试( 例如 a t m 、b i s d n ) 、服务测试、模组测试、基于c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e ra r c h i t e c t i j r e ) 的客户服务平台及a p i s 等的测试。 此外,t t c n 3 不仅仅局限于一致性测试,它还可以应用于许多其它种类的测 试【1 5 】,如一致性测试、互操作性测试、健壮性测试( 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 曲、系统和集成测试( s y s t e ma i l dh l t e 黟a t i o nt e s t i n 曲、负载测试 ( l o a d s t r e s st e s t i n g ) 等。t t c n 3 为各领域提供最佳解决方案,包括服务供应商、通 讯制造业者、测试研究单位,及标准联盟等。目前它的用户包括n o k i a ,a 1 c a t e l , m o t o r o l a ,e r i c s s o n ,s i 锄e n s ,e t s i ,s o 肌sn e 咐o r k s 及3 g 等等。 从语法的角度看,t t c n 3 与在i s o i e c9 6 4 6 3 中定义的该语言的早期版本有 很大区别。然而,它保留了大量1 v r c n 的经证实的基本功能,并在某些方面作了改 进。t t c n 3 包括以下重要特性【1 5 j : 描述动态并发测试配置的能力; 基于过程的操作和基于消息的通信; 描述编码信息和其它属性( 包括用户扩展性) 的能力; 描述数据和带有强有力的匹配机制的属性模板的能力; 类型和值的参数化; 赋值和测试判定的处理; 测试套参数化和测试例选择机制; - 1 2 北方工业大学硕士学位论文 t t c n 3 使用和a s n 1 的结合( 以及与其它语言结合使用的潜力,如与s d l 的结合) ; 良好定义的语法,格式的互换以及静态语义; 不同的表示格式( 如表格和图形表示格式) ; 精确的执行算法( 操作语义) 。 作为一种不断发展和完善的文本测试规范语言,t r c n 3 有着极为广阔的应用 前景。使用t t c n 3 测试语言是目前欧美先进通讯厂商通讯协议测试的主流,而且 除一致性测试外,t t c n 3 还可以用于多种类型的测试,能为各个领域提供最佳解 决方案。 2 2 2t t c n 3 核心语言 从产生和发展来看,t t c n 总是和一致性测试联系在一起。为了在标准和工业 两个领域把该语言的应用范围扩展到更为广泛的测试应用范围,t t c n 3 被分为多 个部分进行说明:第一部分是t t c n 一3 核心语言( c o r el a l l g u a g e ) ,在e t s ie s2 0 1 8 7 3 1 【1 4 】中定义;第二部分是t t c n 3 表格表示格式( t a b u l a rf o 锄a t ) ,在e t s ie s 2 0 18 7 3 2 【撕】中定义,这部分内容在外部特征和功能性方面与t t c n 的早期版本相 似;第三部分在e t s ie s2 0 18 7 3 3 【1 7 】中定义,描述了t t c n 3 图形表示格式 ( g r 印1 1 i c a lf o m l a t ) ;第四部分在e t s ie s2 0 18 7 3 4 【1 8 】中定义,说明了t t c n 3 的操 作语义。其中核心语言是其它表示格式的基础,它规定了一套特定的适用于测试的 语法,既可以作为一般的基于文本的测试语言,同时又为不同的表示格式提供语义 基础。 事实上,不同的表示格式只是将,丌c n 3 测试套可视化的不同的方法,这些不 同的方法把核心语言用用户更容易理解和接受的形式表示出来,但是所有表示格式 的使用和实现都是以核心语言为基准的。 t t c n 3 核心语言有三个目的: 1 ) 作为广义的基于文本的t t c n 3 测试语言; 2 ) 作为t t c n 工具之间t t c n 测试套的标准化互换格式; 3 ) 作为各种表示格式的语义基础( 如相关,也是语法基础) 。 核心语言使用时可以独立于表示格式;但是,表格格式和图形格式却不能独立 于核心语言使用。这些表示格式的使用和实现应该基于核心语言。在预期的不同表 示格式集合中,表格格式和图形格式是最先被标准化的,其它格式可以是标准化的 1 3 - 北方:_ 【:业人学硕士学位论文 表示格式或是t t c n 3 用户自己定义的私有表示格式。核心语言和其它表示格式的 关系参见图2 4 。 1 t c n 3 核心 i 篓引 语言 树表表示 格式t f r l 警型卜 图形表示 l 和值l 格式g f t l 嚣卜 l 型和值l l i 其它类型i 其它表示 i 和值l 7 格式 t r :n 3 用户 图2 4 删- 3 核心语言和各种表示格式 核心语言由一个完整语法和操作语义定义,出于一些基础的应用领域或方法上 的考虑,它包含不限制语言使用的最小静态语义,使用私有工具实现的测试套索引 等t t c n 以前版本的功能性不属于t t c = n 3 【”】。 t t c n 3 的项层单元是模块( m o d u l e ) 。一个模块中不能包含子模块,但是它可以 从其它模块中引入定义。模块可以带有参数列表去提供测试套参数化的一个形式, 这与t t c n 2 的p i c s 和p i t 参数化机制相似。 一个模块由一个定义部分和一个控制部分组成。模块定义部分描述该模块的顶 层( t o p 1 e v e l ) 定义,可以从其它模块引入标识符和定义【1 9 】。模块定义部分定义测试成 分、通信端口、数据类型、常数、测试数据模板、函数、测试端口上调用的过程特 征( s i 印a t u r e s ) 、测试例等等。模块定义也可以被其它模块引入。在模块定义部分 中,定义可以被汇集在所谓的组( g r o u p s ) 中。可以在允许单个声明的任何地方描述一 个声明组。组可以被嵌套,即组可能包含其它组,这就允许测试套描述符在其它的 概念中构建测试数据或描述测试行为的函数的类集。 模块控制部分可以包含局部定义,描述实际测试例的执行顺序( 可能是重复的) 应该在模块的定义部分,定义测试例,在控制部分调用该测试例。此外,利用 i m p o r t 语句可以在模块中重用在其它模块中声明的定义,模块定义中所有的模块定 义都可以被导入到其它模块。 1 4 北方t 业大学硕士学位论文 模块的调用部分调用测试例并控制它们的执行,控制部分也可以声明( 局部) 变 量等。程序语句如谗e l s e 和d o r h i l e ,可以用于各个测试例的选择和执行顺序。此 外,t t c n 3 不支持全局变量的概念。 t t c n 3 有许多预定义的基本数据类型和结构类型以及特殊类型。基本类型包 括如整型( i n t

温馨提示

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

评论

0/150

提交评论