《物联网的协议测试技术》由会员分享,可在线阅读,更多相关《物联网的协议测试技术(106页珍藏版)》请在金锄头文库上搜索。
1、物联网的协议测试技术物联网的协议测试技术重庆邮电大学重庆邮电大学谢昊飞谢昊飞u协议测试概述协议测试概述u协议一致性测试协议一致性测试u协议互操作测试协议互操作测试u协议性能测试协议性能测试u物联网测试物联网测试模型模型3 协议测试以软件测试技术为基础,但又有不同之处:协议测试以软件测试技术为基础,但又有不同之处:协议测试以软件测试技术为基础,但又有不同之处:协议测试以软件测试技术为基础,但又有不同之处: 1) 协议测试以协议测试以网络协议与服务规范网络协议与服务规范为基础,而非软件需为基础,而非软件需求说明书;求说明书; 2) 网络层次结构形成了复杂的网络层次结构形成了复杂的测试体系测试体系测
2、试体系测试体系; 3) 除软件测试的概念外,强调除软件测试的概念外,强调协议测试协议测试协议测试协议测试概念概念概念概念:性能测试:性能测试:性能测试:性能测试Performance Testing、一致性测试、一致性测试、一致性测试、一致性测试Conformance Testing、互操作测试、互操作测试、互操作测试、互操作测试Interoperability Testing,鲁鲁棒性棒性棒性棒性测试测试。 根据测试对象不同,协议测试有单品测试,系统测试;根据测试对象不同,协议测试有单品测试,系统测试;系统测试又分端系统测试,中继系统测试等分类。系统测试又分端系统测试,中继系统测试等分类。
3、4关于协议测试的理解:关于协议测试的理解:关于协议测试的理解:关于协议测试的理解:1)同软件测试一样,协议测试不能保证通过测试的设)同软件测试一样,协议测试不能保证通过测试的设备没有错误与故障,更不能因此证明通过测试的设备内部备没有错误与故障,更不能因此证明通过测试的设备内部协议本身的正确性。协议本身的正确性。 协议的正确性验证属于协议工程的研究内容,需要形式协议的正确性验证属于协议工程的研究内容,需要形式化化(Formal)的协议验证的协议验证(Protocol Verification)技术和工具来技术和工具来完成。完成。2)协议测试结果受使用的测试方法、测试系统的好坏、)协议测试结果受使
4、用的测试方法、测试系统的好坏、测试条件、测试控制数据的完整程度影响。测试条件、测试控制数据的完整程度影响。5协议测试概述1 1、协议测试是协议工程的一个重要组成部分。、协议测试是协议工程的一个重要组成部分。、协议测试是协议工程的一个重要组成部分。、协议测试是协议工程的一个重要组成部分。 随着网络应用的增加和随着网络应用的增加和QoS要求的提高,网络系统的复杂性要求的提高,网络系统的复杂性在协议方面体现出分布性、并发性、异步性、不稳定性和多样性,在协议方面体现出分布性、并发性、异步性、不稳定性和多样性,采用直觉方法进行协议设计,在完整性、正确性、安全性、可移采用直觉方法进行协议设计,在完整性、正
5、确性、安全性、可移植性和标准化等都难以得到保证。因此协议测试产生。植性和标准化等都难以得到保证。因此协议测试产生。 6 研究协议测试的目的是为了保证一个标准化协议的不同研究协议测试的目的是为了保证一个标准化协议的不同实现之间能够成功地进行通信。一般说来,协议标准是使实现之间能够成功地进行通信。一般说来,协议标准是使用自然语言描述的,实现人员对于协议的不同理解可能会用自然语言描述的,实现人员对于协议的不同理解可能会导致不同的协议实现,甚至出现错误的实现。即便协议实导致不同的协议实现,甚至出现错误的实现。即便协议实现正确,也不能保证不同的实现彼此之间能够准确无误地现正确,也不能保证不同的实现彼此之
6、间能够准确无误地通信,而且同一协议的不同实现其性能也有差别。通信,而且同一协议的不同实现其性能也有差别。 因此,需要一种有效的方法来对因此,需要一种有效的方法来对协议实现协议实现协议实现协议实现进行判别,以进行判别,以验证验证协议实现协议实现与与协议标准协议标准之间、协议实现与协议实现之间之间、协议实现与协议实现之间的等价性,这就是的等价性,这就是”协议测试协议测试协议测试协议测试”。2 2、协议测试的目的协议测试的目的7 协议测试是用测试的方法执行一组目的明确的测试用协议测试是用测试的方法执行一组目的明确的测试用例,进而观察例,进而观察被测实现被测实现被测实现被测实现(IUTIUT:Impl
7、ementation Under Test)的输出行为,并分析测试结果,对协议实现进行评)的输出行为,并分析测试结果,对协议实现进行评价,判断价,判断IUT的功能或性能是否满足协议或用户的规定。的功能或性能是否满足协议或用户的规定。 协议测试是一种黑盒测试协议测试是一种黑盒测试,它依据协议标准来控制观察,它依据协议标准来控制观察被测试协议实现的外部行为,而后对被测协议实现进行测被测试协议实现的外部行为,而后对被测协议实现进行测试。试。8 协议测试主要有四种:一致性测试、性能测试、互操作协议测试主要有四种:一致性测试、性能测试、互操作性测试、鲁棒性测试。性测试、鲁棒性测试。 (1) 一致性测试一
8、致性测试(Conformance Testing): 一致性测试一致性测试是协议测试的基础,用于检测所实现的系统是协议测试的基础,用于检测所实现的系统(IUT)与协议与协议现范描述的符合程度;现范描述的符合程度; (2) 性能测试性能测试(Performance Testing): 检测检测协议实体协议实体协议实体协议实体或系统的性能指标或系统的性能指标或系统的性能指标或系统的性能指标(数据传输率、联接时问、执行速度。吞数据传输率、联接时问、执行速度。吞吐量、井发度等吐量、井发度等)。性能测试是用实验的方法来观测被测协。性能测试是用实验的方法来观测被测协议实现的各种性能参数,如吞吐量和传输延迟
9、等等,其结议实现的各种性能参数,如吞吐量和传输延迟等等,其结果往往与输入负载有关。果往往与输入负载有关。3 3、协议测试的内容协议测试的内容9 (2) 互操作性测试互操作性测试(Interoperability Testing): 检测检测同一协议的不同实现版本之间、同一协议的不同实现版本之间、同一类同一类同一类同一类协议协议(电子邮件协电子邮件协议议X.400和和SMTP)不同实现版本之间互通能力和互连操不同实现版本之间互通能力和互连操作能力;作能力; (3) 鲁棒性测试鲁棒性测试(Robustness Testing): 检测协议实体检测协议实体或系统在各种恶劣环境下运行的能力或系统在各种
10、恶劣环境下运行的能力(信道被切断、掉电、信道被切断、掉电、注入干扰报文等注入干扰报文等)。104 4、协议测试的基础知识协议测试的基础知识Layer N EntitiesLayer N EntitiesLayer N ProtocolN-PDUN-PDUN-Service PrimitiveN-Service Primitive(N-1)-Service Primitive(N-1)-Service Primitive(N)-SAP (Service Access (N)-SAP (Service Access Point)Point)(N-1)-SAP (Service Access Poi
11、nt)(N-1)-SAP (Service Access Point)1 1)OSI/RMOSI/RM体系结构的基本概念:体系结构的基本概念:体系结构的基本概念:体系结构的基本概念: 协议协议(Protocol);服务;服务(Service);SAP (Service Access Point);抽象服务原语;抽象服务原语(Abstract Service Primitive);PDU (Protocol Data Unit);SDU (Service Data Unit) ; N-PDU=(N-1)SDUN-PDU=(N-1)SDU112 2)服务原语的概念)服务原语的概念)服务原语的概念)
12、服务原语的概念 服服务务原原语语(Primitive)用用来来描描述述某某层层提提供供服服务务的的方方法法,并并规规定定通通过过服服务务访访问问点点SAP所所必必需需传传递递的的信信息息,供供服服务务用用户户访访问问该该服服务务。ISO/OSI定定义义的的服务原语划分服务原语划分四种类型四种类型: Request: 服服务务用用户户向向服服务务提提供供者者请请求求特特定定的的服服务务。如如建建立立连连接接,发发送数据,结束连接等请求。送数据,结束连接等请求。 Indication: 服服务务提提供供者者向向服服务务用用户户提提示示某某种种状状态态,如如连连接接请请求求,接接收数据,连接结束等指
13、示。收数据,连接结束等指示。 Response: 服服务务用用户户响响应应先先前前的的Indication,如如接接受受连连接接的的Indication。 Confirmation: 服务提供者报告先前请求成功否。服务提供者报告先前请求成功否。 原原语语通通知知服服务务提提供供者者采采取取某某些些行行动动(Request和和Response),或或报报告告某某对对等实体已采取的行动等实体已采取的行动(Indication 和和Confirm)。12 “状态变迁图状态变迁图状态变迁图状态变迁图”可以描述在服务访问点可以描述在服务访问点SAP的服务原语的服务原语交换关系和协议实体状态变迁关系;交换
14、关系和协议实体状态变迁关系; OSI/RM对单层对单层/多层实体的行为多层实体的行为(Action/Behavior)的描的描述,是通过在特定的协议状态述,是通过在特定的协议状态(Protocol state)下,内部事下,内部事件件(Event)(例如:某时钟超时例如:某时钟超时)与外部事件与外部事件(收到上下服务收到上下服务界面原语、协议数据单元界面原语、协议数据单元-PDU)和和内外部行动内外部行动及协议状态及协议状态来描述。来描述。3 3)状态变迁图)状态变迁图)状态变迁图)状态变迁图1314Event/ActionEvent/ActionN-Connect Confirm/Call
15、ConnectedN-Connect Request/Call Request 初始状态初始状态(S0)连接建立连接建立等待状态等待状态(S1)数据传输数据传输状态状态(S2)15协议一致性测试1 1 一致性测试的概念一致性测试的概念2 2 一致性测试原理一致性测试原理(ISO/IEC9646)(ISO/IEC9646)3 3 一致性测试方法一致性测试方法( (端系统和中继系统端系统和中继系统) )4 4 抽象测试集抽象测试集(ATS)(ATS)5 5 一致性测试流程一致性测试流程16 协议的一致性测试是一种协议的一致性测试是一种功能性的黑盒测试功能性的黑盒测试功能性的黑盒测试功能性的黑盒测试
16、,它根据协,它根据协议的议的标准文本描述标准文本描述标准文本描述标准文本描述对协议的某个实现进行测试,以判别此对协议的某个实现进行测试,以判别此实现与所对应的协议标准是否一致。实现与所对应的协议标准是否一致。 协议一致性测试实质上是利用协议一致性测试实质上是利用一组测试序列一组测试序列一组测试序列一组测试序列,在一定的,在一定的网络环境下,对网络环境下,对被测实现被测实现被测实现被测实现(IUT)(IUT)进行黑盒测试,通过比较进行黑盒测试,通过比较IUT的实际输出与预期输出的异同,判定的实际输出与预期输出的异同,判定IUT在多大程度在多大程度上与协议标准描述相一致,以确定通过一致性测试的上与
17、协议标准描述相一致,以确定通过一致性测试的IUT在互联时成功率的高低。在互联时成功率的高低。 1 一致性测试概念17 一致性测试是一致性测试是一致性测试是一致性测试是协议测试的基础协议测试的基础协议测试的基础协议测试的基础,只有符合协议规范的协,只有符合协议规范的协议实现才有效。随着计算机网络技术和应用的发展,网络议实现才有效。随着计算机网络技术和应用的发展,网络协议日益趋向复杂,一致性测试是保证协议实现质量的一协议日益趋向复杂,一致性测试是保证协议实现质量的一个必需而且十分重要的手段。个必需而且十分重要的手段。 一致性测试是协议测试技术的研究重点一致性测试是协议测试技术的研究重点一致性测试是
18、协议测试技术的研究重点一致性测试是协议测试技术的研究重点。目前一致性测。目前一致性测试已不仅是产品开发研制过程中一个简单的支撑过程,而试已不仅是产品开发研制过程中一个简单的支撑过程,而且发展成为网络技术的一个重要分支。对一致性测试的研且发展成为网络技术的一个重要分支。对一致性测试的研究将直接影响到网络技术的进步和网络市场的竞争与发展。究将直接影响到网络技术的进步和网络市场的竞争与发展。因此吸引了众多研究机构投入了大量的人力物力从事这一因此吸引了众多研究机构投入了大量的人力物力从事这一方面的研究和实践工作,已经取得了一定的成果。方面的研究和实践工作,已经取得了一定的成果。182 一致性测试原理1
19、、一致性测试标准:、一致性测试标准:ISO/IEC9646 协议一致性测试技术经过十几年的发展,在许多方面协议一致性测试技术经过十几年的发展,在许多方面取得了很大的进展。取得了很大的进展。90年代年代ISO制定了一套国际标准制定了一套国际标准ISO/IEC9646(CMTF:CMTF: 一致性测试方法和框架一致性测试方法和框架),该标,该标准描述了一个通用的方法学,用以测试一个声称实现了某准描述了一个通用的方法学,用以测试一个声称实现了某一协议的产品与相应的协议标准的一致性。我国工信部也一协议的产品与相应的协议标准的一致性。我国工信部也制订了部分一致性测试标准制订了部分一致性测试标准(YD/T
20、 1251)(YD/T 1251)。 ISO/IEC9646为协议一致性测试提供了基本方法和框为协议一致性测试提供了基本方法和框架,为测试集制定了设计步骤和描述方法。架,为测试集制定了设计步骤和描述方法。ISO/IEC9646包括七个部分包括七个部分:19uISO/IEC 9646-1 基本概念基本概念(General concepts)uISO/IEC 9646-2 抽象测试集规范抽象测试集规范抽象测试集规范抽象测试集规范(ATS: Abstract Test Suite Specification)uISO/IEC 9646-3 树表结合表示符号语言树表结合表示符号语言树表结合表示符号语言
21、树表结合表示符号语言(TTCN: Tree and Tabular Combined Notation) uISO/IEC 9646-4 测试实现测试实现测试实现测试实现(Test Realization) uISO/IEC 9646-5 一致性判定过程对测试实验室和客户的要求一致性判定过程对测试实验室和客户的要求(Requirements on Test Laboratories and Clients for the Conformance Assessment Process)uISO/IEC 9646-6 协议子集测试规范协议子集测试规范( Protocol Profile Test
22、Specification) uISO/IEC 9646-7 协议实现一致性声明协议实现一致性声明 (Implementation Conformance Statements) ISO/IEC9646ISO/IEC9646内容内容 CTMFCTMF (Conformance Testing (Conformance Testing Methodology and Framework)Methodology and Framework)20 在在ISO/IEC9646中,一致性的协议实现中,一致性的协议实现(IUT)应该满应该满足所有在协议规范中显式表达的一致性要求,而一致性要足所有在协议规范
23、中显式表达的一致性要求,而一致性要求规定了一个一致性的协议实现应该做什么,不应该做什求规定了一个一致性的协议实现应该做什么,不应该做什么。通常协议规范的要求可以分为三类:么。通常协议规范的要求可以分为三类: (1) 必备要求:必备要求:要求在所有的实现中都是可观察到的;要求在所有的实现中都是可观察到的; (2) 条件要求:条件要求:只有当标准中的特殊条件满足时才可观只有当标准中的特殊条件满足时才可观察到;察到; (3) (3) 选择要求:选择要求:选择要求:选择要求:为协调实现而可以选择的要求,由实现为协调实现而可以选择的要求,由实现者来选择。者来选择。2 2、协议的一致性要求、协议的一致性要
24、求、协议的一致性要求、协议的一致性要求21 由于大量可选功能实现的存在,不同的协议实现者对同由于大量可选功能实现的存在,不同的协议实现者对同一协议标准的各个实现的功能可能不完全一致,有些可选一协议标准的各个实现的功能可能不完全一致,有些可选功能既可实现,也可不实现。因此功能既可实现,也可不实现。因此协议实现者协议实现者应向测试方应向测试方提供提供协议实现一致性声明协议实现一致性声明协议实现一致性声明协议实现一致性声明(PICS)(PICS),说明所有己实现的功能,说明所有己实现的功能,从而使得测试人员知道需要进行何种测试。从而使得测试人员知道需要进行何种测试。 测试实验室除了由测试实验室除了由
25、PICS提供的信息外,还需提供的信息外,还需IUT和其测和其测试环境相关的信息,即试环境相关的信息,即协议实现附加说明协议实现附加说明协议实现附加说明协议实现附加说明(PIXIT, Protocol Implementation Extra Information Statement)。在。在PIXIT中提供了测试时必须标明的协议参数,它作为测试集的一中提供了测试时必须标明的协议参数,它作为测试集的一部分提出。部分提出。协议实现一致性声明协议实现一致性声明协议实现一致性声明协议实现一致性声明(PICS(PICS,Protocol Implement Conformance Statements
26、)Protocol Implement Conformance Statements)22 因而在协议标准中定义的因而在协议标准中定义的一致性测试要求分为两组一致性测试要求分为两组一致性测试要求分为两组一致性测试要求分为两组: (1) 静态一致性要求:静态一致性要求:规定了网络互连所规定的最小能力和对规定了网络互连所规定的最小能力和对可选功能进行选择时应遵从的约束。它规定了一个协议实现所可选功能进行选择时应遵从的约束。它规定了一个协议实现所应提供的最低功能及不同可选功能之间的组合性与一致性。应提供的最低功能及不同可选功能之间的组合性与一致性。 (2) 动态一致性要求:动态一致性要求:构成协议标
27、准的主体,它定义了协议构成协议标准的主体,它定义了协议实现和外部环境进行通信时的全部可观察行为。实现和外部环境进行通信时的全部可观察行为。 因此,对应一致性测试包括因此,对应一致性测试包括静态测试和动态测试静态测试和动态测试静态测试和动态测试静态测试和动态测试两类。两类。 (1) 静态一致性测试是将协议实现者向测试方提供的静态一致性测试是将协议实现者向测试方提供的“协议实协议实现一致性声明现一致性声明PICS”与协议规范中的静态一致性要求与协议规范中的静态一致性要求相比较相比较相比较相比较; (2) 动态一致性测试就是动态一致性测试就是运行测试集运行测试集运行测试集运行测试集对对IUT进行测试
28、。进行测试。233 3、协议测试级别、协议测试级别、协议测试级别、协议测试级别 协议测试和其他测试一样,一般要分级进行或者说由单协议测试和其他测试一样,一般要分级进行或者说由单元测试到集成测试再到系统测试。针对协议实现的层次结元测试到集成测试再到系统测试。针对协议实现的层次结构,构,ISO 9646标准建议了四个协议测试级别:标准建议了四个协议测试级别: 基本连接测试基本连接测试(Basic Interconnection Test),能力,能力测试测试(Capability Test),行为测试,行为测试(Behavior Test),一致性分解测试一致性分解测试(Conformance R
29、esolution Test)。 (1) 基本连接测试基本连接测试是检查是检查IUT是否有最小连接能力,能是否有最小连接能力,能否接收和发送数据,否接收和发送数据, 从而具备进一步测试的条件。从而具备进一步测试的条件。24 (2) 能力测试能力测试是检查是检查IUT是否符合静态一致性要求。是否符合静态一致性要求。 (3) 行为测试行为测试是检查是检查IUT是否符合动态一致性要求,它是否符合动态一致性要求,它有分两级:覆盖性测试有分两级:覆盖性测试(Comprehensive Testing)和穷和穷尽性测试尽性测试(Exhaustive Testing)。覆盖性测试要求测试。覆盖性测试要求测试
30、序列至少执行序列至少执行IUT的所有转化一次,穷尽性测试要求检查的所有转化一次,穷尽性测试要求检查每个转换的前后状态的一致性。每个转换的前后状态的一致性。 (4) 一致性分解测试一致性分解测试要求测试执行系统对一致性要求逐要求测试执行系统对一致性要求逐项给出判决。由于行为测试比较复杂,涉及面广,因此项给出判决。由于行为测试比较复杂,涉及面广,因此CTMF建议又将它进一步分解为多个层面。建议又将它进一步分解为多个层面。25 IUT的行为测试分成的行为测试分成B, C, D三大组,每个大组又分为三大组,每个大组又分为许多小组许多小组(连接建立,数据传输,连接释放连接建立,数据传输,连接释放连接建立
31、,数据传输,连接释放连接建立,数据传输,连接释放)。每个小组的。每个小组的测试目的可能要由多个测试序列测试目的可能要由多个测试序列(例例)来实现。下面列出这来实现。下面列出这些组的测试要求。些组的测试要求。 B组组(IUT对合法行为的响应对合法行为的响应):测试序列及测试数据根:测试序列及测试数据根据协议规范是合法的;据协议规范是合法的; C组组(IUT对语法上不合法行为的响应对语法上不合法行为的响应):测试序列根据测试序列根据协议规范是合法的,测试数据不合法;协议规范是合法的,测试数据不合法; D组组(IUT对不合法事件的响应对不合法事件的响应):异常事件,对协议规:异常事件,对协议规范不合
32、法。范不合法。264 4、一致性测试系统结构模型、一致性测试系统结构模型、一致性测试系统结构模型、一致性测试系统结构模型 在一致性测试中,一个被测对象在一致性测试中,一个被测对象IUT是一个是一个OSI协议实协议实体的实现,体的实现,IUT所在的系统称为所在的系统称为被测系统被测系统被测系统被测系统(SUT(SUT, System Under Test)。 控制观察点控制观察点控制观察点控制观察点(PCO(PCO, Points of Control and Observation)是测试系统和是测试系统和IUT之间的通信点。测试系之间的通信点。测试系统通过统通过PCO访问访问IUT,既可对,
33、既可对IUT进行通信初始化,也可进行通信初始化,也可观察通信结果。观察通信结果。 Tester和和IUT的控制观察点的控制观察点(PCO)一般定义在相邻层次一般定义在相邻层次的的服务访问点服务访问点服务访问点服务访问点SAPSAP上。上。27单层单层/ /多层多层协议实现协议实现下服务访下服务访问点问点SAPSAP上服务访上服务访问点问点SAPSAP单层单层/ /多层多层协议实现协议实现服务访问服务访问点点SAPSAP测试系统测试系统被测系统被测系统图图2 2 对对( (单层或多层单层或多层) )协议实现的观察点协议实现的观察点PCOPCO28图图图图3 3 一致性测试系统结构模型一致性测试系
34、统结构模型一致性测试系统结构模型一致性测试系统结构模型( (抽象测试系统模型抽象测试系统模型抽象测试系统模型抽象测试系统模型) )IUT 被测实现被测实现SUT 被测系统被测系统LT 下测试器下测试器UT 上测试器上测试器PCO PCO 控制观测点控制观测点控制观测点控制观测点SAP 服务访问点服务访问点TCP 测试协调过程测试协调过程ASP 抽象服务原语抽象服务原语PDU 协议数据单元协议数据单元 图图图图3 3展示了展示了展示了展示了ISO/IEC9646ISO/IEC9646定义的、基于定义的、基于定义的、基于定义的、基于OSIOSI层次模型的协议一致层次模型的协议一致层次模型的协议一致
35、层次模型的协议一致性测试系统结构模型性测试系统结构模型性测试系统结构模型性测试系统结构模型和和和和一致性测试中的一些概念。一致性测试中的一些概念。一致性测试中的一些概念。一致性测试中的一些概念。29 上层测试器上层测试器(UT,Upper Tester)和下层测试器和下层测试器(LT,Lower Tester),分别位于,分别位于IUT的上侧和下侧的上侧和下侧PCO,通过,通过PCO对对IUT进行控制和观察。通常,进行控制和观察。通常,LT是远程可访问接口,是远程可访问接口,因此因此IUT定义一个定义一个远端的远端的远端的远端的PCOPCO,即下层接口被设置在远端。,即下层接口被设置在远端。通
36、信被认为是异步通信,所以在每一个通信被认为是异步通信,所以在每一个PCO都对应两个都对应两个FIFO队列队列(输入输入/输出输出)。 在在CTMF中,严格区分上层测试功能和下层测试功能,中,严格区分上层测试功能和下层测试功能,IUT的上层测试由的上层测试由UT控制控制,下层测试由,下层测试由LT控制控制。在测试过程。在测试过程中,中,UT扮演一个用户来使用扮演一个用户来使用IUT提供的功能,而提供的功能,而LT则模仿一则模仿一个个IUT下层的通信实体,也就是说,下层的通信实体,也就是说,UT与与LT的交互是通过的交互是通过IUT来实现的。来实现的。30 IUT和和UT、LT之间通过抽象服务原语
37、之间通过抽象服务原语(ASP,Abstract Service Primitives)进行通信。概念上看,进行通信。概念上看,LT和和IUT通过协议数通过协议数据单元据单元(PDU)交换数据;实际上,交换数据;实际上,PDU采用采用ASP对基本服务动作对基本服务动作进行编码,即进行编码,即PDU不是直接进行交互,而是根据不是直接进行交互,而是根据PDU的编码进的编码进行交互,即在一个抽象测试中使用行交互,即在一个抽象测试中使用PDU进行交换,所以进行交换,所以ASP与与PDU不再加以区分。不再加以区分。 测试协调过程测试协调过程TCP(TCP,Test Coordination Procedu
38、res)负责负责协调协调LT和和UT的动作,这在的动作,这在LT和和UT是两个独立的过程时十分必是两个独立的过程时十分必要。图要。图3中仅表现了一致性测试方法框架的概念结构,实际中的中仅表现了一致性测试方法框架的概念结构,实际中的测试系统可根据采用的测试方法的不同有相应的变化。测试系统可根据采用的测试方法的不同有相应的变化。31一致性测试一致性测试一致性测试一致性测试-抽象测试系统模型抽象测试系统模型抽象测试系统模型抽象测试系统模型抽象测试系统模型简化抽象测试系统模型简化抽象测试系统模型简化抽象测试系统模型简化32 图图4是一个基于是一个基于CTMF的的IUTIUT测试状态变迁图测试状态变迁图
39、测试状态变迁图测试状态变迁图。 一个一个IUT首先由测试用例的触发条件激活,并从稳定状首先由测试用例的触发条件激活,并从稳定状态进入到被测状态;经过测试用例在测试体中运行,进行态进入到被测状态;经过测试用例在测试体中运行,进行测试结束状态;测试结束状态; 如果执行的结果不相同,则需要经检查过程分析结果中如果执行的结果不相同,则需要经检查过程分析结果中存在的问题,从而进入验证状态;根据检查结果提出反馈,存在的问题,从而进入验证状态;根据检查结果提出反馈,进入下一轮的测试阶段。如果测试用例的结束状态相同,进入下一轮的测试阶段。如果测试用例的结束状态相同,则直接进入稳定状态,等待下一次测试过程。则直
40、接进入稳定状态,等待下一次测试过程。5 5、IUTIUT测试状态变迁图测试状态变迁图测试状态变迁图测试状态变迁图33图图4 IUT测试状态变迁图测试状态变迁图343 一致性测试方法 抽象测试模型抽象测试模型抽象测试模型抽象测试模型描述由描述由LT、UT和和TCP组成的抽象测试结组成的抽象测试结构以及它们与测试系统和构以及它们与测试系统和SUT的关系组成。一致性测试使的关系组成。一致性测试使用在用在PCO对被测实现的层间对被测实现的层间ASP和和PDU进行控制和观察。进行控制和观察。 根据被测对象不同,一致性测试的抽象测试方法分为两根据被测对象不同,一致性测试的抽象测试方法分为两大类:大类:端系
41、统的抽象测试法端系统的抽象测试法端系统的抽象测试法端系统的抽象测试法和和中继系统的抽象测试法中继系统的抽象测试法中继系统的抽象测试法中继系统的抽象测试法。抽象测试模型抽象测试模型抽象测试模型抽象测试模型35 ISO/IEC9646根据根据Tester和和IUT的控制观察点的不同的控制观察点的不同组合,将端系统抽象测试方法分为组合,将端系统抽象测试方法分为本地测试法本地测试法本地测试法本地测试法(Location)(Location)和外部测试法和外部测试法和外部测试法和外部测试法(External)(External)。 本地测试法本地测试法适合于在产品内部测试;适合于在产品内部测试;外部测试
42、法外部测试法(所谓外所谓外部是针对部是针对IUT来讲来讲)适合于远程的第三方测试,又可分为分适合于远程的第三方测试,又可分为分布测试法布测试法(Distributed test)、协同测试法、协同测试法(Coordinated test)和远程测试法和远程测试法(Remote test)三种。三种。这三种外部测试法假定在这三种外部测试法假定在IUT的下边界不存在的下边界不存在PCO。1 1、端系统、端系统、端系统、端系统IUTIUT的抽象测试方法的抽象测试方法的抽象测试方法的抽象测试方法36 该测试法与传统软件测试相对应。该测试系统中,测试该测试法与传统软件测试相对应。该测试系统中,测试执行系
43、统执行系统UT、LT和和IUT在同一系统内。其中在同一系统内。其中LT和和UT分分别对应于别对应于IUT的上下接口,作用在的上下接口,作用在IUT上下接口处,并通上下接口处,并通过交换事件来观察过交换事件来观察IUT的行为,测试协调过程的行为,测试协调过程(TCP)用于用于协调协调LT和和UT的动作的动作(图图5)。1)本地测试法)本地测试法 (LTM: Local test Method)图图图图5 5 本地测试法(本地测试法(本地测试法(本地测试法(LTMLTM)37 优点:优点:优点:优点:测试功能最强,能够全面测试测试功能最强,能够全面测试IUT对正常事件的反应对正常事件的反应和异常时
44、间的反应;上、下测试器之间同步与协调容易。和异常时间的反应;上、下测试器之间同步与协调容易。 缺点:缺点:缺点:缺点: 当无法对当无法对IUT的上下边界进行访问时,要满足测试的上下边界进行访问时,要满足测试系统与被测协议实体之间的无缝接合会有一定的难度。系统与被测协议实体之间的无缝接合会有一定的难度。 被测协议在和上层协议及下层协议之间都需要一个被测协议在和上层协议及下层协议之间都需要一个PCO,这就要求测试者对协议系统的实现要很了解,并熟悉上下层协这就要求测试者对协议系统的实现要很了解,并熟悉上下层协议之间的交互过程,才能正确地设立控制和观察点。议之间的交互过程,才能正确地设立控制和观察点。
45、 只能作为系统开发时的内部测试系统使用,工作量大。难只能作为系统开发时的内部测试系统使用,工作量大。难以作为第三方测试的使用技术。以作为第三方测试的使用技术。 ?能否简化?能否将测试器移出被测系统?能否简化?能否将测试器移出被测系统?38 分布式测试方法对应的结构中分布式测试方法对应的结构中IUT 和和UT 处理同一台机处理同一台机器中,而器中,而LT分布在其他的若干台机器中,如图分布在其他的若干台机器中,如图6所示。所示。LT和和IUT借助于借助于(n-1)层服务交换报文,它们之间的层服务交换报文,它们之间的PCO从从IUT转移到转移到LT中。中。2)分布测试法)分布测试法 (DTM: Di
46、stributed test Method)图图图图6 6 分布测试法分布测试法分布测试法分布测试法39 由于由于UT必须在被测系统中实现,因此必须在被测系统中实现,因此UT的实现由两部的实现由两部分组成:与测试过程控制有关部分分组成:与测试过程控制有关部分IUT接口适配器接口适配器(或称或称IUT接口部分接口部分)。下图为。下图为UT内部结构示意图:内部结构示意图:UT测试控制部件测试控制部件(即测试状态控制即测试状态控制及及UT主动测试控制数据与生成测主动测试控制数据与生成测试应答数据生成及收发)试应答数据生成及收发) IUT上界面内部服务接口适配区上界面内部服务接口适配区IUT (Imp
47、lementation Under Test)UT上测试器上测试器(UT)的内部结构与功能的内部结构与功能上测试器上测试器UT的实现问题的实现问题40 优点:优点:优点:优点:实现了系统分布,使测试效率有了很大的提高。实现了系统分布,使测试效率有了很大的提高。 缺点:缺点:缺点:缺点: 由于由于UT和和LT分布在不同的机器中通过分布在不同的机器中通过IUT间间接通信,所以接通信,所以UT和和LT之间的同步有一定困难,直接导致之间的同步有一定困难,直接导致测试执行存在难度。有人尝试提出同步测试集,就是通过测试执行存在难度。有人尝试提出同步测试集,就是通过测试集进行同步。但是由于有些协议并不是严格
48、的同步,测试集进行同步。但是由于有些协议并不是严格的同步,因此如果分布测试结构没有协同,任何一个测试集都不能因此如果分布测试结构没有协同,任何一个测试集都不能保证完整错误覆盖。保证完整错误覆盖。 由于对由于对IUT的下服务访问点只能进行间接访问,对的下服务访问点只能进行间接访问,对下界面异常情况的控制能力下降下界面异常情况的控制能力下降(较难制造异常情况较难制造异常情况)。41u为了减少在被测系统中实现的上测试器为了减少在被测系统中实现的上测试器(UT)的难度,的难度,尽量减少其复杂度,部分牺牲测试效率,将尽量减少其复杂度,部分牺牲测试效率,将LT与与UT的工的工作模式改为主从模式,作模式改为
49、主从模式,LT为主,为主,UT主要以应答为主,改主要以应答为主,改称测试应答器称测试应答器(TR -Test Responder)。u实例:美国实例:美国NBS的分布式测试系统的使用说明中特别的分布式测试系统的使用说明中特别强调,使用该测试系统必须配备异地专用通信工具强调,使用该测试系统必须配备异地专用通信工具电电话,出现问题时,通知被测系统方重新启动被测系统。话,出现问题时,通知被测系统方重新启动被测系统。 ?如何解决LT与UT间的协调同步问题?42 有时,测试者会将有时,测试者会将IUT嵌入一个复杂的系统中,但嵌入一个复杂的系统中,但UT不能放到该系统中,不能放到该系统中,这样就引入了远程
50、测试方法。该测试方法中没有这样就引入了远程测试方法。该测试方法中没有UT,因此不需要,因此不需要UT和和LT之间的协同。之间的协同。 远程方法适用于被动式协议实体或者服务型协议实体的测试。在使用这远程方法适用于被动式协议实体或者服务型协议实体的测试。在使用这种测试方法时,测试过程都是通过触发协议使之有一定的反馈或者没有特定种测试方法时,测试过程都是通过触发协议使之有一定的反馈或者没有特定的反馈来判定协议。如图的反馈来判定协议。如图7,LT和和IUT借助于借助于(n-1)层层ASP交换报文,反馈交换报文,反馈信息由信息由n层的层的(PDU)实现。实现。3)远程测试法)远程测试法 (RTM)图图图
51、图7 7 远程测试法远程测试法远程测试法远程测试法43 优点:优点:优点:优点:实现一个只有实现一个只有LT的测试系统就能够对不同系统的测试系统就能够对不同系统中的同类中的同类IUT进行测试,系统设计与实现都相对简单。进行测试,系统设计与实现都相对简单。 该测试方法对于高层的路由协议测试十分有效,并且由该测试方法对于高层的路由协议测试十分有效,并且由于它和于它和DTM一样都分布在不同的机器中,可以通过远程一样都分布在不同的机器中,可以通过远程来访问。通过这些测试方法可以建立测试中心来实现通过来访问。通过这些测试方法可以建立测试中心来实现通过公共数据网络进行协议一致性测试。公共数据网络进行协议一
52、致性测试。44 缺点:缺点:缺点:缺点: 测试能力有限:由于仅能够通过在被测系统测试能力有限:由于仅能够通过在被测系统外部与外部与IUT下服务界面上的下服务界面上的SAP间接地访问间接地访问IUT,因此只,因此只能在能在IUT下界面测试下界面测试IUT的正常协议交互情况,不能测试的正常协议交互情况,不能测试违背协议的异常情况违背协议的异常情况IUT的应答与活动情况。的应答与活动情况。 由于无上测试器,只能以由于无上测试器,只能以IUT上层协议上层协议“代替代替”。即使该实现经过测试符合相关协议,该即使该实现经过测试符合相关协议,该“上测试器上测试器”只能只能发送和对发送和对IUT的正常行为作应
53、答,不能测试的正常行为作应答,不能测试IUT上面的协上面的协议异常应答情况。议异常应答情况。 ?能否综合能否综合LTM和和RTM的优缺点,对的优缺点,对RTM进行改进进行改进?45 该方法与分布式测试方法相似该方法与分布式测试方法相似(图图8)。 两者的根本区别是协同方法引入了一个协同协议两者的根本区别是协同方法引入了一个协同协议TMP (Test Management Protocol,测试管理协议,测试管理协议),这个,这个协议用来协同或者同步协议用来协同或者同步UT和和LT。 4)协同测试法)协同测试法 (CTM: Coordinated test Method)图图图图8 8 协同测试
54、法协同测试法协同测试法协同测试法46 优点:优点:优点:优点:引入了协同协议引入了协同协议TMP,弥补了分布式测试方法,弥补了分布式测试方法中不能协同的问题。中不能协同的问题。 缺点:缺点:缺点:缺点:增加了测试系统的复杂性。协同方法测试案例增加了测试系统的复杂性。协同方法测试案例通过测试管理协议通过测试管理协议TMP的数据单元来进行协调,并且它的数据单元来进行协调,并且它不能直接使用分布式方法的测试案例。不能直接使用分布式方法的测试案例。47LTM测试功能最全面但实现困难,难以作为第测试功能最全面但实现困难,难以作为第三方测试的技术;三方测试的技术;RTM实现简单,但测试能力太实现简单,但测
55、试能力太弱,只能作被动测试弱,只能作被动测试(监测监测)或简单测试的手段;改或简单测试的手段;改进后的进后的DTM,即,即CTMCTM,功能居中,但,功能居中,但UT器的复杂器的复杂性使系统间移植有一定的难度。性使系统间移植有一定的难度。ISO定义的定义的4种抽象测试法小结种抽象测试法小结 481) 1) 对对对对ISOISO四种抽象测试法的分析四种抽象测试法的分析四种抽象测试法的分析四种抽象测试法的分析 要能够对被测协议实现进行全面的测试,就必须能够直要能够对被测协议实现进行全面的测试,就必须能够直接对接对IUT的上下服务接口进行直接的访问,直接在服务访的上下服务接口进行直接的访问,直接在服
56、务访问点注入测试控制数据和观察被测对象的应答,以此全面问点注入测试控制数据和观察被测对象的应答,以此全面评估评估IUT的协议活动是否符合相关协议标准。的协议活动是否符合相关协议标准。 而长期以来人们的认识是:要这样做就只有将全部测试而长期以来人们的认识是:要这样做就只有将全部测试系统放置在被测系统之中。系统放置在被测系统之中。 2 2、钳形渡口测试法、钳形渡口测试法、钳形渡口测试法、钳形渡口测试法(Ferry-Clip Test Method)(Ferry-Clip Test Method)49 早期的早期的“渡船测试法渡船测试法”是针对协同测试法提出来的。是针对协同测试法提出来的。图图9 用
57、渡船测试法取代协同测试法用渡船测试法取代协同测试法与与IUT支撑层支撑层的对等实体的对等实体与与IUT支撑层支撑层的对等实体的对等实体IUT的的下服务下服务访问点访问点SAPIUT (ImplementationUnder Test)被测系统被测系统下测下测试器试器 (LT)外部测试系统外部测试系统上测试器上测试器 (UT)主渡口主渡口从渡口从渡口接口适配区接口适配区上上测测试试器器收收发发的的数数据据渡船通道渡船通道IUT的的上服务上服务访问点访问点SAP2) 2) “ “渡船渡船渡船渡船” ”测试法测试法测试法测试法(Ferry Test Method)(Ferry Test Method
58、)50 “钳形渡口钳形渡口”(Ferry Clip)与用与用“钳形渡口测试法钳形渡口测试法”(Ferry-Clip Test Method)替代四种抽象测试法。替代四种抽象测试法。图图10 用钳形渡口测试法取代用钳形渡口测试法取代ISO四种测试法四种测试法下接口适配区下接口适配区与与IUT支撑层支撑层的对等实体的对等实体IUT的的下服务下服务访问点访问点SAPIUT被测系统被测系统下测试器下测试器 (LT)外部测试系统外部测试系统上测试器上测试器 (UT)主主“钳形钳形”渡口渡口从从“钳形钳形”渡口渡口上接口适配区上接口适配区上上、下下测测试试器器收收发发的的数数据据渡船通道渡船通道IUT的的
59、上服务上服务访问点访问点SAP513 3、中继系统、中继系统、中继系统、中继系统IUTIUT的抽象测试方法的抽象测试方法的抽象测试方法的抽象测试方法1) 1) 中中中中间间/ /中中中中继继系系系系统测试统测试的特点的特点的特点的特点 中中间/中中继系系统的的Conformance Testing原原则上可参上可参照端系照端系统的的测试。I/O单元的元的单层测试通常在开通常在开发阶段段进行,第三方行,第三方测试通通常不采用,原因:一是常不采用,原因:一是I/O单元分元分别涉及两涉及两组协议栈,二是,二是其大量其大量协议行行为定定义为外部可外部可观察特征。察特征。 用用户数据平台更关注其数据平台
60、更关注其转发/中中继性能指性能指标。性能指性能指标是路由器是路由器/交交换机机测试的重要的重要组成部分成部分(基准(基准(基准(基准测测试试)。52 多端口多端口间的并的并发数据流到达数据流到达规律、律、转发规律律(与路径与路径表、交表、交换表和路径算法有关表和路径算法有关)对性能影响,要求性能影响,要求测试系系统: 能能对多个多个输入、入、输出端口同出端口同时进行行测试(多点并多点并发测试控制控制)。 能能够模模拟网网络数据流的到达数据流的到达规律律(数据流生成器数据流生成器)。 能能够对多个端口多个端口间数据到达数据到达规律律进行行协调和控制和控制(测试控制控制协调)。 能能够模模拟路径路
61、径选择协议对性能的影响性能的影响(能能够对路径表施路径表施加影响加影响)。53 路由器是多个多层结构互联而成的设备,是多个输入路由器是多个多层结构互联而成的设备,是多个输入输出间的数据转发设备,出于以下的考虑,对路由器的测输出间的数据转发设备,出于以下的考虑,对路由器的测试通常不采用分层测试:试通常不采用分层测试: 标准化机构未对中继系统中继功能标准化机构未对中继系统中继功能(Relay Function)提供任何规范,而由产品生产厂家自己决定,因而对该功提供任何规范,而由产品生产厂家自己决定,因而对该功能的测试缺乏依据。例如,路由器是能的测试缺乏依据。例如,路由器是NN的转发设备,与的转发设
62、备,与传统交换层相关的协议的描述为传统交换层相关的协议的描述为11关系。关系。 尽管路由器涉及多个多层结构的实现,出于转发效率考尽管路由器涉及多个多层结构的实现,出于转发效率考虑各层间界面不清晰,很难找到可直接访问的界面。虑各层间界面不清晰,很难找到可直接访问的界面。54 从使用者的角度,更关心中继层从使用者的角度,更关心中继层PDU实际转发效率实际转发效率(也即设备性能),也即设备性能),因此可从设备外部进行观测因此可从设备外部进行观测因此可从设备外部进行观测因此可从设备外部进行观测。 ISO 9646为为Conformance test定义的定义的开放中继系统开放中继系统的抽象测试方法包括
63、两类:的抽象测试方法包括两类: 回环测试方法和穿越测试方法。回环测试方法和穿越测试方法。回环测试方法和穿越测试方法。回环测试方法和穿越测试方法。552) 2) 回环测试方法回环测试方法回环测试方法回环测试方法(Loop-back Test Method)(Loop-back Test Method) 回环测试方法回环测试方法回环测试方法回环测试方法只需要一个只需要一个测试器,但要求在被测实现测试器,但要求在被测实现的系统内部或外部链路上实的系统内部或外部链路上实现回环,而且其测试能力过现回环,而且其测试能力过于简单,因而不够实用。另于简单,因而不够实用。另外,被测中继系统只有一端外,被测中继系
64、统只有一端的行为被直接观察到,而另的行为被直接观察到,而另一端的行为不能被正确地评一端的行为不能被正确地评价。价。 56(b) 回环测试法控制观察点回环测试法控制观察点(N)-PDU测试器控测试器控制部件制部件 测试支撑层(测试支撑层(N-1N-1层服务提供者)层服务提供者) N N层协议实现层协议实现N-N-中继功能中继功能(N-1)-SAP被测路由器被测路由器(RUT) PCO测试器测试器57优点:优点:优点:优点:简单简单缺点:缺点:缺点:缺点:由于路径表在输入单元,由于测试器与路由器被测由于路径表在输入单元,由于测试器与路由器被测端口在同一子网段,查表后自动返回测试器,不能测试端口在同
65、一子网段,查表后自动返回测试器,不能测试路由器的实际转发功能。也难以测试到路径表的其他表路由器的实际转发功能。也难以测试到路径表的其他表项的正确与否。项的正确与否。回环测试法的利弊:回环测试法的利弊:58 穿越测试方法穿越测试方法穿越测试方法穿越测试方法能够测试中继能够测试中继系统的全部中继功能,但需要系统的全部中继功能,但需要至少两个测试系统至少两个测试系统至少两个测试系统至少两个测试系统。各测试系。各测试系统之间的协调是实现穿越测试统之间的协调是实现穿越测试方法的难点,穿越测试方法则方法的难点,穿越测试方法则使被测中继系统在平常的操作使被测中继系统在平常的操作模式下得到测试,在两端的行模式
66、下得到测试,在两端的行为都能够观察到。为都能够观察到。3) 3) 穿越测试方法穿越测试方法穿越测试方法穿越测试方法(TTM - Transverse Test Method)59 测试器测试器1 1测试器测试器2 2(d)(d)穿越测试法示意图穿越测试法示意图被测路由器被测路由器测试器测试器2 2测试器测试器1 1测试支撑层(测试支撑层(N-1N-1层服务提供者层服务提供者) )测试控制测试控制PCO1测试控制测试控制PCO2(N)-PDU(N)-PDU中继功能中继功能(路径选择)(路径选择)IP协议协议IP协议协议(N-1)-SAP(N-1)-SAP测试同步手段测试同步手段60 优点:优点:
67、优点:优点:能够模拟路由器一对端口间的正常工作状况,能够模拟路由器一对端口间的正常工作状况,包括中继功能;一对测试器在同一双端口测试系统中容包括中继功能;一对测试器在同一双端口测试系统中容易实现。易实现。 缺点:缺点:缺点:缺点:不能同时测试多个端口间的相互影响;尽管可不能同时测试多个端口间的相互影响;尽管可以用多个双端口测试系统性能测试同时测试,但多个双以用多个双端口测试系统性能测试同时测试,但多个双端口测试器间的同步控制困难;现代路由器端口测试器间的同步控制困难;现代路由器/交换机可能交换机可能有数十,上百个端口,很难在同一系统中实现。有数十,上百个端口,很难在同一系统中实现。穿越测试法穿
68、越测试法(Transverse Test Method)的利弊分析的利弊分析61 端系统端系统端系统端系统( (End-SystemEnd-System) ) u7/5层结构;对其测试层结构;对其测试更关注更关注Conformance。u通过对测试对象通过对测试对象(单单/多层协议实现多层协议实现)的上下服务接口的的上下服务接口的“SAP”直接直接/间间接观测进行测试。接观测进行测试。uLocal Test Method(内部直接观察控制内部直接观察控制): N-SAP(可直接访可直接访) + (N-i)-SAP(直接可访直接可访)uRemote Test Method(外部间接观察控制外部间
69、接观察控制): N-SAP(不可访不可访) + (N-i)-SAP (可间接访)可间接访)uDistributed/Coordinated Test Method (内外结合的观测控制内外结合的观测控制): N-SAP(可直接访可直接访) + (N-i)-SAP(间接可访间接可访) 下测试下测试(Lower Tester)在所有方法中都需要,即在被测系统外部在所有方法中都需要,即在被测系统外部间接观察控制被测对象间接观察控制被测对象IUT的下界面的下界面(N-i)-SAP。IUT (Implementation Under Test)N-SAP(N-i)-SAP4 4、一致性测试总结、一致性测
70、试总结、一致性测试总结、一致性测试总结62 中继中继中继中继/ /中间系统中间系统中间系统中间系统(Relay/Intermediate System)(Relay/Intermediate System)u用用户平台平台(U-Platform): 最多下三最多下三层, 测试测试更关注更关注更关注更关注PerformancePerformance。u控制管理平台控制管理平台(S&M-Platform): 7/5层,测试更关注更关注Conformance。u两个平台的两个平台的测试都采用都采用类似于似于测试端系端系统的的RTM,即通,即通过外部外部(N-i)-SAP间接接观察控制,察控制,N-S
71、AP不不观察控制察控制)。u大量使用穿越大量使用穿越测试法:法:对一一对/多多对端口端口进行行测试;回;回环测试法法因功能受限,很少用作正式因功能受限,很少用作正式测试方法。方法。 只需要下只需要下测试器器(Lower Tester)。 结论结论:所有:所有:所有:所有测试测试至少需要下至少需要下至少需要下至少需要下测试测试器!器!器!器!631 1)下)下)下)下测试测试器功能器功能器功能器功能 下下测试器与被器与被测对象在象在协议层次上的关系次上的关系u被被测协议实现(IUT)的的对等等实体,即体,即(N-i)到到N层协议的的实现。u通通过自身的自身的(N-i)-SAP间接接观察控制察控制
72、IUT的行的行为,即它需要有,即它需要有(N-i)-Service的支持。的支持。下下测试器功能需求器功能需求u下下测试器必器必须有从物理有从物理层到到(N-i)层协议的正确的正确实现(测试支撑平支撑平台台),以便利用,以便利用(N-i)层服服务传送送测试控制数据。控制数据。(测试支撑平台支撑平台)u下下测试必必须具有具有IUT对等等实体的体的协议功能,能生成功能,能生成IUT相关相关协议的的协议数据数据单元元(PDU)。(正常正常测试数据生成数据生成)5 5、下测试器、下测试器、下测试器、下测试器(LT)(LT)功能与组成功能与组成功能与组成功能与组成64u其行为必须能够支持其行为必须能够支
73、持IUT相关协议规定的正常协议行为,同时相关协议规定的正常协议行为,同时还需要根据需要生成异常情况的数据单元。还需要根据需要生成异常情况的数据单元。(测试异常情况所需测试异常情况所需测试数据的生成测试数据的生成)u如果如果IUT是多层协议实现是多层协议实现(N层至应用层层至应用层),下测试器必须具备,下测试器必须具备相应的协议功能和相应的协议功能和(N-i)-Service平台,在这种情况下,被测对平台,在这种情况下,被测对象变为多层复杂的协议组合测试控制数据的定义和测试控制过程象变为多层复杂的协议组合测试控制数据的定义和测试控制过程都较复杂,对都较复杂,对IUT各层的异常情况测试较难控制,对
74、结果的分析各层的异常情况测试较难控制,对结果的分析也更困难。也更困难。单层测试更好单层测试更好u下测试器必须具备描述测试数据和测试过程控制的功能下测试器必须具备描述测试数据和测试过程控制的功能(测试测试控制描述语言控制描述语言)和将测试控制语言描述的测试控制数据转变为测和将测试控制语言描述的测试控制数据转变为测试器可执行程序的能力试器可执行程序的能力(测试语言支撑工具测试语言支撑工具)。65u下下测试器器还需要其他需要其他测试辅助功能,包括:助功能,包括:测试过程程显示功能示功能(文字或文字或图形化形化):测试监测测试过程程记录功能:功能:Logging根据前面根据前面测试结果静果静态/动态地
75、确定下面地确定下面测试的功能:静的功能:静态/动态测试例例选择(Test Case Selection)66u测试支撑平台支撑平台(软/硬硬): Test Support Platformu测试控制数据描述控制数据描述及支撑工具:及支撑工具:Test Definition Language + Compiler/InterpreteruIUT对等等实体模体模块(正常、异常正常、异常): IUT Peeru测试控制模控制模块(测试测试集集集集执行模行模块):Test Executoru用用户(测试操作人操作人员)接口模接口模块: Test Interface Module2 2)基本功能模块)基
76、本功能模块)基本功能模块)基本功能模块67一个远程测试法一个远程测试法一个远程测试法一个远程测试法RTMRTM的的的的TesterTester系统结构系统结构系统结构系统结构684 测试集(TS)设计及执行 协议一致性测试研究工作主要集中于两方面:协议一致性测试研究工作主要集中于两方面: 测试方法的研究和测试系统的建立;测试方法的研究和测试系统的建立; 如何从理论和方法上研究并生成高质量的测试集;如何从理论和方法上研究并生成高质量的测试集;如何从理论和方法上研究并生成高质量的测试集;如何从理论和方法上研究并生成高质量的测试集; 其中,测试集其中,测试集(Test Suite)是测试的核心和主线
77、,测试是测试的核心和主线,测试系统是实现协议一致性测试的基础,两者是互相配合,互系统是实现协议一致性测试的基础,两者是互相配合,互相制约的。一个好的测试方法和测试系统,可以极大地简相制约的。一个好的测试方法和测试系统,可以极大地简化测试序列的设计,使测试能方便、自动、高效地进行;化测试序列的设计,使测试能方便、自动、高效地进行;而一个好的测试集也可以极大地减轻测试系统的负担。而一个好的测试集也可以极大地减轻测试系统的负担。69 从测试集角度看从测试集角度看从测试集角度看从测试集角度看,协议一致性测试分为,协议一致性测试分为3个阶段:个阶段: 第一阶段是测试生成。测试生成的目的是从协议描述中第一
78、阶段是测试生成。测试生成的目的是从协议描述中生成独立于协议实现的、用严格的测试表示语言描述的生成独立于协议实现的、用严格的测试表示语言描述的抽抽抽抽象测试集(象测试集(象测试集(象测试集(ATSATS); 第二阶段是测试实现,把抽象测试集中的测试例转换成第二阶段是测试实现,把抽象测试集中的测试例转换成在实际系统上在实际系统上可执行测试集(可执行测试集(可执行测试集(可执行测试集(ETSETS); 第三阶段为第三阶段为测试执行(测试执行(测试执行(测试执行(TETE),在特定的,在特定的IUT上执行上执行测测测测试用例(试用例(试用例(试用例(CaseCase),并且观察,并且观察IUT的外部行
79、为结果,最后的外部行为结果,最后对对IUT与协议说明是否一致给出判定结果。与协议说明是否一致给出判定结果。701 1、抽象测试集(、抽象测试集(、抽象测试集(、抽象测试集(ATSATS)1)ATS结构结构 测试集具有层次结构,图测试集具有层次结构,图1是测试集的结构。是测试集的结构。 每个每个测试集测试集测试集测试集(Test Suite)(Test Suite)都是针对某一被测协议的,都是针对某一被测协议的,它由多个它由多个测试组测试组测试组测试组(Test Group)(Test Group)组成;每一测试组往往是针组成;每一测试组往往是针对某一类测试意图对某一类测试意图(Test Pur
80、pose)的覆盖,比较常见的测的覆盖,比较常见的测试组划分是根据协议有限状态机试组划分是根据协议有限状态机(Finite State Machine,FSM)的的不同状态不同状态不同状态不同状态,对,对每一状态的测试意图的集合每一状态的测试意图的集合每一状态的测试意图的集合每一状态的测试意图的集合构造构造一个测试组,测试组由多个测试例组成;每一测试例是针一个测试组,测试组由多个测试例组成;每一测试例是针对某一测试意图的。对某一测试意图的。71 在一个测试集中,被嵌在一个测试集中,被嵌套测试组用来提供测试例套测试组用来提供测试例的逻辑次序,测试组可以的逻辑次序,测试组可以嵌套的深度是任意的。嵌套
81、的深度是任意的。 测试集的结构测试集的结构测试例的组成测试例的组成72 测试集中的关键是测试例。测试集中的关键是测试例。 每个测试例有其确定目标来验证每个测试例有其确定目标来验证IUT的某个确定性能,的某个确定性能,测试例的实质是通过一些测试例的实质是通过一些测试序列测试序列测试序列测试序列(Test Sequence)(Test Sequence)来实来实现对每一测试意图的判定,这些测试序列称为测试例的现对每一测试意图的判定,这些测试序列称为测试例的body部分。在开始部分。在开始body前,往往要一些前缀序列:前,往往要一些前缀序列:preamble,目的是通过这些测试序列使,目的是通过这
82、些测试序列使IUT进入某一状进入某一状态,以便执行态,以便执行body。执行。执行body后,需要验证后,需要验证IUT实现是实现是否按协议文本否按协议文本FSM的要求达到某一状态,即是否与协议一的要求达到某一状态,即是否与协议一致。判定后,可能需要执行后缀序列致。判定后,可能需要执行后缀序列postamble,将,将IUT引入某状态引入某状态(如空闲态如空闲态),如图所示。,如图所示。测试例的组成测试例的组成73 利用被称为利用被称为测试步测试步测试步测试步(Test Step)(Test Step)的子划分,可将的子划分,可将测试例测试例测试例测试例模块化。模块化。 在每个测试例中,可提取
83、较为公共的部分作为在每个测试例中,可提取较为公共的部分作为测试步,测试步,测试步,测试步,编组成测试步库编组成测试步库编组成测试步库编组成测试步库被调用。可按任意的配套深度,将测试步被调用。可按任意的配套深度,将测试步库构造成测试步的配套集,可把测试步库与整个测试集或库构造成测试步的配套集,可把测试步库与整个测试集或一个特定的测试组联系起来。如一个特定的测试组联系起来。如preamble、verification、postamble等都可作为通用的测试步,因等都可作为通用的测试步,因为它们独立于每一个测试例。为它们独立于每一个测试例。body中也可引用测试步,这中也可引用测试步,这种引用构成了
84、一种专用于种引用构成了一种专用于描述抽象测试集的语言描述抽象测试集的语言描述抽象测试集的语言描述抽象测试集的语言TTCNTTCN的的动态行为树。动态行为树。树表组合表述法树表组合表述法树表组合表述法树表组合表述法(TTCNTTCN:Tree and Tabular Combined Notation,)74 测试例和测试步的最小单位是测试事件测试例和测试步的最小单位是测试事件(Test Event),它实际上是,它实际上是测试序列的每一步测试序列的每一步测试序列的每一步测试序列的每一步,直接描述,直接描述ASPs、PDUs和和Timer的一次具体行为的一次具体行为(发、收、启动计时、超发、收、
85、启动计时、超时等时等)。 测试事件是测试步内规范的不可见单元测试事件是测试步内规范的不可见单元(例如到例如到IUT或或来自来自IUT的单个的单个PDU或或ASP的传送的传送)。所有测试步都是按。所有测试步都是按照测试事件的顺序或其它较小的测试步来规定的,因此,照测试事件的顺序或其它较小的测试步来规定的,因此,全部测试步即等效于测试事件的序列。全部测试步即等效于测试事件的序列。752)ATS的生成 手工生成手工生成ATSATS 为了对ATS设计提供参考,ISO/IEC9646-2给出了ATS产生的主要过程,设计者不需要完全遵守这种规则。 在设计ATS之前,需要先研究相关协议的PICS,决定哪些一
86、致性要求要被测试; 根据一致性要求的不同覆盖,决定测试组的划分; 对每个测试组决定其每个元素的测试目标; 对每一测试目标描述通用测试例(GTC),它独立于抽象测试方法,可以用Body和Event序列来描述;76 根据根据根据根据选定某种抽象测试方法,以选定某种抽象测试方法,以GTC为依据,派生出为依据,派生出ATC,它是与抽象测试法相关的,加入了测试器,它是与抽象测试法相关的,加入了测试器(如如LT)能力和测试协调过程能力和测试协调过程(TCP)的限制;的限制; 选定某种标准化的测试集描述法选定某种标准化的测试集描述法(如如TTCN),描述,描述ATC的集合,包括所需的测试步的集合;的集合,包
87、括所需的测试步的集合; 表示测试例之间、测试例和表示测试例之间、测试例和PICS时间的关系,为测试时间的关系,为测试集选择和可执行化提供基础;集选择和可执行化提供基础; 考虑维护考虑维护ATS的过程。的过程。77 目前,绝大多数目前,绝大多数一致性测试序列的自动生成算法一致性测试序列的自动生成算法一致性测试序列的自动生成算法一致性测试序列的自动生成算法都是基都是基于有限状态机于有限状态机FSM模型的,协议测试方法都是在转移级别模型的,协议测试方法都是在转移级别来做的,针对来做的,针对FSM中的单个转移生成相应的测试子序列。中的单个转移生成相应的测试子序列。整个测试序列经过规范化即生成通用测试集
88、整个测试序列经过规范化即生成通用测试集(GTS). 然后分析子序列的关系,得到针对特定测试目标然后分析子序列的关系,得到针对特定测试目标(比如比如测试一个状态、一个变迁等测试一个状态、一个变迁等)的完整的测试序列。采用适的完整的测试序列。采用适当的测试集描述法对上述得到的测试序列进行描述,就得当的测试集描述法对上述得到的测试序列进行描述,就得到一个完整的测试例。如此构造出针对每一个特定测试点到一个完整的测试例。如此构造出针对每一个特定测试点的测试例,就能够组合成抽象测试集的测试例,就能够组合成抽象测试集(ATS)。 自动生成自动生成ATSATS782 2、可执行测试集(、可执行测试集(、可执行
89、测试集(、可执行测试集(ETSETS) 在测试实现阶段,根据在测试实现阶段,根据(IUT)的的PICS和和PIXIT (通常通常采用采用XML形式表达形式表达),从抽象测试集,从抽象测试集ATS中中选择选择选择选择适当的测适当的测试例,去除没有意义的测试例,并使用试例,去除没有意义的测试例,并使用PIXIT提供的信息提供的信息来量化这些测试例。从抽象测试集来量化这些测试例。从抽象测试集(ATS)生成可在一实际生成可在一实际的测试系统上执行的参数化的可执行测试集的测试系统上执行的参数化的可执行测试集(ETS),即可,即可在特定测试设备上对某个在特定测试设备上对某个IUT进行测试运行的测试集。进行
90、测试运行的测试集。 79 选择通常采用的方式是:提供一个选择通常采用的方式是:提供一个PICS/PIXIT文件文件模板,以问卷的形式提供给被测协议实现方,根据答卷修模板,以问卷的形式提供给被测协议实现方,根据答卷修改改PICS/PIXIT文件的内容。文件的内容。 PICS/PIXIT包含的主要内容如下:包含的主要内容如下: 一般信息:包括开发商名称,产品型号,协议的版一般信息:包括开发商名称,产品型号,协议的版本号等;本号等; 支持的应用服务:包括服务的支持的应用服务:包括服务的Service ID,服务类型,优先级等;服务类型,优先级等; 支持的对象类型;支持的对象类型;对测试环对测试环境的
91、要求等。境的要求等。803 3、测试执行(、测试执行(、测试执行(、测试执行(TETE) 现有的测试执行方法可划分为两类:基于现有的测试执行方法可划分为两类:基于编译的测试执编译的测试执行行(CTE)和和基于解释的测试执行基于解释的测试执行(ITE) 。 基于编译的测试执行,是指在测试执行之前,由抽象测基于编译的测试执行,是指在测试执行之前,由抽象测试集试集ATS到可执行测试集到可执行测试集ETS的转换已经由转换器或编译的转换已经由转换器或编译器完成,这一过程非常耗时,但是提高了测试执行的效率。器完成,这一过程非常耗时,但是提高了测试执行的效率。 在基于解释的测试执行中,从在基于解释的测试执行
92、中,从ATS到到ETS的转换是在的转换是在测试执行过程中完成的,这种方法使得用户可以对测试过测试执行过程中完成的,这种方法使得用户可以对测试过程进行动态观察和控制,但测试执行的效率较低。程进行动态观察和控制,但测试执行的效率较低。815一致性测试的过程 协议一致性测试的测试过程简述如下:协议一致性测试的测试过程简述如下: (1) (1) 测试方法的选择和测试平台构建。测试方法的选择和测试平台构建。测试方法的选择和测试平台构建。测试方法的选择和测试平台构建。 (2) (2) 抽象测试集抽象测试集抽象测试集抽象测试集(Test Suite)(Test Suite)的设计:的设计:的设计:的设计:在
93、充分理解协议在充分理解协议文本描述的基础上,设计出独立于所有协议实现且适合人文本描述的基础上,设计出独立于所有协议实现且适合人理解的抽象测试集理解的抽象测试集(ATS)。 (3) (3) 测试例测试例测试例测试例(Test Case)(Test Case)选择选择选择选择:根据协议实现的:根据协议实现的PICS和和PIXIT,从,从ATS中选取适当的测试例,并使用中选取适当的测试例,并使用PIXIT提提供的信息来量化这些测试例,从供的信息来量化这些测试例,从ATS生成可在实际的测试生成可在实际的测试系统上执行的可执行测试集系统上执行的可执行测试集(ETS)。82 协议一致性测试的测试过程:协议
94、一致性测试的测试过程:协议一致性测试的测试过程:协议一致性测试的测试过程:83 (4) (4) 测试执行:测试执行:测试执行:测试执行: 用用ETS对对IUT进行激励进行激励响应测试。一般采用基于解释响应测试。一般采用基于解释的的测试执行策略测试执行策略测试执行策略测试执行策略,即测试执行器直接调用,即测试执行器直接调用ETS中的测试例中的测试例进行解释执行,而不需要对整个测试集进行编译预处理,进行解释执行,而不需要对整个测试集进行编译预处理,使得用户可对测试过程进行动态的观察和控制。对每个测使得用户可对测试过程进行动态的观察和控制。对每个测试例,执行器顺序地读入试例,执行器顺序地读入测试步测
95、试步测试步测试步(step)(step),编码并执行该测,编码并执行该测试步,激励被测实现试步,激励被测实现IUT做出响应,在后续的测试步中,做出响应,在后续的测试步中,执行器接收被测实现响应的执行器接收被测实现响应的PDU,解码并于测试例中预期,解码并于测试例中预期的的PDU进行比较,给出测试结果。进行比较,给出测试结果。84 (5) (5) 测试结果分析和评价:测试结果分析和评价:测试结果分析和评价:测试结果分析和评价: 最后,静态一致性检查的结果和所有的测试例的执行判最后,静态一致性检查的结果和所有的测试例的执行判定结果组合在一起,形成一个有关定结果组合在一起,形成一个有关IU T 的一
96、致性判决。当的一致性判决。当且仅当所有的测试都未失败时,最终的判决才会是通过。且仅当所有的测试都未失败时,最终的判决才会是通过。 对测试执行产生的测试记录文件进行分析,生成测试判对测试执行产生的测试记录文件进行分析,生成测试判断和协议一致性测试报告。断和协议一致性测试报告。85 从测试执行的角度看,一致性测试可分两个阶段:从测试执行的角度看,一致性测试可分两个阶段:控制控制控制控制阶段和观察阶段阶段和观察阶段阶段和观察阶段阶段和观察阶段。 测试系统向被测协议实现测试系统向被测协议实现发送一系列的测试数据包发送一系列的测试数据包发送一系列的测试数据包发送一系列的测试数据包,激,激发被测功能,这称
97、为一致性测试的发被测功能,这称为一致性测试的控制阶段控制阶段控制阶段控制阶段;在测试的;在测试的观观观观察阶段察阶段察阶段察阶段,测试系统监控被测协议实现返回的数据包,与预,测试系统监控被测协议实现返回的数据包,与预期的返回数据进行比较,并做出测试判定。期的返回数据进行比较,并做出测试判定。 在测试执行过程中,测试系统通过在测试执行过程中,测试系统通过PCO对对IUT的输入和的输入和输出进行控制和观察,在分析输出是否与预期输出相一致输出进行控制和观察,在分析输出是否与预期输出相一致的基础上,才得到针对本次测试的肯定结论。的基础上,才得到针对本次测试的肯定结论。86 协议互操作性测试1 1 互操
98、作测试标准互操作测试标准2 2 互操作测试系统结构互操作测试系统结构互操作测试系统结构互操作测试系统结构3 3 一致性测试与互操作性测试的比较一致性测试与互操作性测试的比较一致性测试与互操作性测试的比较一致性测试与互操作性测试的比较87 随着通信技术的发展,新的协议越来越复杂,协议一随着通信技术的发展,新的协议越来越复杂,协议一致性测试工作遇到了很多困难。致性测试工作遇到了很多困难。 在实际测试中,一致性测试通过并不能保证互操作测试在实际测试中,一致性测试通过并不能保证互操作测试一定可以通过。所以互操作性测试相关研究越来越受到重一定可以通过。所以互操作性测试相关研究越来越受到重视。视。2024
99、/7/30网络性能评价与测试88 虽然互操作性测试目前还未制定国际标准,但是中国以及虽然互操作性测试目前还未制定国际标准,但是中国以及ETSI、ITU-T、ISO等国际组织都开展了相应的研究工作,具等国际组织都开展了相应的研究工作,具体成果有体成果有: ETSI TS 102237 “互操作测试方法和途径互操作测试方法和途径”;ETSI TS 202237 “互操作测试方法互操作测试方法”; ITU-T正在完善正在完善ITU-T Z.itfm “互操作测试框架和方法互操作测试框架和方法”; ISO正在许多协议簇中增加互操作测试;正在许多协议簇中增加互操作测试; 中国通信行业标准中国通信行业标准
100、YD/T1521-2006 “路由协议互操作路由协议互操作性测试方法性测试方法”。该标准主要是信产部电信研究院、华为公司、。该标准主要是信产部电信研究院、华为公司、中兴通讯公司参与起草,由中华人民共和国信息产业部发布。中兴通讯公司参与起草,由中华人民共和国信息产业部发布。1 互操作测试的标准89 目前互操作测试没有标准定义,通常用于研发阶段多厂目前互操作测试没有标准定义,通常用于研发阶段多厂商准正式测试或者运营商的选型测试中。互操作测试评估商准正式测试或者运营商的选型测试中。互操作测试评估被测实现与相连接相似实现之间在网络操作环境中交互能被测实现与相连接相似实现之间在网络操作环境中交互能力,并
101、且完成协议标准中规定的功能,从而确定被测设备力,并且完成协议标准中规定的功能,从而确定被测设备是否支持所需要的功能。是否支持所需要的功能。90 在互操作测试中,被采用最多的形式是测试单位选择经在互操作测试中,被采用最多的形式是测试单位选择经一致性操作和互操作测试认可设备来与被测设备进行互操一致性操作和互操作测试认可设备来与被测设备进行互操作测试。互操作性测试系统结构模型如图。作测试。互操作性测试系统结构模型如图。2 互操作测试的系统结构互操作测试系统模型互操作测试系统模型互操作测试系统模型互操作测试系统模型91 表现互操作性测试的重要特征是表现互操作性测试的重要特征是: 认可设备认可设备认可设
102、备认可设备(Qualified Equipment,QE)和和被测设备被测设备被测设备被测设备(EUT) 来自不同厂商来自不同厂商(至少不同生产线至少不同生产线)共同定义测试边界。二共同定义测试边界。二者可能是终端设备、网络设备或者应用软件,也可能是一个单者可能是终端设备、网络设备或者应用软件,也可能是一个单独设备或者若干设备组合;独设备或者若干设备组合; 互操作性测试基于用户期望的功能,并由用户控制并观察互操作性测试基于用户期望的功能,并由用户控制并观察测试结果。用户测试结果。用户(Test Driver)可以是人工操作也可以是软件程可以是人工操作也可以是软件程序序; 互操作性测试在功能性接
103、口上执行和观察,也就是说接口互操作性测试在功能性接口上执行和观察,也就是说接口没有指定在协议级而是功能级上,接口包括人机接口没有指定在协议级而是功能级上,接口包括人机接口(MMIs) 、协议设备接口、协议设备接口(PDIs) 、应用程序接口、应用程序接口(APIs) 。92 互操作测试过程除了测试规范、测试设备和测试驱动与一致互操作测试过程除了测试规范、测试设备和测试驱动与一致性测试不同以外,其它基本与一致性测试类似。互操作测试过性测试不同以外,其它基本与一致性测试类似。互操作测试过程主要包括两个部分:程主要包括两个部分: 开发互操作测试规范过程,通常由互操作者根据测试功能开发互操作测试规范过
104、程,通常由互操作者根据测试功能要点进行制定。该过程主要包括以下内容:指定抽象测试架构、要点进行制定。该过程主要包括以下内容:指定抽象测试架构、准备互操作特征声明准备互操作特征声明(Interoperable Features Statement,IFS) 草稿、声明测试套架构草稿、声明测试套架构(Test Suite Structure,TSS) 、写测试目的、写测试例、写测试目的、写测试例、IFS 定案;定案; 测试过程,主要包括以下内容:准备测试、具体测试、测测试过程,主要包括以下内容:准备测试、具体测试、测试报告。试报告。93 一致性测试和互操作测试都是测试协议实现重要而有效的方一致性测
105、试和互操作测试都是测试协议实现重要而有效的方法,在某种程度上可以相互验证,但二者并不是完全一样:法,在某种程度上可以相互验证,但二者并不是完全一样: 测试目的不同,一致性测试是确定被测实现是否与标准规测试目的不同,一致性测试是确定被测实现是否与标准规定一致,而互操作测试是确定被测设备之间基于某一协议的交定一致,而互操作测试是确定被测设备之间基于某一协议的交互能力;互能力; 测试对象不同,一致性测试的对象是设备或者系统。而互测试对象不同,一致性测试的对象是设备或者系统。而互操作测试的对象是设备;操作测试的对象是设备; 测试级别不同,一致性测试是在协议级,而互操作测试是测试级别不同,一致性测试是在
106、协议级,而互操作测试是在功能级;在功能级; 测试效果不同,一致性测试适用所有协议实现,而互操作测试效果不同,一致性测试适用所有协议实现,而互操作测试主要适用于被测设备。测试主要适用于被测设备。3 一致性测试与互操作性测试的比较94 实际测试中,一致性测试通过并不能保证互操作测试一定可实际测试中,一致性测试通过并不能保证互操作测试一定可以通过。具体原因表现在三方面:以通过。具体原因表现在三方面: 标准方面:标准中错误与含糊内容,标准本身的兼容性问标准方面:标准中错误与含糊内容,标准本身的兼容性问题;题; 实施方面:人为错误实施方面:人为错误(如编程错误如编程错误) ,对于标准理解不同,对于标准理
107、解不同,标准本身允许不同选项;标准本身允许不同选项; 技术方面:通信网络使用不同流量策略,设备兼容性问题,技术方面:通信网络使用不同流量策略,设备兼容性问题,设备配置问题。设备配置问题。95 互操作测试可以证实被测系统中不同设备之间的互操作能力,互操作测试可以证实被测系统中不同设备之间的互操作能力,但不能证实设备是否符合标准。一致性测试可以证实设备是否但不能证实设备是否符合标准。一致性测试可以证实设备是否符合标准,但不能保证设备之间可以互相通信。符合标准,但不能保证设备之间可以互相通信。 故此,互操作测试不可能替代一致性测试,在互操作测试前故此,互操作测试不可能替代一致性测试,在互操作测试前必
108、须首先进行一致性测试。一致性测试和互操作测试是互为验必须首先进行一致性测试。一致性测试和互操作测试是互为验证、互为补充的关系,只有把两者合理地结合才能完成完整的证、互为补充的关系,只有把两者合理地结合才能完成完整的协议测试。协议测试。96 协议性能测试方法 性能测试的对象是性能测试的对象是IUT,测试目的是在不同负载下测试,测试目的是在不同负载下测试IUT的性能。性能测试由的性能。性能测试由Tester来执行,测试器可以是人,来执行,测试器可以是人,但最好是但最好是自动化工具自动化工具自动化工具自动化工具。IUT通过发送或接收通过发送或接收ASP或或PDU与周与周围环境通信。围环境通信。IUT
109、与环境交互的位置称为与环境交互的位置称为实现访问点实现访问点实现访问点实现访问点IAPs IAPs (Implementation Access Points)。 然而在多数情况下,然而在多数情况下,Tester不能直接访问不能直接访问IAPs,因为,因为Tester和和IUT通常不位于同一系统中,或者通常不位于同一系统中,或者IUT嵌入在一个嵌入在一个多层协议实现之内。在这种情况下,多层协议实现之内。在这种情况下,Tester只能间接地与只能间接地与IUT通信,即通信,即IUT与环境与环境(如底层服务提供者如底层服务提供者)通信,通信,Tester也与这个环境通信。也与这个环境通信。97 性
110、能测试中负载必不可少。负载控制器与性能测试中负载必不可少。负载控制器与IUT的通信也是通过环境的通信也是通过环境实现的,把沟通实现的,把沟通Tester与与IUT,负载控制器与,负载控制器与IUT的的环境环境环境环境称称测试上下文测试上下文测试上下文测试上下文(Test Context)。Tester与测试上下文通信的点称与测试上下文通信的点称控制观察点控制观察点控制观察点控制观察点PCOsPCOs,测试器与负载控制器通信的点称测试器与负载控制器通信的点称协调点协调点协调点协调点CPs (Coordination Points)。 IUT,Tester,负载控制器,测试上下文,实现访问点,负载
111、控制器,测试上下文,实现访问点IAP,控制观,控制观察点察点PCO和协调点和协调点CP共同组成了共同组成了测试结构测试结构测试结构测试结构(见图见图)。将图中的抽象测试。将图中的抽象测试结构应用到特定的结构应用到特定的IUT,测试器,负载和测试上下文中就会得到不同,测试器,负载和测试上下文中就会得到不同的的测试方法测试方法测试方法测试方法,测试方法本质上的不同在于控制观察点的选取测试方法本质上的不同在于控制观察点的选取测试方法本质上的不同在于控制观察点的选取测试方法本质上的不同在于控制观察点的选取。9899 关于协议本身性能测试的抽象测试方法研究不甚多。用关于协议本身性能测试的抽象测试方法研究
112、不甚多。用户对协议本身性能不太关心,更关注设备的性能。因此户对协议本身性能不太关心,更关注设备的性能。因此IETF的基准方法学工作组(的基准方法学工作组(BMWG)发布了系列规范,)发布了系列规范,这些规范成为网络设备(协议)性能测试的重要依据。这些规范成为网络设备(协议)性能测试的重要依据。 下面的图形是北京邮电大学提出传感网性能测试模型。下面的图形是北京邮电大学提出传感网性能测试模型。101 协议鲁棒性测试协议鲁棒性测试 检测协议实体或系统在各种恶劣环境下运行的能力,主检测协议实体或系统在各种恶劣环境下运行的能力,主要包括:信道被切断、掉电、注入干扰报文等。要包括:信道被切断、掉电、注入干扰报文等。重邮物联网测试模型Testing Framework for Heterogeneous Sensor Network物联网测试方法的技术展望抽象测试模型抽象测试模型如何降低测试情况下传感系统的功耗等如何降低测试情况下传感系统的功耗等资源开销资源开销测试数据选择算法测试数据选择算法跨平台性跨平台性、异构性异构性谢 谢!