




已阅读5页,还剩86页未读, 继续免费阅读
(计算机软件与理论专业论文)ttcn3测试平台中基于过程通讯的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人声明:所呈交的学位论文是本人在导师的指导下进行的研究工作及取得的研究成 果。除本文已经注明引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得囱墓直太堂及其他教育机构的学位或证书而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名: 日 指导教师签名:嗵 e t 期:2 剑:么: 笸 在学期间研究成果使用承诺书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:内蒙古大学有权将 学位论文的全部内容或部分保留并向国家有关机构、部门送交学位论文的复印件和磁盘,允 许编入有关数据库进行检索,也可以采用影印、缩印或其他复制手段保存、汇编学位论文。 为保护学院和导师的知识产权,作者在学期间取得的研究成果属于内蒙古大学。作者今后 使用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若用 于发表论文;版权单位必须署名为内蒙古大学方可投稿或公开发表。 学& 名文毒者签名:盟 - 日 期:旦ll :么:丛 指导教师签名之羔盔 日 期:之窆 l 五: 内蒙古大学硕士学位论文 t t c n 3 测试平台中基于过程通讯的设计与实现 摘要 t t c n 3 由欧洲电信标准协会( e t s i ) 发布,是一种功能强大测试描述语言, 起主要应用于网络协议及系统的一致性测试,随着计算机技术的迅速发展, t t c n 3 语言的使用范围也逐步扩展到服务测试,性合同匕e - , 伙e , l i h u l 试,互操作性测试等软 件测试的各个领域当中去。 本文研究的重点是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 e x e c u t a b l e ( t e ) i 为部的实体可执行测试套( e t s ) 与t t c 3 运行时系统( t 3 r t s ) 之 间通过t e 内部接口进行交互,以及t e 通过标准接口与其它测试系统中的实体 进行交互。 本文以中欧合作的开源项目g 0 4 i t a 0 阶段的p a c k a g e 2 为基础,依据e t s i 颁布的t t c n 3 技术规范,对于之前在分布式架构下实现了单结点上测试成分 与被测系统之间基于消息的通讯的t 3 r t s 进行了扩充,使其满足了基于过程的 通讯对t e 的功能需求。本文涉及的工作包括:设计实现了测试成分之间、测试 t t c n - 3 测试平台中基于过程通讯的设计与实现 成分与被测系统间进行基于过程通讯所需的统一的消息格式和相关的存储结构 及操作,使原有的基于消息的通讯所使用t 3 r t s 的快照机制能够在基于过程的 通讯过程中发挥作用;设计实现了测试成分之间发送和接收过程调用时需要的 t e 内部接口、测试成分之间回应过程调用和接收这些回应时需要的t e 内部接 口、测试成分之间抛出和捕获异常时需要的t e 内部接口;设计实现了测试成分 和被测系统之间进行上述三类基于过程通讯时所需的t e 内部接口;设计实现了 基于过程通讯需要在t e 内部实现的t c i 接口和t r i 接口。 最后,通过一个测试套实例说明了本文完成的基于过程通讯的相关功能的 设计和实现的可用性及合理性。 关键词:测试,t t c n 3 ,基于过程通讯,t e ,g 0 4 i t as t u d yo nd e s i g na n di m p l e m e n t a t i o n o fp r o c e d u r e b a s e dc o m m u n i c a t i o n i nt t c n 3t e s tp l a t f o r m a b s t r a c t t h et t c n - 3l a n g u a g ew h i c hw a sp u b l i s h e db y ( e t s i ) i sap o w e r f u ll a n g u a g ef o r t e s t i n gs p e c i f i c a t i o n ,i ti sw i l d l yu s e di nc o n f o r m a n c et e s t i n go f n e t w o r kp r o t o c o la n d r e a c t i v e s y s t e m s w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , t h e t t c n 一3 l a n g u a g ei sg o i n gt ob eu s e dm o r ea n dm o r ew i l d l yi nv a r i e t yf i e l d so fs o f t w a r e t e s t i n gs u c ha ss e r v i c et e s t i n g ,p e r f o r m a n c et e s t i n ga n di n t e r - o p e r a b i l i t yt e s t i n g t h i sp a p e rm a i n l yr e s e a r c h e so nt h e d e s i g na n di m p l e m e n t a t i o n o ft t c n 一3 p r o c e d u r e b a s e d c o m m u n i c a t i o no n s p e c i a lt e s t i n gp l a t f o r m p r o c e d u r e b a s e d c o m m u n i c a t i o ni so n eo ft h ei m p o r t a n tt e s t i n gb e h a v i o r so ft h et t c n 一3l a n g u a g e t h et t c n - 3l a n g u a g eu s e st h ea c t i o n so fc o m p o n e n t st os i m u l a t et h eb e h a v i o r so f e n t i t i e si nah i g h l ya b s t r a c t e dl e v e ld u r i n gt h et e s t i n g b yu s i n gt h em e c h a n i s mo ft h e m e s s a g ep a s s i n gb yc o n n e c t e do rm a p p e dp o r t s o nd i f f e r e n tc o m p o n e n t s ,t h e t t c n 3l a n g u a g ec a ns i m u l a t et h er e a l - t i m eo rt h ec o n n e c t e dc o m m u n i c a t i o n p r o c e d u r ei nr e a ls y s t e m si na na b s t r a c tb u ts t r a i g h tw a y i nt h er e a lt t c n 3t e s t i n g s y s t e m s ,t h ei m p l e m e n t a t i o n so ft h ep r o c e d u r e b a s e dc o m m u n i c a t i o nn e e dt h e i n t e r a c t i o nb e t w e e nt h ee t sa n dt 3 r t si n s i d et eb yi n t e r n a li n t e r f a c e s ,a n dt h e i n t e r a c t i o nb e t w e e nt ea n do t h e re n t i t i e sb ys t a n d a r di n t e r f a c e s i v 内蒙古大学硕士学位论文 目录 摘要i a b s t r a c t i i i 目录v 图表目录v i i 第一章引言1 1 1 课题背景及发展应用现状一1 1 2 本文的研究目标和内容,j 1 1 3 论文结构2 第二章t t c n 3 语言及测试系统简介3 2 1t t c n 3 语言3 2 2t t c n 3 测试系统3 2 3t t c n 3 语言的通讯机制4 2 3 1 基于消息的通讯4 2 3 2 基于过程的通讯5 2 3 3t t c n 3 基于过程通讯语句在测试系统中实现的方式6 第三章基于过程通讯的需求分析。8 3 1 t e 内部接口已有基础的和需求分析。:8 3 1 1 已有的t 3 r t s 系统8 3 1 2 对t e 内部接口实现基于过程通讯操作的需求分析8 3 2 各通讯操作的调用过程对t c i 和t r i 接口的需求分析9 3 2 1 对c a l l 操作的实现涉及到的t c i 、t r i 接口的实现分析9 3 2 2 对r e p l y 操作的实现涉及到的t c i 、t r i 接口的需求分析1 2 3 2 3 对r a i s e 操作的实现涉及到的t c i 、t r i 接口的需求分析1 4 3 3 开发工具及开发环境1 6 3 4 本章小结1 6 第四章基于过程通讯操作功能的设计与实现1 8 4 1 相关的数据结构的定义1 8 4 1 1 类型t 3 r t s s i g n a t u r e 18 4 1 2 队列s i g n a t u r e q u e u e 和函数e n q u e u e 2 0 v t t c n 3 测试平台中基于过程通讯的设计与实现 4 2 基本操作的实现2 0 4 2 1c a l l 操作2 0 4 2 2g e t c a l l 操作j :31 4 2 3r e p l y 操作3 4 4 2 4g e t r e p l y 操作4 4 4 2 5r a i s e 操作4 8 4 2 6c a t c h 操作5 8 4 3 本章小结6 1 第五章使用测试套实例的验证6 6 5 1 抽象测试套及其说明6 6 5 2 抽象测试套对应的目标代码6 8 第六章结论和未来工作7 2 6 1 本文所做的工作7 2 6 2 未来工作_ 7 3 参考文献7 4 墅i 谢i 7 6 内蒙古大学硕士学位论文 图表目录 图2 1t t c n 3 测试系统体系结构3 图2 2 异步的接收和发送示例5 图2 3 阻塞的基于过程通讯的示例5 图2 4 非阻塞的基于过程通讯示例6 表2 1 基于过程通讯设计到的t t c n 3 语句6 图2 5 a t s 中的c a l l 操作在测试系统中引发的活动序列7 图3 2 测试成分间的过程调用在测试实体间的所需的t c i 接口的调用过程1 0 图3 2 测试成分间的带超时选项的过程调用在测试实体间的所需的接口调用过程1 1 图3 3 来自被测系统的过程调用在测试实体间的所需的t r i 接口调用过程1 1 图3 4 发往被测系统的过程调用在测试实体间的所需的t r i 接口调用过程1 2 图3 5 测试成分间对过程调用的回应在测试实体间所需的t c i 接口的调用过程1 3 图3 6 来自被测系统的对过程调用的回应在测试实体间所需的t r i 接口的调用过程1 3 图3 8 测试成分抛出异常在测试实体间所需的t c i 接口的调用过程1 5 图3 9 对被测系统抛出异常的处理在测试实体间所需的t r i 接口的调用1 5 图3 1 0 对被测系统抛出异常在测试实体间所需的t r i 接口的调用1 6 表3 1 基于过程的通讯需要在t e 内部实现的t c i 和t r i 接口1 7 表4 1 类型t 3 r t s s i g n a t u r e 的说明18 图4 1 类型t 3 r t s s i g n a t u r e 构造,19 图4 2e n q u e u e 函数的实现流程2 0 图4 3 测试成分间的过程调用的实现过程2 l 表4 2t e 内部接口c a l l 的实现说明2 2 图4 4t e 内部接口c a l l 的实现流程2 2 表4 3t c i 接口t c i c a l l c o n n e c t e d 的c 语言声明2 3 表4 4t c i 接口t c i e n q u e u e c a l l c o n n e e t e d 的c 语言实现说明2 4 图4 5 查找测试成分对象和端口对象2 4 图4 6t c i 接口t e i e n q u e u e c a l l c o n n e c t e d 的实现流程2 5 图4 7 测试成分与被测系统间的过程调用过程2 6 表4 5t e 内部接口c a l l 实现说明2 6 表4 6t r i 接口t r i c a l l 的c 语言声明及说明2 7 v i i t t c n 3 测试平台中基于过程通讯的设计与实现 接口c a l l 的实现流程2 8 图4 9 来自被测系统间的过程调用在测试系统中的处理过程2 8 表4 7t r i 接口t r i e n q u e u e c a l l 的实现说明2 9 图4 1 1 函数g e t m a p p e d p o r t ( ) 的实现流程3 0 图4 1 2t r i 接口t r i e n q u e u e c a l l 的实现流程。3l 表4 8t e 内部接口g e t c a l l 实现说明31 图4 1 3t e 内部接口g e t c a l l 的实现流程3 2 图4 1 4 函数g e t c a l l 的实现流程3 3 图4 1 5 测试成分间对过程调用回应的实现过程3 4 表4 9t e 内部接口r e p l y 的实现说明。3 5 图4 1 6t e 内部接口r e p l y 的实现流程。3 6 表4 1 0t e 内部接口r e p l y 的实现说明3 6 表4 11t c i 接1 :3t c i e n q u e u e r e p l y c o n n e c t e d 的实现说明 图4 1 7 查找测试成分对象和端口对象 图4 18 函数g e t p o r t c o n n e c t e d t o ( ) 的实现流程 图4 1 9t c i 接口t c i e n q u e u e r e p l y c o r m c e t e d 的实现流程 图4 2 0 对来自被测系统的调用过程的回应的实现过程。 表4 1 2t e 内部接口r e p l y 的实现说明 表4 1 3t r i 接口t r i r e p l y 的c 语言声明及说明 图4 2 2 来自被测系统间的过程调用在测试系统中的处理过程 表4 1 4t r i 接口t r i e n q u e u e r e p l y 的实现说明 图4 2 3t r i 接口t r i e n q u e u e r e p l y 的实现流程 表4 1 5t e 内部接口g e t r e p l y 的实现说明 图4 2 4t e 内部接口g e t r e p l y 的实现流程: 表4 1 6 函数g e t c o m p o n e n t r e p l y 的实现说明 表4 17 函数g e t s y s t e m r e p l y 的实现说明 图4 2 5 函数g e t s y s t e m r e p l y 的实现流程 图4 2 6 试成分间抛出异常的实现过程 表4 1 8t e 内部接口r a i s e 的实现说明: 图4 2 7t e 内部接口r a i s e 的实现流程: v i 内蒙古大学硕士学位论文 表4 19t c i 接口t c i r a i s e c o n n e c t e d 的c 语言声明5 l 表4 2 0t c i 接1 2t c i e n q u e u e c a l l c o n n e c t e d 的c 语言实现说明5 2 图4 2 9 查找测试成分对象和端口对象5 2 图4 3 0t c i 接口t c i e n q u e u e r a i s e c o n n e c t e d 的实现流程5 3 图4 3 1 测试成分对被测系统抛出异常的过程:5 4 表4 2 1t e 内部接口r a i s e 实现说明5 4 表4 2 2t r i 接口t r i r a i s e 的c 语言声明及说明5 5 图4 3 2t e 内部接口r a i s e 的实现流程5 5 图4 3 3 来自被测系统间的异常在测试系统中的处理过程5 6 表4 2 3t r i 接口t r i e n q u e u e e x c e p t i o n 的实现说明5 7 图4 3 3t r i 接口t r i e n q u e u e c a l l 的实现流程。5 8 表4 2 4t e 内部接口c a t c h 实现说明5 9 图4 3 4t e 内部接口c a t c h 的实现流程| 6 0 图4 3 5 函数e o m p o n e n t c a t c h 的实现流程6 1 表4 2 5 对t 3 r t s p o r t 类型的扩充说明- 6 2 表4 2 6t e 中实现的t c i 和t r i 接口:6 3 图5 1 测试套t e s t c a s e 的执行流程6 9 i x t t c n 3 测试平台中基于过程通讯的设计与实现 x 内蒙古大学硕士学位论文 1 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 ) 【1 】语言是一种用于定义和控制测试活 动的测试描述语言,它的语法和操作语义是由e t s i 制定的。t t c n 3 是一种功能非常强大的 测试语言,它的技术规范所规定的标准接口允许它在独立于测试系统实现的层面上定义测试 套并进行测试控制。t t c n 3 这种实现的独立性加强了,它的测试套在不同系统版本或平台 间的重用性。t t c n 3 之前多用于通信领域的协议测试,目前它正迅速扩展到因特网协议测 试、宽带技术测试、服务测试、模块测试等领域。 目前,国内外的开发者已经开发完成一些支持t t c n 3 语言的测试平台和测试工具,有 些为商业化的测试工具或平台,国外如德国的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 w b r k b e l l c h 测试平台1 7 】,瑞典t e l e l o g i c 公司所开发的t e l e l o g i ct a u 8 1 ,o p e ne n v i r o n m e n t s o f t w a r e 公司所开发的t t c n 3 测试环境o p e n t t c n 9 】等;国内如中国科学技术大学为华为公司 开发的测试平台l o o n gt e s t i n g 1 1 】【1 9 1 等。商业化和面向企业应用的测试工具和测试平台或价格 昂贵,或只提供给特定的用户使用,或其内部实现不公开,难以得到推广和普及。 1 2 本文的研究目标和内容 g 0 4 i t 项目1 1 2 1 3 】【1 4 】【1 5 】【1 7 1 由欧盟设立,由内蒙古大学以及其它1 2 个来自不同国家的机构 参与,其目标是开发开源的、基于t t c n 一3 的测试平台和测试工具。g 0 4 i t 项目分为p a c k a g e 1 以及p a c k a g e2 两部分。p a c k a g e2 提供了在l i n u x 的环境下开发和执行t t c n - 3 测试套的 平台。到目前为止,g 0 4 i t 项目已完成a 0 阶段的开发,p a c k a g e 芝已经支持基于消息的通信。 对t t c n 3 语言基于过程通信的功能 照e t s i 颁布的t t c n 3 标准【1 】【4 】【5 】【6 】 t t c n 3 测试平台中基于过程通讯的设计与实现 1 3 论文结构 本文共分为六章。此为第一章引言,第二章简要介绍了t t c n 3 语言及测试系统。第三 章介绍了t t c n 3 语言的通信功能并对基于过程通信的设计实现进行了需求分析。第四章介 绍了基于过程通信的设计与实现。第五章通过一个具体测试套的翻译以及其执行过程来验证 基于过程通信功能的设计实现;最后是本文总结和未来工作。 2 内蒙古大学硕士学位论文 2 1 t t c n - 3 语言 第二章t t c n - 3 语言及测试系统简介 t t c n 3 是一种具有编程语言以及形式化语言特征的测试描述语言【l 】。t t c n 3 语言的元素 分为很多类型,最顶层语言元素是模块。模块中不能包含子模块但可以从其他模块中引入其 它语言元素的定义。模块分为定义部分和控制部分。模块的定义部分用来语言元素和他们的 行为。这些语言元素包括数据类型、常数、函数等具有高级语言特征的数据元素,也包括 t t c n 3 语言特有的测试成分、通信端口、测试数据模板、特征函数模板( s i g n a t u r e s ) 、测试 例等,测试例中可以定义测试成分的行为。模块的控制部分控制并执行测试例。 2 2t t c n - 3 测试系统 作为一种高度抽象t t c n 3 的语言,需要在具体的测试系统中运行并发挥作用。e t s i 发 布的t c i 和t r i 标准文档构造了如图的t t c n 3 测试系统的结构。这种结构通过功能模块的 划分和模块间的标准接口的定义将t r c n 3 语言所形成的抽象的测试描述与具体的测试实现 进行了分离。 t t c n 3 测试平台中基于过程通讯的设计与实现 测试日志模块t e s tl o g g i n g ( t l ) 、测试成分处理模块c o m p o n e n th a n d i n g ( c h ) 、t t c n 3 测 试执行模块t t c n 一3e x e c u t a b l e ( t e ) 、被测系统适配器s u t a d a p t o r ( s a ) 、以及平台适配器 p l a t f o r i l la d a p t o r ( p a ) 构成【5 1 。 t m 实体负责测试系统的整体管理。c h 实体负责并行测试成分的分布和各测试系统实体 之间的通信。c d 实体负责与t e 进行基于消息或基于过程通信的数据的外部编解码。t l 实 体负责测试日志的维护。t e 实体负责t t c n 3 抽象测试套的解释或执行。t e 可从概念上分 为3 部分:可执行测试套( e t s ) ,t t c n 一3 运行时系统( t 3 r t s ) ,以及内部编解码模块( e d s ) 。 e t s 实体负责测试例的解释或执行,测试事件的排序和匹配;t 3 r t s 实体通过t c i 和t r i 接 口和t m ,s a 以及p a 实体交互,并管理e t s 和e d s 实体;e d s 实体负责测试数据的内部编 解码。s a 实体负责使测试系统和被测系统间基于消息和基于过程通信适配于测定系统的特定 执行平台。p a 实体负责实现t t c n 3 外部函数,并为t t c n 3 测试系统提供了统一的时间概 念。 测试控制接口( t c d 定义了测试系统中的t e 、t m 、c h 、c d 、t l 实体之间的交互方 式。它为t e 提供了控制测试执行的方法( 与t m 交互) ,在不同的测试设备中分布式的执行 测试成分的方法( 与c h 交互) ,对测试数据编解码的方法( 与c d 交互) ,以及用日志记录 测试执行信息的方法( 与t l 交互) 。t c i 接口可以分为两类,使用“p r o v i d e d ”表示在其它实体 中实现,由t e 调用的操作;使用 r e q u i r e d ”表示在t e 中实现由其它实体调用的操作。 运行时接口( t r i ) t r i 定义了在t t c n 3 测试系统实现中t e 与s a ,p a 等实体交互的 方式。具体说t r i 为t e 提供了向s u t 发送测试数据或者进行定时器操作的方式,以及从s u t 接收测试数据和超时异常的方式。t r i 接口也可以分为两类:一类在s a 中实现,在测试中由 t e 调用的;另一类在t e 中实现的,在测试中由s a 调用的。 2 3t t c n - 3 语言的通讯机制 t t c n 3 语言的通讯分为基于消息的通讯和基于过程的通讯两类,t t c n 3 支持基于消息 和基于过程的单播,多播和广播通讯【1 】o 2 3 1 基于消息的通讯 基于消息的通讯是基于异步的消息交换的。基于消息的通讯在发送操作上是非阻塞的, 4 内蒙古大学硕士学位论文 即在s e n d 操作发出之后,发送方立刻继续处理后续的操作而不进行等待。接收方的接收操作 是阻塞的,即直到它处理完一个已接收的消息才会处理下一个接收到消息。另外对于接收操 作,t t c n 3 提供了一个t r i g g e r 操作来过滤来自特定接收队列的带有某种匹配机制的消息。 端口接收队列的队首元素如果不满足匹配机制的消息格式,会被从端口队列中移除而不附加 任何进一步操作。 s e n d r e c e i v eo rt r i g g e r 图2 2 异步的接收和发送示例【1 】 f i g u r e2 2i 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 s l ys e n d i n ga n dr e c e i v i n g 1 】 2 3 2 基于过程的通讯 基于过程的通讯需要调用远程实体中的过程。t t c n 3 支持阻塞和非阻塞的基于过程通 讯。阻塞的基于过程通讯是在调用和被调用双方都进行阻塞,而非阻塞的基于过程通讯只在 被调用端进行阻塞。 阻塞的基于过程通讯如图所示。调用端通过c a l l 操作调用一个在被调用端的远程过程。 被调用端通过g e t c a l l 操作接收调用,并且通过r e p l y 操作来回应调用或者通过抛出( r a i s e 操 作) 异常进行相应。调用端通过g e t r e p l y 操作处理r e p l y ,或者通过c a t c h 操作捕获异常。在 下图中,调用端和被调用端的阻塞用虚线来表示。 c a l l g e t c a l l _ - 卜j g e t r e p l yd r r e p l yo f c a t c he x e c p t i o n r a i s ee z e c p t i o n s 图2 3 阻塞的基于过程通讯的示例【l 】 f i g u r e2 3i l l u s t r a t i o no f b l o c k i n gp r o c e d u r e - b a s e dc o m m u n i c a t i o n 1 】 非阻塞的基于过程通讯如图所示。调用端通过c a l l 操作调用一个在被调用端的远程过程 后直接执行c a l l 操作的后续操作,而不去等待一个r e p l y 或者e x c e p t i o n 。被调用端通过g c t c a l l t t c n 3 测试平台中基于过程通讯的设计与实现 操作接收调用,并且执行对方所请求的过程。如果执行不成功,被调用端会抛出异常通知调 用端。调用端会通过a l t 语句中的c a t c h 操作来处理异常。在下图中,被调用端的阻塞用虚线 表示,阻塞会一直持续调用完成且可能的异常被抛出为止。 c a l l g e t c a l l 卜一囵 c a t c he 朋印t 彻 r a i s e 聊t j 彻s 图2 4 非阻塞的基于过程通讯示例【1 】 f i g u r e2 4t h ei l l u s t m t i o no f n o n - b l o c k i n gp r o c e d u r e b a s e dc o m m u n i c a t i o n 1 】 2 3 3t t c n - 3 基于过程通讯语句在测试系统中实现的方式 本文中要实现的用于基于过程通讯涉及到的t t c n 3 语句如下表所示。 表2 1 基于过程通讯设计到的t t c n 3 语句【1 】 t a b l e2 1t h es t a t e m e n to f p r o c e d u r e - b 弱e dc o m m u l l i c a t i o n 【l 】 通讯操作关键字 发起过程调用 c a l l 接收过程调用 g e t c a l l 对来过程调用的进行回应 r e p l y 抛出异常( 对于已经接收的调用) r a i s e 接收对前一个过程调用的回应 g e t r e p l y 捕获异常( 来自被调用实体) c a t c h 在t t c n 3 测试系统中,测试的执行需要把抽象测试套( a t s ) 编译成可执行测试套 ( e t s ) ,a t s 中的t t c n 3 通讯语句也被编译成e t s 中的相关的目标代码,在t e 内部,这 些目标代码通过调用t t c n 3 运行时系统( t 3 i s ) 提供的t e 内部接口与t 3 r t s 交互, t 3 r s t 通过调用测试系统中其它实体提供的t c i - - p r o v i d e d 接口和t r i 接口与其它实体的交 互,同时也提供t c i - - r e q u i r e d 接口和t r i 被其它实体调用。在测试系统中,基于过程的通 讯就是通过这些测试实体内部的自定义接口和测试实体间的标准接口的调用实现的。下图是 6 内蒙古大学硕士学位论文 a t s 中的测试成分通过c a l l 操作发出过程调用时,理论上在测试系统中会发生的一系列活动 的对应的时序图。 e d 图2 5 a t s 中的c a l l 操作在铡试系统中引发的活动序列 f i g u r e 2 5t h es u b s e q u e n c ea c t i v i t i e so f t h ea t so p e r a t i o nc a l l1 1 1t h et e s ts y s t e m 在上图中,a t s 通过c a l l 语句发出的过程调用,在测试系统中对应了e t s 对t e 内部接口 c a l l 的调用,t e 内部接口c a l l 的调用引起对于在c h 中实现的t c i 接口t c i c a l l c o n n e c t e d 的调 用,通过这个调用把过程调用相关信息发送给c h ,c h 会调用在目的测试成分所在t e 结点中 实现的t c i 接口t c i e n q u e u e c o n n e c t e d ,这个t c i 接口的实现需要调用t e 内部接口e n q u e u e , 把过程调用的相关信息在目的测试成分的接收端口中入队。 7 t t c n 3 测试平台中基于过程通讯的设计与实现 第三章基于过程通讯的需求分析 g 0 4 i t 项目a o 阶段的p a c k a g e 2 已经实现了测试成分和被测系统间基于消息的通讯,本 文中基于过程的通讯的实现的总体目标,是在原有的t 3 r t s 1 4 】【1 5 1 基础上定义一些新的数据结 构和操作来实现基于过程通讯需要在t e 内部完成的功能。具体来说,需要在t 3 r t s 中定义 新的消息格式和以及存储和处理消息的操作和数据结构,用于基于过程的通讯;需要在t 3 r t s 中定义e t s 在实现基于过程的通讯时执行相关操作需要调用的t e 内部接口;还需要在t 3 r t s 中定义在基于过程通讯过程中,t e 与测试系统中其它实体交互时需要在t e 内部实现的t c i 和t r i 接口,用以在测试系统中实现消息传递。 3 1 t e 内部接口已有基础的和需求分析 3 1 1 已有的t 3 r t s 系统 基于过程的通讯是发生在测试成分之间以及测试成分和被测系统之间,通过基于过程通 信类型的或混合类消息类型的端口实现的。现有的t 3 r t s 所实现的与通讯功能直接相关的 t e 内部接口【1 4 】有如下几个t 3 r t s c o m p o n e n t ,t 3 r t s p o r t ,t 3 r t s p o r t t y p e ,t 3 r t s t i m e r 。 t 3 r t s c o m p o n e n t :在t t c n 3 语言中,通常用测试成分模拟测试活动中的发出各种动作 实体,因此t 3 r t s c o m p o n e n t 类型承载着控制测试实体自身状态和实体间映射的控制:端1 2 1 映射和移除映射请求、端口的添加和移除、时钟列表的维护、反映时钟和端口队列状态的快 照机制的实现。 t 3 r t s p o r t 类型提供了消息发送,接收的场所,消息存放数据结构及相关操作,提供端口 间连接,映射的操作,以及相关连接映射状态的储存和查找。原有的t 3 r s t p o r t 类型可以提 供基于消息的通讯所需的消息格式,以及基于这种消息格式的端口队列。 t 3 r t s p o r t t y p e 类型负责定义端口传递和接受的消息类型。 t 3 r t s t i m e r 类型为t t c n 3 的各种行为和操作提供了时间概念。 3 1 2 对t e 内部接口实现基于过程通讯操作的需求分析 基于过程的通讯的功能的在t e 测的实现,即基于过程通讯所涉及的操作的功能实现。所 涉及的操作分为两类,一类是发送类操作,即c a l l 、r e p l y 、r a i s e :一类是接收类操作,即g e t c a u 、 内蒙古大学硕士学位论文 g e t r e p l y 、c a t c h 。发送类操作需要调用t c i 和t r i 接口实现与测试系统中的其它实体进行通讯 实现消息的传递;接受类操作需要对接收到的消息进行匹配和进一步的处理。因此,首先在 t 3 r t s 中实现这些操作所对应的t e 内部接口,供e t s 进行调用;其次,需要设计新的消息 格式及其储存方式和相关的操作,因为原有的t 3 r t s 不能提供基于过程通讯的对t c i 和t r i 接口调用时所需的消息格式,并且需要将因通讯操作而改变的端口状态通过快照机制反应出 来。 3 2 各通讯操作的调用过程对t c i 和t r i 接口的需求分析 在2 3 节中提到a t s 中的通讯操作,在编译成e t s 后,由e t s 调用t 3 r t s 提供的t e 内部接口,t e 内部接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年村卫生室人员公共卫生项目知识培训考试题及答案(一)
- 2025年兽医师(病理学)基础知识考试题库与答案
- 2025年美容师理论基础知识资格考试模拟试题库及答案
- 磨损技术测试题及答案
- 2025贷款合同协议书
- 2025合同期满解除劳动合同通知范文
- 2025确保合同公平:防范家装合同中的常见风险让你无忧装修
- 2025年北京市二手交易合同
- 揭阳空港消防知识培训课件
- 金融行业点钞员面试实战模拟试题库
- 中医护理门诊建设
- 从宏观到微观探索数字技术在医疗教育中的应用价值
- 曼昆《经济学原理(微观经济学分册)》(第7版)笔记和课后习题
- 私密项目合作协议书
- 《鸿蒙HarmonyOS应用开发基础》全套教学课件
- 风力发电维修合同协议
- Unit 3 Keep Fit 单元教案 2024-2025学年人教版(2024)英语七年级下册
- GB/Z 45463-2025热喷涂涂层孔隙率的测定
- 挖机配件销售系统化培训
- 绿色能源项目投资可行性分析报告范文
- 儿童慢性鼻窦炎的诊断和治疗中国专家共识(2024)解读 课件
评论
0/150
提交评论