论文部分内容阅读
随着互联网带宽和接入用户的数量不断增长,网络流量的特征不断的朝向复杂、多样、爆发式的增长。因此,传统的网络数据处理平台在复杂网络环境下对互联网流量进行高效的内容分析和处理的难度也不断增大,我们将他们称作高性能的网络数据处理平台。由于此类型的处理平台往往承担着处理线上实时流量的重要任务,因此在其应用到真实的线上或者生产环境之前,一个严格的测试过程在其开发的生命周期中至关重要。但是面对日新月异的网络环境,各种平台系统层出不穷,需求复杂多样,导致它们对测试流量的要求复杂多变,甚至实时的在线流量也无法满足测试需求。除此之外,为了达到高测试覆盖率,测试人员往往需要制定复杂的测试任务,并收集和分析繁多的测试结果,这个过程占据了测试人员大量时间,并且往往不能达到准确的测试效果。 因此,为了减少测试人员在测试过程中投入的精力,以及准确、高效的完成测试任务,本文提出了一个完整的,能够完成高性能网络数据处理平台测试、验证任务的整体测试方案。本文的主要研究集中在以下几个方面:第一,针对多个应用场景,使用统一的流量模型刻画出对应场景的流量模版,之后通过解析该流量模版,从三个不同的数据来源:行为模拟、数据包回放、自动生成,来生成满足流量模版要求的流量;第二,测试流量发送之后,判断被测系统输出的日志中哪些是与测试流量相关的,将它们收集之后分析汇总,最终反馈给测试人员;第三,整个测试流程的自动化,包含测试任务制定和管理,对整个测试过程生命周期的控制,以及各个模块之间的衔接,有的模块例如流量发送,需要可扩展性和分布式的设计;有的模块之间的交互需要协商通信协议。 本文利用精确的流量模型,可以对任意的网络应用场景进行描述刻画,并可以生成可持久化储存的流量模板。每当执行测试任务时,通过解析流量模板,结合动态获得的流量配置信息,可得到所需的测试流量。此外,本文也重点研究了流量生成并发送之后的验证工作,包括对测试流量的溯源,日志结果文件的收集与分析,从而形成了完整的测试过程。本文所实现的测试平台只需要测试人员指定一些简单的任务信息,就可进行完整的测试,大大减少了测试人员的时间投入。最终,本文完成了一个完整的流量自动化测试平台,可以满足不同流量处理平台的测试需求,同时,实验结果表明,本文所实现的流量自动化测试平台可以有效地对被测试系统的功能和性能做出准确的验证,减小了被测系统应用到真实环境下出现不可预知错误的可能。