(计算机应用技术专业论文)基于抽象状态机模型的流媒体传输协议远程测试系统.pdf_第1页
(计算机应用技术专业论文)基于抽象状态机模型的流媒体传输协议远程测试系统.pdf_第2页
(计算机应用技术专业论文)基于抽象状态机模型的流媒体传输协议远程测试系统.pdf_第3页
(计算机应用技术专业论文)基于抽象状态机模型的流媒体传输协议远程测试系统.pdf_第4页
(计算机应用技术专业论文)基于抽象状态机模型的流媒体传输协议远程测试系统.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于抽象状态机模型的流媒体传输协议远程测试系统.pdf.pdf 免费下载

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

文档简介

摘要摘要协议的测试是协议工程的一个重要组成环节。随着信息化时代的到来,人们对信息的需求越来越高,促生了许多新的协议规范。如何采用新的形式化方法描述和验证协议及对新协议选择何种测试方式来保证协议实现的一致性、互操作性和高效性一直是协议测试的热点和难点。本文研究的目的就在于根据当前国内外的发展现状,结合当今协议多带有分布式的特征,提出并实现了基于抽象状态机语言的远程协议测试。本文首先概要介绍了协议测试的基本概念、测试结构、测试流程和测试基本假设,分析了现有协议描述的形式化方法和各自的优缺点。然后介绍了抽象状态机语言的发展和形式化规则,并论述了其作为协议测试的优点和理论基础。根据前面的分析,提出基于抽象状态机语言的协议测试基本模型;在此基础上以简单文件传输协议为例,论述了使用抽象状态机语言进行协议测试的方法和过程。并根据简单文件传输协议测试中实际存在的问题,提出抽象状态机模型结合n e t环境下分布式程序设计构架来设计远程协议测试系统,并详细论述了其一致性测试模型和n e t 远程控制系统的实现方法。最后实现了流媒体传输协议远程一致性测试,验证了以上设计思路和测试模型的正确有效性。在论文的结束部分简述了本人工作及研究中尚需解决的问题,对其中一些问题给出了进一步研究的思路和改进意见,并展望了基于抽象状态机协议测试的研究和发展方向。关键词:协议一致性测试抽象状态机模型流媒体传输协议远程测试系统协议测试模型a b s t r a c ta b s t r a c tt h ec o n f e r e n c et e s t i n go fp r o t o c o li st h ek e yp a r to fp r o t o c o lp r o j e c t i nt h ei n f o r m a t i o n b a s e de r a , p e o p l en e e dm u l t i p l ei n f o r m a t i o n , t h u sm a n yn e wp r o t o c o lw a sb r o u g h to n h o wt ou s en e wf o r m a l i z a t i o nt od e s c r i b e ,v e r i f yp r o t o c o la n dc h o o s ew h i c ht e s t i n gm e t h o dt oe n s u r ep r o t o c o li m p l e m e n t sc o n f o f i n a n c e ,i n t e r o p e r a b i l i t ya n dp e r f o r m a n c ee f f i c i e n c yi sa l w a y st h ed i f f i c u l t ya n dh o t s p o to fp r o t o c o lt e s t i n g i nt h i sp a p e r , r e m o t ep r o t o c o lc o n f e r e n c et e s t i n gm e t h o d sb a s e do nt h ea b s t r a c ts t a t em a c h i n el a n g u a g ei sp r o p o s e da n di m p l e m e n t e da c c o r d i n gt ot h es i t u a t i o no ft h ed e v e l o p m e n ti nt h ew o r l da n dd i s t r i b u t e dc h a r a c t e r i s t i co fm o s tc u r r e n tp r o t o c 0 1 f i r s t l y ,t h et h e s i si n t r o d u c e st h ep r e s e n ts i t u a t i o no fp r o t o c o lv e r i f i c a t i o n b a s i cc o n c e p t i o n ,v e r i f i c a t i o nf r a m e w o r k , v e r i f i c a t i o np r o c e s s ,v e r i f i c a t i o nb a s i ch y p o t h e s i sa n da n a l y z e dt h ea d v a n t a g ea n dd i s a d v a n t a g eo fc u r r e n tf o r m a l i z a t i o nd e s c r i p t i o no fp r o t o c 0 1 a n dt h e ni n t r o d u c e st h ea b s t r a c ts t a t em a c h i n el a n g u a g e d e v e l o p m e n t ,f o r m a l i z a t i o nr u l e sa n dd i s c u s s e si t sa d v a n t a g ea n dt h e o r yf o u n d a t i o na sp r o t o c o lv e r i f i c a t i o nm e t h o d s b a s e do nt h ea n a l y s i so ft h i sc o n t e n t ,an e wp r o t o c o lc o n f e r e n c et e s t i n gm o d e lu s i n ga b s t r a c ts t a t em a c h i n el a n g u a g ei sp r o p o s e d ;w i t ha l le x a m p l eo ft f t pp r o t o c o lw r i t t e ni na s m l ,t h ep r o t o c o lv e r i f i c a t i o n sm e t h o d sa n dp r o c e s si ss u m m a r i z e d a c c o r d i n gt oe x i s t i n gp r o b l e mi nt h et f t pp r o t o c o lc o n f e r e n c ev e r i f i c a t i o n , t h em e t h o do fc o m b i n i n ga b s t r a c ts t a t em a c h i n em o d e lw i t h n e td i s t r i b u t ep r o g r a md e s i g nf r a m e w o r ki sp r o p o s e dt oc o n s t r u c tr e m o t ep r o t o c o lv e r i f i c a t i o ns y s t e m ,a n dt h e nr e s e a r c h e si t sc o n f e r e n c et e s t i n gm o d e la n di m p l e m e n to f n e tr e m o t ec o n t r o ls y s t e m f i n a l l y ,t h ei m p l e m e n t a t i o no fr e a l t i m et r a n s p o r tp r o t o c o l ( r t p ) p r o t o c o lr e m o t ec o n f e r e n c et e s t i n gv a l i d a t e dt h ec o r r e c t n e s sa n da v a i l a b i l i t yo fd e s i g nt h o u g h ta n dc o n f e r e n c et e s tm o d e l t h er e s u l t sa n dp r o b l e m sn e e dt ob er e s o l v e da r es h o w ni nt h el a s tp a r t f u r t h e rm o r e ,t h es u g g e s t i o nf o rt h ef u t u r ei m p r o v e m e n to fp r o t o c o lt e s t i n gw i t ha b s t r a c ts t a t em a c h i n el a n g u a g ei sg i v e n k e y w o r d s :p r o t o c o lc o n f e r e n c et e s t i n ga b s t r a c ts t a t em a c h i n em o d e lr t pr e m o t et e s t i n gs y s t e mp r o t o c o lt e s t i n gm o d e西安电子科技大学学位论文独创性( 或创新性) 声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切的法律责任。本人签名:日期西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。( 保密的论文在解密后遵守此规定)本人签名:导师签名:日期日期第一章绪论第一章绪论计算机网络已经成为信息化社会的基础,影响着人们生活,工作的各个方面。而如何能够使网络成为安全、稳定、快捷的信息传送平台,这是对网络系统的基本要求,而随着要求的日益严格和信息的多元化,网络环境和相关的支持协议标准也越来越复杂。如何快速开发支持新服务的协议、协议的安全性能、协议实现的一致性、协议的互操作性等问题越来越引起人们的重视。在网络犯罪高居不下的今天,一个协议的微小漏洞,可能造成将来不可估计的损失。而这些责任将落在协议测试这个重要的环节上。严格、周密的协议测试将保证协议最终版本提供以前发现和修正协议存在的不完善之处和实现代码与原协议定义的不一致之处。在网络系统中,为了使来自不同厂家的设备能够通信,必须有标准化协议,它规定了网络中各系统之间进行通信时应共同遵守的规则。然而,仅有标准化的协议并不能保证通信的成功,这是因为目前的协议标准以自然语言描述,实现者对于协议的不同理解会导致不同的协议实现,有时甚至是错误的协议实现;还有彼此之间能否正确的进行通讯和互操作。因此,我们需要对协议实现和协议标准进行判别、检验,这种方法就是“协议测试”( p r o t o c o lt e s t i n g ) 。协议测试技术可分为一致性测试、互操作性测试、性能测试和鲁棒性测试四种类型。其中一致性测试是另外三种测试的基础,是协议测试中的一个重要部分。一致性测试是通过观察具体实现在不同的环境和条件下的反应行为来验证协议实现与相应的协议标准是否一致,旨在检验所实现的协议实体( 或系统) 与协议规范的符合程度1 2 j 。要保证不同的协议实现版本在实际网络中能成功的相互通讯,还需要检测某一协议实现与其它系统实体之间的交互过程是否正常,这是互操作性测试。另外还要对协议的性能进行测试,检验协议的响应时间、吞吐量性能指标等,是否满足系统的要求。鲁棒性也称为健壮性,我们对协议的鲁棒性进行测试,通过观察协议在系统故障、网络过载、故意攻击等情况下,是否具有自动恢复功能或者能够保持健壮,来确定协议抵抗异常或者危险因素的能力。1 1 研究背景1 1 1国内外的研究现状网络协议即是网络中传递、管理信息的一些规范。正如同人与人之间的相互交流需要遵循一定的规矩一样,计算机与计算机之间的相互通信也需要遵守一定的规则,这些规则就称为网络协议。网络协议是网络之间沟通、交流的桥梁,一台计算机只有在遵守网络协议的前提下,才能在网络中与其他计算机进行正常的2基于抽象状态机模型的流媒体传输协议远程测试系统通信,相互交换信息。作为协议测试的基础,协议的一致性测试一直是协议工程研究的热点。2 0 世纪9 0 年代,国际标准化组织i s o 专门制定了一套国际化标准i s o i e c9 6 4 6c t m f ( c o n f o r m a n c et e s t i n gm e t h o d o l o g ya n df r a m e w o r k ) ,为协议测试提供了基本方法和框架。对于一致性测试的研究目前主要集中在协议建模,测试机生成算法,错误覆盖率分析,测试执行的体系结构等几个方面。1 1 1 1国外目前研究现状国外在协议测试方面的研究工作开展的较早,对于协议测试已经进行了长达4 0 多年的研究,在理论和实践上都处于领先地位,到上个世纪末,已经形成大量标准的测试生成方法:t ,d ,u ,w 等【8 , 9 , 1 0 】。特别是对于协议的一致性测试方法的研究,已经得到了相当成熟的理论框架。2 0 世纪9 0 年代,国际标准化组织i s o专门制定了一套国际化标准i s o i e c9 6 4 6c t m f ( c o n f c i r m a n c et e s t i n gm e t h o d o l o g ya n df r a m e w o r k ) ,为协议的一致性测试提供了基本方法和框架,制定了测试集设计步骤和描述方法,并为测试系统的实现提供了指导。i s 09 6 4 6 包括七个部分:1 i s o i e c9 6 4 6 1 基本概念1 1 j ;2 i s o i e c9 6 4 6 2 抽象测试集技术规范【列;3 i s o i e c9 6 4 6 3 树表结合表述法t t c n l 3 j ;4 i s o i e c9 6 4 6 - 4 测试实现1 4 ;5 i s o i e c9 6 4 6 5 对测试实验室和客户在一致性评价过程方面的要求【5 】;6 i s o i e c9 6 4 6 6 协议轮廓测试规范【6 j ;7 i s o i e c9 6 4 6 7 协议实现一致性声吲7 1 。协议规范一般都是采用自然语言来描述的。自然语言便于描述、易懂,但是具有描述不精确,不严格,有二义性的致命弱点。而这个问题的解决离不开形式化方法的支持,协议形式化描述在整个协议开发生命周期中起主导作用,它是协议开发活动的基础,其目的在于把协议的自然语言描述转换成一种形式化的、无二义性的描述。形式描述技术涉及两个研究课题【l l 】:第一,用什么样数学模型或逻辑模型表示n 层局部系统,通道系统,全局系统以及它们之间的相互作用,以便获得抽象的协议模型;第二,设计基于一种或多种数学逻辑模型的形式描述语言f d l ( f o r m a ld e s c r i p t i o nl a n g u a g e ) 。关于协议的形式化方法,国外目前已研究开发出多种形式模型,概括起来主要有i l2 j :有限状态机f s m ( f i n i t es t a t em a c h i n e ) 、p e t r i 网p n ( p e t r in e t ) 、时序逻辑t l ( t e m p o r a ll o g i c ) 、通讯系统演算c c s ( c a l c u l u so fc o m m u n i c a t i o ns y s t e m ) 、形式文法f g ( f o r m a lg r a m m a r ) 、过程语言p l ( p r o c e d u r a ll a n g u a g e ) 等数学模型和逻辑模型。在此基础上,人们第一章绪论也提出了多种基于不同数学模型的形式描述语言工具,其中影响大的是i s o 的e s t e l l e ( 扩展状态转移模型语言) 、l o t o s ( 时序状态说明语言) ,以及国际电报电话咨询委员会( c c i t t ) 的s d l ( 说明与描述语言) ,以及最新的微软开发的用于内部测试的抽象状态机描述语言i l3 。1 1 1 2国内目前研究现状国内对于协议测试的研究起步较晚,测试大多采用国外开发的协议形式化描述语言,主要专注于新的网络协议和通讯协议的测试工作。但是中国互联网和通信市场的巨大空间和前景,都使得中国在协议测试的研究与应用方面得到了快速发展并积累了宝贵经验。由清华大学吴建平教授领导的网络实验小组已经开发出了基于形式化的协议集成测试系统p i t s 1 4 】,并取得了大量的研究成果。“八五”攻关项目“协议一致性测试系统p c t s ”是由清华大学网络实验室与总参合作开发的国内协议测试完整系统。它能够支持计算机网络各主要o s i 协议的一致性测试,保证各种连网设备的正确互联,并于九五年经过鉴定。p i t s 是一个可以提供一致性测试、互操作行测试和性能测试的集成测试系统。它可以测试t c p i p 协议族中的主要协议,为i n t e m e t 的安全可靠的运行提供测试手段。由于在p i t s 中一致性测试、互操作性测试和性能测试在同步进行,目前对测试组织与管理的研究主要还是以一致性测试为背景。今后,它将会被移植或扩展到其他两种测试中。中国科学院计算技术研究所网络测试实验室在协议测试方面取得了长足的进展,李忠诚教授以及其他的研究人员发表了一系列具有创新意义的文章【1 5 】;中国科技大学在协议测试方面也取得了不菲的成果l l6 1 ,蒋凡教授领导的课题组已经完成了基于t t c n 3 的测试系统。1 1 2 论文研究目的针对目前国外使用抽象状态机语言描述和测试协议正处于初步研究阶段,协议测试的软件还限于内部使用,其测试环境的研究也处于发展阶段,采用抽象状态机语言模型如何正确、完善的测试协议是一个正在探索的过程,我们从形式化描述语言为起点,详细分析了基于抽象状态机模型测试协议的过程和优点,以简单文件传输协议为例,说明了基于抽象状态机语言的协议测试步骤。并在此基础上,研究了具有分布式特性的远程协议测试系统。在研究其他形式化协议描述和测试过程中,发现虽然协议测试提出了本地测试方法、分布式测试方法、协调测试方法和远程测试方法,但是大多数研究还是采用本地测试,因为大多数测试系统是采用c 或是c + + 语言开发的,在这些语言环境下,开发一个远程分布式的测试系统代价很高,周期很长,没有通用性,不同环境必须独立重新开发。而基于抽象状态机的协议测试本来就是抽象状态机和4基于抽象状态机模型的流媒体传输协议远程测试系统接口自动机理论的结合,在实际的测试工作中必须结合c # 语言描述的桩函数才能完成测试的驱动工作,这样就给远程测试提供了巨大的空间,c # 语言是支持分布式程序开发最简洁的语言,借助它丰富的r e m o t i n g 库的功能,我们就能快速实现远程测试平台的构建,况且是基于代码级别的,针对不同问题,很容易实现代码重建。通过实际测试过程的实现,发现协议测试中存在的实际问题:测试基于本地环境测试,并没有提供实际的网络环境,容易导致测试过程的不完善。例如,传送数据包超时,在本地测试时候就很难发现这个故障,但协议执行时候,尤其是对于不是面向连接的u d p 传输,很容易发现存在的问题。但是通过在抽象状态机语言环境下,结合n e t 开发平台简洁的分布式程序开发环境,实现抽象状态机形式化测试方法和远程进程通讯的完美结合,使得测试具有本地和远程的良好的自适应特性,更接近于实际网络测试环境,方便协议开发和测试。1 2 本文内容安排本文通过对现在协议测试方法和形式化协议描述方法的比较,论述了抽象状态机模型进行协议测试的理论基础。以简单文件传输协议为例论述了基于抽象状态机模型的协议测试基本方法。针对现在网络协议测试都是在本地单机上运行,测试并没有在真实网络环境中执行,可能隐藏协议实现漏洞,在此基础上提出远程测试的概念和方法,并以流媒体传输协议为例,实现了协议的远程测试。本文分为以下六个部分:第一部分,介绍了当前国内外协议测试研究方法、研究方向及本论文的研究目的、研究方法和内容安排;第二部分,分析当前协议形式化描述的常用方法和协议测试的常用工具,及其各自的特点;第三部分,论述抽象状态机的原理、方法,以抽象状态机测试简单文件传输协议为例,说明基于抽象状态机语言的协议测试基本过程和具体实施步骤;第四部分,远程协议测试的原理和具体方法,实现过程;第五部分,流媒体传输协议一致性测试和结果分析第六部分,结束语。对全文进行总结和展望。1 3 本章小结本章首先简要介绍协议测试的目的,基本方法,分析国内外协议测试现状、进展和实际测试过程中遇到的问题,然后提出了抽象状态机结合远程进程调用构造远程协议测试系统。最后阐述了论文的研究内容和章节安排。第二章协议测试技术概述第二章协议测试技术概述2 1 软件测试的定义1 9 7 2 年,在美国的北卡罗来纳大学召开了首次软件测试会议,这是软件测试领域的一个里程碑。1 9 8 3 年i e e e 把软件测试定义为:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求,或是确定预期结果与实际结果之间的差别。另外,很多人引用g r e n f o r dj m y e r s 在( ( t h e a r to fs o r w a r et e s t i n g ) 一书中的观点:软件测试是为了发现错误而执行程序的过程:测试是为了证明程序有错,而不是证明程序无错误。根据是否执行被测软件的角度,可以分为静态分析测试和动态分析测试。静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和运行。动态测试则通过运行软件来检验软件的动态行为和运行结果的正确性,提供执行跟踪,时间分析,以及测试覆盖度方面的信息。动态测试通过真正运行程序发现错误,通过有效的测试用例,对应的输入输出关系来分析被测程序的运行情况。所以动态测试包括两个基本要素:一是运行被测程序,二是选择用以运行软件的数据。从测试是针对系统的内部结构还是针对具体实现算法的角度,可以分为白盒测试和黑盒测试。白盒测试又叫结构测试或逻辑驱动测试,也就是已知程序的内部工作过程,按照程序的内部结构测试程序的变量状态,逻辑结构,运行路径等,以检查程序中的每条分支是否都能按预定要求正确工作,而不验证程序是否完成了指定的功能。黑盒测试也称为功能测试或数据驱动测试,它较少考虑程序的内部实现过程,而是从软件需求出发,根据需求规范设计测试用例,并按照测试用例的要求运行被测程序,根据执行结果来验证软件功能和性能的正确性。2 2 协议测试概述协议作为一种特殊的通信软件,对它的测试一直是协议工程学中研究的热点。协议测试是针对特定协议的具体软( 硬) 件实现,在一致性、互操作性、性能等方面,对协议实现进行测试,目的是从黑盒测试的角度来验证协议实现是否符合协议定义以及是否安全可靠。协议一致性测试主要针对功能部分。通过一致性测试,可以了解一个具体协议实现是否以及在多大程度上实现了协议定义要求的功能;对那些协议定义未明确要求的可选性性能,又做出了怎样的实现。协议一致性测试的研究,是伴随协议实现出现的,现在一般归入协议工程学范畴。对协议的测试一般可以分为四种【l 】:6基于抽象状态机模型的流媒体传输协议远程测试系统一致性测试( c o n f o r m a n c et e s t i n g ) :检验和确认协议实现系统与协议设计规范的符合程度。性能测试( p e r f o r m a n c et e s t i n g ) :检验协议实现系统的性能指标是否达到设计要求,如数据传输率,连接时间,执行速度,吞吐量等。互操作性测试( i n t e r o p e r a b i l i t yt e s t i n g ) - 检测同一协议的不同实现版本之间互通能力和互连操作能力。鲁棒性测试( r o b u s t n e s st e s t i n g ) 检测协议实现系统在各种恶劣环境下运行的能力。其中,一致性测试是其他三种测试的基础,也是目前唯一能够给出理论框架的一种协议测试。目前对于一致性测试主要采用的是基于黑盒的测试方法,该方法的主要输入就是描述协议规范的模型。因此采用什么样的规范描述方法对于协议测试具有很大影响。由于多数通信协议都具有反应性质,所以那些能够精确描述反应系统时序特性的规范语言很自然成为了描述协议的首选。常用的通信协议的形式化描述方式有有限状态机模g 口( f s m ) t 1 7 】,p e t r i网模型,时序逻辑( t l ) ,通信进程演算( c s s ) 等模型技术。2 3 定义及缩写本章介绍协议测试的基本概念,本节将对涉及到协议工程学和标准制定组织使用的一些最基本的术语【3 l 加以介绍,如表2 1 所示,以便于读者阅读。论文中尽可能使用术语的中文形式,如:协议定义。但对于常用的术语则使用其英文形式。如:被测协议实现( i u t ) 。表2 1 协议测试常用定义及缩写协议定义针对特定协议,指出协议需要实现的功能和性能,并不明确要求协议的实现方式。一般为i t u 、i s o 等标准组织制定。协议实现针对特定协议定义,以某种语言实现其要求的功能和性能,并做到和相同协议的其他实现互联、互通。t t c nt 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 ( 树表结合表示法)a s n 1a b s t r a c ts y n t a xn o t a t i o no n e ( 抽象语法记法)a t sa b s t r a c tt e s ts u i t e ( 抽象测试套)e t se x e c u t a b l et e s ts u i t e ( 可执行测试套)a s pa b s t r a c ts e r v i c ep r i m i t i v e ( 抽象服务元语)p d up r o t o c o ld a t au n i t ( 协议数据单元)t c pt e s tc o o r d i n a t ep r o c e d u r e s ( 测试协调过程)m t cm a s t e rt e s tc o m p o n e n t ( 主测试部件)p t cp a r a l l e lt e s tc o m p o n e n t ( 从测试部件)i u ti m p l e m e n t a t i o nu n d e rt e s t ( 被测实现)s u ts y s t e mu n d e rt e s t ( 被测实现)第二章协议测试技术概述72 4 协议测试结构在o s i 模型中,协议和服务描述规范有三个主要成分:交互原语,控制和数据。一个服务描述包含对于服务原语及其参数的定义;而一个协议描述既包含对于n 层协议数据单元( 即n p d u ) 的定义,也包含对于n 层和( n 1 ) 层服务原语的定义。控制成分处理有序服务原语和协议数据单元。对于面向连接的协议,有三个操作阶段,即连接建立,数据传输和连接撤销。有限状态机模型常被用来模拟协议和服务的控制成分。数据部分负责对交互式原语参数部分的处理。各种各样连接建立选项的协商,诸如错误处理、应答机制、流控制机制之类的数据传输机制等都由数据成分处理。对协议实现的测试可以只考虑单个层,也可以把多层实体作为一个整体对待,并且从上层和下层观察其对输入激励的反应,对于一个被测试的外层协议实现( i u t , i m p l e m e n t a t i o nu n d e rt e s t ) ,可以由称作测试器( t e s t e r ) 的实体发送和接收服务原语。测试器所使用的抽象服务访问点称作控制和观察点( p c o ,p o i n to fc o n t r o la n do b s e r v a t i o n ) 。通常测试器包括两种:上测试器( u t ,u p p e rt e s t e r ) 和下测试器( l t ,l o w e rt e s t e r ) 。u t 通过控制和观测点p c o 和i u t 交换n 层的抽象服务原语a s p ( a b s t r a c ts e r v i c ep r i m i t i v e s ) ,l t 通过p c o 和t 交换第f n 1 ) 层的a s p 。u t 和l t 之间通过( n 1 ) 层服务的另一通道交换测试协同信息( c i ,c o o r d i n a t e di n f o r m a t i o n ) 。协议测试作为一种实验活动,必须具有一定的测试环境。测试系统首先必须有测试器和被测试的协议实现i u t 。测试器和被测试实现i u t 可以驻留在同一机器上进行测试,也可以通过数据通信网络实现远程测试。测试器中的u t 和l t也可以分离而驻留在不同测试场地。因此,不同组合的结果就形成了不同的协议测试结构。一致性测试的系统结构:为了测试一个特定的实现,一般需要将该实现放置于特定的协议测试系统中。国际标准组织专门制定了协议测试系统的框架。抽象层次上,协议测试的系统结构如图2 1 所示。被测协议实现位于被测试系统中的第n 层,测试系统通过协调上测试部件( u t ) 和下测试部件( l t ) 对i u t 进行测试,协调动作由测试协调过程( t c p )完成,1 1 层协议下方有更底层的协议支持l t 与i u t 之间的连接。8基丁抽象状态机模型的流媒体传输协议远程测试系统图2 1一致性测试的基本结构这样的测试系统,有两个问题需要重点解决。第一个问题是l t 与i u t 之间的通讯,由于t 是多样的,需要专门实现一组底层适配软件,他们中的每个负责与一个t 进行通讯。第二个问题是l t 与u t 之间的协调工作,即如何实现t c p 。针对上述两个问题,研究提出了四种测试模型i 】:本地测试方法、分布式测试方法、协调测试方法和远程测试方法,如图2 2 所示。乱本地测试法b 分布式测试法c 协调试测试法d 远程铡试法图2 2i u t 四种抽象测试方法结构图本地测试法中( a 图) ,u t 和l t 同在测试系统中,相互协调易于实现。这种方法主要针对硬件的测试。分布式测试法( b 图) ,l t 和u t 分布于测试系统和被测试系统中,通过t c p的协调对i u t 进行测试,这种方法可被应用于测试整个协议栈。具体的测试中,第二章协议测试技术概述9可能需要对协议栈的每一层由底向上分别进行测试。由于t c p 的通讯不能经过被测试协议栈,若要实现t c p ,需要额外开辟一条通讯通路( 比如被测协议是t c p i p网络协议,则需要以r s 2 3 2 等其他通路来实现t c p ) ,这种方法实现代价较大。协调测试方法( c 图) ,可以看作是对分布式测试的一种改进。l t 和u t 同样分布于系统的异侧,t c p 不用显式实现,而是被隐式地通过p d u 传递到u t 一端。这样的测试系统适于测试中间层协议( 当上层u t 已经被验证为有效时) ,而且t c p 的实现被封装于测试套的p d u 中。远程测试方法( d 图) ,忽略t c p 过程。它只能针对不需要u t 的i u t 系统。几种方法中,除了分布式方法外,t c p 都不难实现。要测试的对象大多为中间层协议,或是为不需要u t 的i u t 实现,所以测试系统只需要支持协调测试方法和远程测试方法即可。这样便于解决t c p 实现的问题。l t 与i u t 的通讯,对不通的i u t ,它所处的位置可能不同,一般都需要特定的适配软件来实现与i u t 的通讯。通过实现一个适配软件框架,将l t 与该框架的通讯固定下来。这个适配框架则便于每个具体的适配软件嵌入其中,这样,对新的i u t 系统,只要实现新的适配软件并嵌入框架中即可。实际测试中,u t 和l t 内部又可能出现若干并发的测试组件,通过创建和协调这些组件,可以实现更为复杂的测试。测试标准中将这种情况称为多方测试【2 1 ,如图2 3 所示。这些测试组件的创建、组件之间的相互通讯都给测试平台的设计和实现带来了更多需要解决的问题。图2 - 3 多方测试结构测试过程自动化对测试平台的易用性提出了要求。通常,需要一个集成测试环境。测试套的收集与测试结果的保存通过数据库来管理。测试者可以通过集成测试环境远程( 或本地) 控制执行部件,指挥执行部件完成测试操作。执行部件通过底层适配软件完成与i u t 的交互。在多方测试时,集成测试环境可以控制和协l o基于抽象状态机模型的流媒体传输协议远程测试系统调多个执行组件,并根据各个执行组件返回的结果形成判决。2 5 协议测试流程协议实现和协议测试是协议工程的两个重要内容。形式化的协议标准是协议实现和协议测试的出发点。根据形式化的协议标准构造抽象测试套( a t s ) ,一般的测试都使用t t c n 语言描述对该协议各项功能的测试过程。经过某种方式的转化,抽象测试套转化为可执行测试套,这样可以被测试部件( t e s t e r ) 加载和执行。同时,根据协议标准实现的协议作为被测实体i u t 被嵌入在被测系统s u t 中,与t e s t e r 连接形成整个测试系统。t e s t e r 执行e t s 后,出测试判决分辨被测协议实现是否达到了协议标准的要求。在协议规范、服务规范以及根据两者制定的协议一致性说日f ( p i c s ) 和协议测试的附加信息( p i x i t ) 都由协议标准化组织颁布的情况下,协议一致性测试工作可以按下列四个步骤进行【1 7 1 。第一步,根据协议规范、服务规范确定测试目的;第二步,设计实现测试套具描述;第三步,执行测试;第四步,根据测试执行的记录,参照p i c s 和p i x i t 进行测试评估,写出测试报告。在以上四步当中,第二步是影响测试质量,达到测试目的的关键。第二步又可具体化为下列几个方面的工作:测试序列生成;测试数据生成;测试案例程序的实现。整个测试工作的流程如图2 4 所示。图2 4 一致性测试基本流程2 6 测试的基本假设测试序列是测试案例设计的基础,有了测试序列,就可以结合测试结构、测第二章协议测试技术概述试级别和协议实现来实例化测试序列,进而实现相应的测试例。因此,测试序列的生成是测试套具设计的关键。测试集是协议一致性测试的基础,它是以最基本的测试事件序列的形式,详细定义了测试系统和协议实体的行为,从而做出测试“通过”或“失败”的判决,测试集有如下的层次结构:测试集_ 测试组_ 测试例_ 测试步_ 测试事件。应该强调的是,一般而言,通过探测一个未知实现i u t ( i m p l e m e n t a t i o nu n d e rt e s t ) 的行为来对它的内部结构和规格结构进行比较是不可能的。为此,我们需做如下一些基本假设:( 1 ) 设t 是模拟一个确定的有限状态机,此状态机具有已知的最大状态数和已知的输入输出字符表。( 2 ) 设i u t 在已知的有限时间内能响应输入信号,产生输出。( 3 ) 设i u t 的状态和迁移构成了一个强连通图,在图中每个状态都可以由状态机中其他的任何状态通过一个或多个状态迁移到达。为讨论方便,设i u t 的一个状态定义为i u t 等待新的输入信号的稳定条件。迁移定义为由某一个方法执行输入,并产生输出信号,转入另一个状态。为了产生一个可重复的测试结果,迁移必须具有确定性,即我们所用的有穷状态机是确定型的。由于讨论的是具体的协议实现,而非抽象设计,所以确定性并不具有很强的限制性。上面列举的三个属性是必要的条件。没有它们,一致性测试的讨论是不可能的。下面将继续假设i u t 对一个完全规格的有限自动机的响应问题,它们并不是必须的,但对测试序列生成算法复杂性却可能有重要影响。( 4 ) i u t 的每一个状态都能接受和响应所有来自系统字符表的输入信号。所有的空响应也是一个有效响应( 例如:一个状态到自身的转换) 。这种有限状态机规则,称为是完全的。这种完全性假设可以使我们通过删除特殊的情况而使算法更加一般化,但它不是必须的。在许多情况下如果不是所有的输入组合都要检测,一致性测试就可以缩短。i u t 自身特性也具有简化测试任务的作风。与前三个必要条件不同,下列三个特性是为了方便测试的,但不是必须的条件。( 5 ) 身份消息是指当i u t 接收“身份”信息时,i u t 响应并输出信息,此信息惟一标识当前状态。i u t 不会改变状态。( 6 ) 复位特性是指当i u t 接收一个“复位”信息时,不论当前系统处在何种状态,i u t 都会响应并立刻转换到已知初始状态。t 不必产生输出。( 7 ) 设置特性是指当i u t 在初始状态接收到“设置”信息时,i u t 响应并转换到信息参数所指定的状态。i u t 不必产生输出。1 2基于抽象状态机模型的流媒体传输协议远程测试系统2 7 协议形式化描述2 7 1 协议工程的形式描述技术协议可以用自然语言、程序设计语言或形式描述语言来描述。由于用自然语言方便、易懂、可读性好,国际标准化组织( i s o ) 采用自然语言描述并颁布协议标准。然而,自然语言描述不准确、不严格,有多义性,对同一个协议标准,不同的人往往有不同的理解,从而导致不同的实现版本。并且,从自然语言描述的协议到协议的实现是一个复杂而低效的、必须手工完成的过程,这给协议开发带来了很大的不便。而用经典的程序设计语言( 如p a s c a l ,c ) 描述协议虽然便于协议的实现,但可读性差,表述协议并发性、不确定性以及其它协议性质、元素的能力较差,且过多地描述了协议实现细节,因此它只能用于协议的实现,而不能作为协议标准在世界上公布。形式化方法在协议开发中的应用研究,始于2 0 世纪6 0 年代末。形式描述语言基于一种和几种数学模型,有良好的数学基础,克服了自然语言和程序设计语言的缺点,用它描述的协议在语义上准确无二义性,并且抽象于具体的协议实现环境,故它可作为协议标准的描述语言。随着计算机网络和分布式计算机系统的发展,对网络协议的功能和性能提出了更多和更高的要求。相应地,网络协议的规模和复杂性也在不断增加。协议开发者所面临的基本问题是如何设计一套庞大的通信控制规则,并且保证信息交换能够逻辑一致、完整、高效地进行。对该问题的解决主要体现在两个方面:1 对于一种给定的问题,设计者如何设计出一套满足需求的协议规格;2 对于一个给定的协议规格,分析者如何进行严格验证和性能分析,证明其是可用和正确的。为了能更好地从这两个方面来解决协议设计的问题,我们需要采用有效的思想、方法和技术。其中一个有效的思想就是协议的“分层”:而这里所说的有效方法就是指“形式化方法”。“形式化方法”主要是指使用形式化描述语言( f d l ,f o r m a ld e s c r i p t i o nl a n g u a g e s ) 来对协议进行描述,并贯穿协议开发的各个阶段。每一种f d l 都有一种或多种形式模型作为基础,有严格的语法和语义定义,它抽象于具体现实,可用符号执行,可翻译成程序设计语言。网络协议的形式化模型技术不仅是形式描述语言的数学基础,同时也是网络协议的形式分析、验证、测试、综合以及自动化实现的基础。网络协议的主要形式化模型技术有【l7 j :有限状态机( f s m ) 、p e t r i 网、时态逻辑、通信进程演算等。基于一种或多种数学模型的形式描述语言,可以充分地描述协议的各种特征( 如并发性、非正确性、时序性) ,为协议验证、协议实现、协议测试以及协议转换等第二章协议测试技术概述过程系统化和自动化提供了良好的基础。典型的网络协议形式化语言有:s d l ,e s t e l l e ,l o t o s 等。e s t e l l e 和s d l 是基于扩展有限状态机( e f s m ) ;而l o t o s 是基于通信进程演算。网络协议的形式化描述和验证,可以严密、科学的完成性能和行为的校验和评判,进而最大限度的确保网络协议的质量。而主要的形式化验证技术有:模型检验和定理证明。2 7 2 形式描述语言介绍形式化描述技术涉及两个研究课题:第一,用什么样数学模型或逻辑模型表示n 层局部系统,通道系统,全局系统以及它们之间的相互作用,以便获得抽象的协议模型;第二,设计基于一种或多种数学逻辑模型的形式描述语言f d l( f o r m a ld e s c r i p t i o nl a n g u a g e ) 。现有协议的形式化方法概括起来主要有:有限状态机f s m ( f i n i t es t a t em a c h i n e ) 、p e t r i 网p n ( p e t r in e t ) 、时序逻辑t l ( t e m p o r a ll o g i c ) 、通讯系统验算c c s ( c a l c u l u so fc o m m u n i c a t i o ns y s t e m ) 、形式文法f g( f o r m a lg r a m m a r ) 、过程语言p l ( p r o c e d u r a ll a n g u a g e ) 等数学模型和逻辑模型。在此基础上,人们也提出了多种基于不同数学模型的形式描述语言,其中影响大的是i s o 的e s t e l l e ( 扩展状态转移模型语言) 、l o t o s ( 时序状态说明语言) ,以及国际电

温馨提示

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

评论

0/150

提交评论