论文部分内容阅读
在互联网的各种应用中,网络协议节点的健壮性是保证网络正常运行的重要方面。为保证网络协议节点的健壮性,一个重要的方式是通过构建协议测试例,向协议节点发送相应的数据,找到被测试协议节点的缺陷。因为协议缺陷种类较多,所以需要足够多的测试例,才能够充分发现协议节点的缺陷。依靠人工测试效率较低而且成本高昂,所以协议健壮性测试平台自动化技术一直是研究的热点。协议自动化测试能够提高发现协议应用的缺陷的效率,但是完全使用计算机随机产生测试数据的方式,难以进行有效的测试,所达到的测试效果有限,测试任务完成效率低下。所以如何有效的根据协议标准,自动化构建符合协议特征的、错误类型丰富、协议各状态测试充分的测试例,从而提高自动化测试效率,是一个重要的研究课题。协议测试平台自动化涉及的相关的关键技术有:1、协议标准的自动化分析;2、协议测试例和协议数据的自动化产生;3、测试例的自动化执行。本文从这三方面入手开展研究工作。本文主要贡献和创新点包括如下几个方面:(1)提出了改进的TF-IDF算法用于对基于文本的协议数据进行分析,提高了协议数据格式提取的效率,并对算法进行了验证。TD-IDF算法在大数据技术中用于互联网数据的词频分析。本文将其改进并用于协议数据格式分析,将词频和文档频率结合起来,动态调整频次阈值参数,从而实现对协议数据的自动化分析。经过试验对协议包的关键字提取准确度为70%-80%。(2)研究并提出了面向查找协议缺陷的基于Petri网的协议形式化方法VOPN,为有状态协议的缺陷测试例构建提供了形式化方法。为了能够对有状态协议进行测试,需要根据协议节点的状态设计测试例,使得协议的每个状态都能够得到测试。为了更好的完成这一测试过程,本章提出基于扩展Petri网的缺陷测试模型VOPN来解决这一问题。(3)研究并提出了基于矩阵扰动的健壮性测试数据生成方法,提高了测试数据生成的丰富性和效率。该方法通过将协议消息映射为整数矩阵的方式将矩阵运算与缺陷数据生成结合起来,提高了缺陷数据的生成速度,方便增加协议错误种类,提高了自动化测试中的协议数据生成效率,满足了对于测试用例多种多样的要求。实验表明对具体SIP服务器的协议缺陷发现获得了成功,发现缺陷的测试例比例达到总数约27%。(4)研究了基于TTCN-3平台实现的自动化测试平台。在基于TTCN-3的平台中,除了前文所述的测试例产生之外,测试数据的编解码也是测试中需要解决的关键问题。本文提出了基于格式描述文件的通用TTCN-3测试数据编解码模块构建,在文本类型协议测试中解决了这个问题。最后为了评估上述解决方案,本文实际测试了部分网络协议。使用本文所讨论的方法生成的测试用例,展示了协议缺陷自动化测试的具体过程,获得了良好的实验结果,证明了本文提出的理论和方法的可行性和有效性。