第7章-一致性测试技术(1-概述).ppt_第1页
第7章-一致性测试技术(1-概述).ppt_第2页
第7章-一致性测试技术(1-概述).ppt_第3页
第7章-一致性测试技术(1-概述).ppt_第4页
第7章-一致性测试技术(1-概述).ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第7章一致性测试技术 1 概述 2 内容提要 概述 1 一致性测试概念 2 一致性测试方法 3 3 一致性测试 概述 测试是检查一个网络部件某一方面的特性是否满足某种特定需求时常用的一种方法 验证一项新的协议实现 通常需要进行多项测试 一般要考虑以下四个方面 一致性测试 conformancetesting 互操作测试 interoperateabilitytesting 性能测试 performancetesting 鲁棒性测试 robustnesstesting 一致性测试旨在检测所实现的协议实体 或系统 与协议规范的符合程度 而验证则是检查形式化规范的内部一致性 互操作测试建立在一致性测试基础之上 重点检测同一种协议的不同实现版本之间 或同一类协议的不同实现版本之间互通的能力和互操作能力 性能测试与前两种测试不同 它不是一种功能测试 而是主要检测协议实体或系统的性能参数 如吞吐量 传输时延 联接时间 执行速度 并发度等 并根据这些参数对协议实现的性能做出评价 鲁棒性测试旨在检测协议实体或系统在各种恶劣环境下运行的能力 如信道被切断 通信结点掉电 注入干扰报文等 此外 一些不严格进行一致性测试评价的生产厂商常进行的互连通测试一般认为是一致性测试的一个方面 4 一致性测试原理 当第一个公用数据网投入使用后 该网络的管理者要做的一件重要事情是 确定购买的商用网络设备是否符合相关的网络标准 但又不必关心设备的内部细节 这就是协议的一致性测试问题 ReferenceSpecification ImplementationUnderTest IUT Tester 一致性测试 ConformanceTesting 协议验证 TestSequence 给定一个已知协议的规范 specification 例如用有限状态机描述的协议规范 和一个未知的协议实现 对于测试者而言 协议实现相当于一个黑盒子 测试者可以提供输入信号 报文 然后观察输出结果 通常将被测试的协议实现称为IUT ImplementationUnderTest 被测实现 或SUT SystemUnderTest 被测系统 将一系列用来测试实现一致性的输入测试序列为一致性测试集 conformancetestsuite 测试集是根据协议的规范得生成的 它是进行协议一致性测试的基础 5 一致性测试vs 验证 一致性测试 的目的是测试一个协议的给定实现外部行为是否符合协议的规范 如果一个协议的形式化规范中存在一个设计错误 则当且仅当完全基于该规范的协议实现 faithfulimplementation 中也包含同样的错误时 该实现才能通过协议的一致性测试 如果协议的实现与协议的规范不符 则一致性测试将失败 不要将 一致性 理解为 同一协议的不同实现之间的一致性 一致性 指的是被测系统 也就是协议的各种实现 与协议标准的一致性 而 验证 则是检查形式化规范的内部一致性 6 一致性测试 发展概况 20世纪80年代初 欧洲的许多研究机构开始在建立标准化的协议一致性测试活动方面进行合作 其目的是制定一个在OSI框架内进行协议一致性测试的指导标准 最初的参与者包括法国巴黎的ADI 德国Darmastadt的国家通信研究所 GMD 和英国的国家物理实验室 NPL 这些研究机构在这之前曾分别关注于一致性测试的不同方面的研究 例如 ADI设计并实现了一台X 25协议测试仪 GMD开发了一种钟对OSI体系结构中的会话层协议进行被动监控和错误检测的分析工具 而NPL则实现了一个用来对网络服务进行测试的测试系统 美国的国家标准和技术局 NIST 由于成功地研制了OSI体系结构中的第4类运输协议的测试系统 所以后来也被邀请参加了这一合作项目 7 一致性测试 发展概况 Cont 到1984年 更多来自欧洲和北美的研究人员加入到这一研究之中 取得的成果 各种测试结构 测试语言 各种测试方法的可行性 测试序列的自动生成等等 这些成果及其术语有许多在后来由ISO制定的一致性测试标准ISO9646中被采用 到了90年代 随着一系列国际标准的制定 这一领域正迅速走向成熟 8 一致性测试 发展概况 Cont 国际标准化组织ISO专门制定了一套国际标准ISO9646 主要包括 ISO9646 1 CCITTX 290 一般概念ISO9646 2抽象测试集 suite 规范ISO9646 3树表组合记法TTCN TreeandTabularCombinedNotation ISO9646 4测试实现ISO9646 5一致性认证处理对测试实验室及其客户的要求ISO9646 6测试实验室的操作此外 ISO还制订出了一些针对某一层协议的一致性测试的国际标准 例如 ISO10025为运输协议的一致性测试标准 ISO10168为会话协议的一致性测试标准 9 一致性测试 发展概况 Cont ISO9646的制定是协议一致性测试领域的一个里程碑ISO定义的一序列一致性测试标准为协议的一致性测试提供了基本方法和框架 为测试集制定了设计步骤和描述方法 并为测试系统的实现提供了指导 此后 协议一致性测试技术得到了快速发展 一些形式化工具和测试系统得到建立 部分OSI协议的测试集标准被制定出来 由于协议测试的技术复杂性和庞大开销 一般是协议实现者和协议用户所力不能及的事情 10 一致性测试 发展概况 Cont 因此 进行独立于生产者和用户的第三方测试是常采用的方法 例如 美国的国家标准和技术局 新罕布什尔大学的互操作测试实验室IOL 德国国家通信研究所的高速网络测试环境 韩国电子和通信研究所的宽带ISDN测试系统BITS等 在协议的一致性测试以及测试结构与测试环境等方面的研究都达到了一定水平 并开始提供部分测试服务和测试系统 国内的清华大学吴建平教授的实验室在一致性测试方面处于国内领先地位 11 一致性测试 发展概况 Cont 有一点特别要提到的是 90年代以来 人们逐渐考虑在测试研究中大量采用形式化方法 力图使测试研究以严格的数学语言为基础来清晰无二义性地讨论一致性的概念和方法特别是体现在ISO和ITU T共同开始的 一致性测试中的形式化方法 计划 该计划的主要目的是以协议形式化技术为基础 应用目前的形式化方法到协议一致性测试的各个阶段 如对一致性概念和测试过程的形式定义 对一致性测试集和测试例的形式描述以及基于形式规范的测试生成的定义等方面 12 一致性测试 发展概况 Cont 近几年来 随着计算机网络技术 特别是因特网的不断发展 人们发现以前基于传统的OSI模型的对等协议测试的理论已经不能适应实践的需要 因此需要进行更多的理论和实践工作 如复杂的分布式系统的测试 高速网络测试和TCP IP协议测试 如路由协议的一致性测试 等 13 一致性测试 前提 一致性测试是假定了协议标准本身是正确的这一前提下进行的 虽然在进行一致性测试时可能发现协议中存在的某些问题或甚至是错误 但这并不是一致性测试的本身的目的 一致性测试的目的是希望通过这个测试可增加同一协议的不同实现之间能够互连的概率 通过一致性测试可以给用户提供两个信息 通过了一致性测试的协议实现 具有协议所要求的各种能力 在具有代表性的通信实例中 被测试的协议实现的外部特性与标准协议的要求一致 14 内容提要 概述 1 一致性测试概念 2 一致性测试方法 3 15 一致性测试要求 一 一致性测试要求 16 一致性测试要求 在协议标准中 通常包括一致性条款 规定对相关实现的一致性要求CR ConformanceRequirement 强制性要求 即在所有情况下都要进行检查的要求 有条件的要求 即在标准所规定的具体条件下必须满足的要求 任选的要求 即为协调实现而可以选择的要求 禁止的要求 在标准中还要规定出什么事情是禁止做的 可以将上述一致性要求划分为两组 动态一致性要求静态一致性要求 17 动态一致性要求DCR DCR 能够决定一个标准所允许的可能的行为 或行为集 的要求 包括可选的 DCR隐式定义了与协议使用有关的最大一组能力 一个具体的系统若与某一标准动态地一致 则这个系统的行为就应当是该标准所允许的全部行为集合中的一个成员 动态一致性要求常用动词 将 描述 例如 当收到一个XYZPDU时 接收端将发送一个ABCPDU 18 静态一致性要求SCR SCR 为了最大限度地实现系统之间的互连 必须将各种要求加以分类 例如对所有实现的强制性要求 有条件或任选的要求等 形成的约束 定义各类协议子集的内容 即协议实现者欲实现某类协议所必须包括的内容 定义PDU的最大长度 各种协议参数 变量 计时器的取值范围等等 SCR是促进互通而允许的最小实现能力 19 DCR和SCR 由此可见 动态一致性是指协议规范中规定的通信实例中的协议实现所必须呈现的外部特性的组合或允许的各种选择性组合 而静态一致性是指协议规范中为使协议实现能够互连而定义的功有类别 功能单元的分组以及选择性功能等等 20 一致性测试要求 选项 由于选项要求给协议实现者留下了选择的余地 必须要有一个关于已实现的能力和选项的说明 从而对照相关要求对该实现进行一致性测试 这个说明就是协议一致性陈述PICS ProtocolImplementationConformanceStatement 为测试一个协议的实现 测试实验室除了需要由PICS提供的信息外 还需要与IUT和它的测试环境的信息 即协议实现额外信息PIXIT ProtocolImplementeXtraInformationStatement 它作为抽象测试集的一部分提出 这些要求往往使用表格形式来描述 21 22 23 24 一致性系统 上述一致性要求必须精确地 无二义性地被描述 这当然也要用到我们前面介绍的形式描述技术 我们将同时满足静态和动态一致性要求 并且符合PICS中陈述的能力的系统或实现称为一致性系统 25 一致性测试级别 二 一致性测试级别 26 一致性测试级别 为什么要将一致性测试分级 一致性测试的主要目的是提高不同系统之间能够互通的概率 虽然一致性是保证互通能力的必须条件 但并不是充分条件 如果两个实现都能与某个协议标准的子集相一致 则这两个系统之间在些情况下互通要比在其它情况下互通容易实现 所以为了实现互通 应对系统的PICS进行比较 特别是协议标准的不同任选能力上 实际的限制和经济上的考虑使得人们不能进行穷举测试 ISO9646将协议一致性测试分为四级 由低到高分别为基本互连测试 能力测试 行为测试 一致性分解测试 27 基本互连测试 对协议中的主要特征进行有限的测试 以确定被测对象是否有足够的标准化程序实现初步互连 基本互连测试旨在检查IUT是否具备进一步测试的条件 是否有最小的连接能力 能否接收和发送数据 28 能力测试 capabilitytest 将被测对象进行有限的静态一致性测试 以确定被测对象可观察到的能力 将观察到的结果与被测对象的PICS比较 确定是否相符 29 行为测试 behaviourtest 按协议中动态一致性要求在实际通信状态下进行周密的测试 这是花时间最多且最为重要的测试 如果测试结果未发现不一致性 则本测试与上面的能力测试的结果一道 可用作宣布被测对象与相应协议一致的根据 也可作为用户购买该产品的主要依据 行为测试可分为两级 覆盖性测试 comprehensivetesting 只要求测试序列历经IUT的所有转换至少一次就可以穷尽性测试 exhausivetesting 要求检查每个转换的前后状态 30 行为测试 behaviourtest IUT的行为测试又分为三大组 IUT对合法行为的响应 测试序列以及测试数据符合协议规范 IUT对语法上不合法行为的响应 测试序列符合协议规范 但测试数据是不合法的 IUT对不合适事件的响应 不合适事件为异常事件 对协议规范来说 它是不合法的 每个大组又可分为许多小组 如 连接建立阶段 数据传送阶段 连接释放阶段等 每个小组的测试目的可能要由多个测试序列来实现 31 一致性分解测试 conformanceresolutiontest 当其它测试不能确定一致性但又可能存在问题时 可在小范围内再进行测试 以判定被测试对象是否满足某种特定的要求 因此 也称为 定向诊断测试 这种测试是非标准化的 一致性分解测试要求测试执行系统对一致性要求逐项地给出yes no的肯定回答 例如 IUT实现了第2类协议吗 因此又可将一致性分解测试称为 一致性判定测试 32 一致性测试模型 三 一致性测试模型 33 一致性测试模型 ISO建议的协议一致性测试模型如图所示 n 1 ServiceProvider LT PCO IUT n PDU n 1 ASP PCO CI UT 被测对象 UT UpperTester 是上测试器 上层测试软件或硬件 是对IUT的上服务边界进行控制和观察所提供的手段 LT LowerTester 是下测试器 下层测试软件或硬件 是在测试执行期间 为了经下层服务提供者而对IUT的下服务边界进行间接控制和观察所提供的手段 34 一致性测试模型 ISO建议的协议一致性测试模型如图所示 n 1 ServiceProvider LT PCO IUT n PDU n 1 ASP PCO CI UT 如果IUT是n层协议实体 那么UT属于 n 1 层 LT属于n层 LT和IUT为同层协议实体 UT通过控制观察点PCO PointofControlandObservation 和IUT交换n层的抽象服务原语 n ASP AbstractServicePrimitives LT通过PCO和IUT交换 n 1 层的ASP 35 一致性测试模型 ISO建议的协议一致性测试模型如图所示 n 1 ServiceProvider LT PCO IUT n PDU n 1 ASP PCO CI UT 通过IUT内协议的PDU和上下界面的ASPs来观测协议行为 通过IUT内协议的PDU和上下界面的ASPs来观测协议行为 通过IUT内协议的PDU和上下界面的ASPs来观测协议行为 36 PCOs PCO由下列三种因素标识 IUT内对测试事件进行控制与观察的服务边界 在该点进行控制和观察的一组测试事件 ASPs或PDUs 对这些测试事件的控制和观察是在SUT内还是在测试系统中 如果IUT是运输层协议实体 那么 n ASP就是运输服务原语TSP TransportServicePrimitives UT使用的PCO就是运输服务访问点TSAP n 1 ASP就是网络服务原语NSP NetworkServicePrimitives LT使用的PCO就是网络服务访问点NSAP 37 协调测试过程 为了完成测试 上测试器和下测试器之间需要合作 交换一些协同信息以解决测试的同步和控制问题 这种合作称为测试协调过程 在图中 LT和IUT通过 n 1 层服务交换 n 1 ASP 而UT和LT利用 n 1 层提供的另外一条通道交换协同信息CI CoordinatedInformation 测试的主控者可以是UT 也可以是LT 但一般都是LT 38 一致性测试模型 ISO建议的协议一致性测试模型如图所示 n 1 ServiceProvider LT PCO IUT n PDU n 1 ASP PCO CI UT UT和LT利用 n 1 层提供的另外一条通道交换协同信息CI CoordinatedInformation LT和IUT通过 n 1 层服务交换 n 1 ASP 39 模型的工作过程 Example 检测IUT是否具有正常的连接能力 假定UT为测试的主控者 的例子 UT向IUT发连接请求服务原语CONNECT request UT通知LT 已启动连接测试 LT从IUT接收连接请求报文CONNECTreq 如果CONNECTreq合法 LT向IUT发送接受连接请求报文CONNECTaccept LT通知UT 正确收到连接请求报文 已发出CONNECTaccept报文 UT从IUT接收连接指示服务原语CONNECT indication 并分析有关信息作出IUT是否有正常连接能力的判决 verdict 40 并发一致性测试模型 41 一致性测试流程 四 一致性测试流程 42 标准协议规范 动态一致性要求 静态一致性要求 PICS调查表 测试目的 通用测试集 标准测试方法 测试符号 协议实现 IUT PICS PIXIT 标准化的抽象测试集 测试选择 测试实现 可执行的测试集 PIXIT调查表 静态一致性审查 测试执行 结果分析 测试报告 证书 1 确定测试目的 一致性测试者根据协议规范 服务规范确定测试目的 2 测试集 TestSuite 生成 根据协议规范 服务规范以及测试目的生成并描述测试集 这一步生成的测试集 通常是抽象测试集 因为它是独立于所有的协议实现的 测试集的生成又可分解为3方面的工作 测试序列的生成 测试数据的生成 将测试序列和测试数据合起来生成并描述测试集 3 测试集实现 将抽象测试集用测试执行系统能够认识的语言描述 在这一阶段 抽象测试集中的抽象测试例被转变为在一实际的测试系统上可执行的测试例 这一步需要考虑测试环境与IUT的具体情况 4 测试执行 对被测试协议实现运行已具体化的测试例 并对IUT的外部行为响应进行观察和记录 5 结果评估 根据测试记录并参照PICS和PIXIT对IUT进行评估 并给出一致性测试报告 报告需给出一个一致性的判决 43 一致性测试要解决的主要问题 如何产生一致性测试集 即如何找到一种比较通用的 高效的产生一个给定协议实现的一致性测试集的方法 如何度量测试复盖率 如何选取最小的测试序列去检测更多的协议错误 如何描述测试以及如何评估测试结果 如果协议规范本身有错误 如不完整或有二义性 这将给协议一致性测试带来什么问题 如何处理 44 一致性测试要解决的主要问题 如何将测试序列输入到一个正在运行的协议实现中 在层次结构中 通常情况下 为测试N层协议的IUT 需要一个上层 N 1 测试器 uppertester 和一个下层 N 1 测试器 lowertester 以及协调它们产生测试序列的机制 当测试器只能通过远程网络连接访问到IUT时 如果它们之间没有一条完全可靠的通信链路 可能会使问题变得复杂 45 一致性测试流程 另一种观点 46 内容提要 概述 1 一致性测试概念 2 一致性测试方法 3 47 一致性测试方法 一致性测试方法决定了测试集的产生和描述方法 测试执行系统的结构等 ISO9646中定义了四种标准的抽象测试方法 本地测试法 LocalMehtod 分布式测试法 DistributedMethod 协调测试法 CoordinationMehtod 远程测试法 RemoteMethod 上述这几种测试法是最基本的 适于单层协议测试 有许多变种 如渡船测试法 FerryMethod 多方测试法及骑跨式 Astride 测试法等 48 本地测试法 PCO PCO IUT UT LT TCP n ASP n 1 ASP a 本地测试法 在这种方法中 LT UT IUT同处于一台机器中 测试不需要低层通信系统的支持 由于UT和LT可以在同一个程序中实现 因此 UT和LT的测试协同过程TCP TestCoordinateProcedure 比较容易实现 测试例用UT执行的服务原语和LT执行的服务原语来描述 在这里 LT相当于低层服务提供者 49 分布测试法 b 分布测试法 在这种方法中 IUT和UT处于同一台机器中 而LT则分布在其它机器中 LT和IUT之间利用 n 1 层服务交换报文 可以在线测试 与本地方法相比 LT和IUT之间的接口PCO从IUT中转换到LT中 LT相当于 n 1 层服务的使用者测试协同过程TCP隐含在测试例中 测试同步问题由UT和LT的操作者来实现 适用于本地方法的测试例必须改写后才能用于分布式测试法 50 协同测试法 c 协同测试法 协同测试法和分布式测试法的根本区别在于协同测试法引入测试管理协议TMP TestManagementProtocol 有了TMP UT和LT就通过交换TM PDU实现测试协同过程 交换TM PDU有两种方法 带内传送法 即将TM PDU作为 n ASP的用户数据传送给IUT IUT再将它传送给LT 带外传送法 即将TM PDU直接利用 n 1 层服务来传送 图 c 所示的是带内传送法 同样 分布式测试法的测试例不能用于协同测试法 51 远程测试法 c 远程测试法 这种测试方法中没有UT 因此也不存在UT和LT之间的协同问题 在这种方法中 测试例完全用 n 1 ASP描述 远程方法比较适用于被动式协议实现或服务型协议实体的测试 52 渡船测试法 n 1 服务提供者 LT IUT UT F PDU n 1 ASP n PDU a 渡船测试法 带内传送 F

温馨提示

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

评论

0/150

提交评论