论文部分内容阅读
因特网是世界范围内的一个网络,其互联产品可能来自不同的生产厂家,因此需要进行互操作性测试。所谓互操作性测试就是检查两个或多个协议实现是否可以进行正确的交互,提供期望的服务,它可以对设备的互连互通和互操作提供根本保证。互操作性测试的过程一般包含被测系统建模、互操作性测试生成以及测试实施。本文对于协议说明中的不确定性问题进行了分析,提出了一种利用已有测试经验针对不确定进行建模的方法,并给出一种新的测试选择方法。属性是一个系统在某个特定的场景下应具有的功能或者特性。基于属性的互操作性测试生成可以分成四部分:基于属性建立被测系统的Petri网模型,考虑相关可达图的获取;基于可达图考虑覆盖属性的可执行测试序列的生成;测试数据的生成。采用基于属性的方法进行被测系统的建模在一般情况下可以减少建模的工作量。本文给出了义务属性、交互属性和可扩展属性的定义及相关模型,基于上述属性进行测试的测试判定方法。对协议的通用数据包进行了全面的分析并给出一种构建测试数据包的方法,对提出的方法进行了测试实践,检验了本文方法的有效性,最后总结全文,给出了下一步的研究工作。论文的创造性工作主要体现在以下几个方面:(1)针对协议说明的不确定性及当前已有的互操作性测试经验为被测系统建模,给出互操作性测试序列选择算法。互操作性测试至少包括两个被测实现,它们合起来构成被测系统。本文根据被测的说明的不确定有限状态机模型(FSM)和当前已有的互操作性测试经验构建概率不确定有限状态机(PNFSM),有效地刻画当前的互操作性测试状况。基于该模型及一定的策略生成包含所有状态的二叉树,然后基于得到的二叉树给出了包含不确定状态的互操作性测试序列的选择算法,通过示例展示了提出的算法的有效性,并以RIP协议为例展示了提出的建模方法的应用。(2)提出了基于属性进行互操作性测试建模的方法及测试序列的生成方法,给出测试判定方法。本文提出了一种基于两个被测的Petri网模型及较为完全交互消息序列进行模型复合的方法,得到了被测系统的复合Petri网模型。然后基于该模型及协议说明给出了互操作性测试中应考虑的义务属性、交互属性及可扩展属性的定义。基于复合模型及其可达图,依据本文给出的义务属性、交互属性及可扩展属性的定义的要求给出了可执行测试序列的生成算法,给出了属性覆盖的定义,测试判定的方法。并以BRP(Bounded Retransmition Protocol)为例进行相关方法的例示,通过对于RIP协议、OSPF的义务属性之一、BGP4的策略路由从不同的角度展示了本文的建模方法比传统方法在描述感兴趣的属性时可以更有效地减缓或者避免了状态爆炸,而且生成的测试序列数目也大大减少。(3)针对协议数据包的特点,给出了一种测试数据生成方法,以利于自动组包。在协议测试过程中,对于测试数据的生成方法的考虑应从包的粒度细化到字段上。本文对协议的通用数据包进行了全面的分析,根据各个字段的功能及其取值之间的关系,对所有字段进行了固定字段、独立字段以及相关字段序列的划分,然后根据测试经验对独立字段和相关字段序列进行了优先级赋值,并根据优先级构建测试包,从而可以将具有重要测试目的的包尽早生成并进行测试,并根据优先级标记指导测试结果判定。