一种DNS监测服务自动化测试方法与系统与流程

文档序号:11154847阅读:1053来源:国知局
一种DNS监测服务自动化测试方法与系统与制造工艺

本发明属于信息技术领域,具体涉及一种DNS监测服务自动化测试方法与系统。



背景技术:

DNS监测服务是利用DNS探测技术对域名解析服务进行多维度监测分析的服务系统,一般采用分布式部署方式,从多个监测点探测监测对象。其主要监测对象为DNS权威服务器和公共递归服务器,大多从安全、配置、性能、可用性等方面进行监控和综合分析,以此反映当前互联网域名服务体系的整体状态。

目前,针对DNS监测服务系统的测试方法较为单一,一般是在监测点通过DNS查询工具发DNS查询包对公共递归或权威服务器进行手工探测,将接收到的反馈与待测系统的反馈进行人工比对。这类测试通常存在如下缺点:a、对真实DNS服务器探测,其反馈结果不可控,无法对各种异常情况的监测结果做全面测试;b、因监测属性多样且监测对象离散,若全部采用枚举测试,则测试工期太长,效率极低;c、若手工模拟探测过程进行抽样测试,则测试样本不完整,且存在偶然性,测试结果权威性较差,说服力不足;d、模拟探测结果与监测服务反馈结果的比对过程数据量大,且涉及多维度各个字段值的验证,人工比对出错率高,容易有误差。



技术实现要素:

本发明针对上述问题,提供一种DNS监测服务自动化测试方法与系统,以实现对DNS监测服务系统的快速可靠的自动化测试。具体来说,本发明的目的主要包括:

1)通过一种自动化测试方法与系统的设计,自动化地模拟测试全流程,包括DNS监测服务发送探测请求、DNS服务器响应请求、DNS监测服务获取响应数据、比对期望结果和监测结果异同,以提高测试效率;

2)监测服务的预期结果和监测结果进行自动化比对,提高测试控制精度与准确性;

3)支持尽可能多功能的测试自动化,覆盖绝大多数测试用例;

4)通过此方法与系统的使用,使测试者只需要维护测试数据,不需要维护脚本或代码,降低测试成本,降低自动化测试技能要求。

为实现上述目的,本发明采用的技术方案如下:

一种DNS监测服务自动化测试方法,其包括以下步骤:

1)指定待测服务和待监测的DNS服务器的IP及端口;

2)根据测试用例区分不同测试场景编写测试用例文件;

3)根据测试用例文件编写监测项配置文件,以指定各用例的监测场景;

4)根据各用例的监测项配置文件编写其对应的期望结果文件;

5)通过自动化测试程序逐条执行测试用例,向待监测的DNS服务器发送查询包,并将反馈结果与期望结果进行比对;

6)在全部用例执行完毕后,根据步骤5)得到的比对结果生成测试报告。

一种DNS监测服务自动化测试系统,其包括:

配置管理模块,负责读取和解析总控配置文件,获取待测服务及DNS服务器信息;

DNS服务器控制模块,负责读取总控配置文件指定的DNS服务配置文件,控制DNS服务器的配置与启动,实现对DNS响应结果的自动化控制;

DNS包管理模块,负责根据监测项配置文件确定监测场景,组装相应DNS报文并发送到DNS服务器;同时负责读取和解析响应包的数据内容,为结果验证模块提供服务;

结果验证模块,负责将待测服务的监测结果与期望结果文件中的期望结果进行比对,从而判断DNS监测服务系统功能的正确性;

执行控制模块,负责读取测试用例文件,启动自动化测试程序,触发待测系统根据总控配置文件与DNS服务配置文件向DNS服务器逐条发送DNS包管理模块指定的所有查询包,并在接收到响应报文后,获取待测服务的反馈结果传递到结果验证模块以进行比对,并根据比对结果生成测试报告。

本发明的关键点是:

1)测试系统监测项配置文件的使用,定义和实现多个监测项对应的配置项,并通过自动化测试系统启动程序读取该配置文件,执行相应操作。

2)自动化测试方式的实现,通过启动自动化测试流程,触发待测服务的多个监测点向多个监测对象发送可控的DNS探测包,实现了多对多的监测行为模拟,并通过操控DNS服务器返回各种不同的响应包,将待测服务的监测结果与其相应的期望结果进行比对。

3)期望结果文件的使用,通过将监测服务的期望结果按格式存入文件,跟待测系统监测结果逐行对比。

本发明的有益效果如下:

1)测试自动化率高,可覆盖全流程业务逻辑功能测试的绝大多数用例,提高测试效率。

2)对每个待测用例,测试人员只需要准备少量配置和数据便可实现自动化测试,可维护性强,操作简易。

3)对监测对象行为的模拟场景多元化,可通过控制DNS服务器定制响应报文,同时能够对各类异常情况进行针对性模拟,扩大了可测范围,同时加强了测试的可控性。

4)针对监测服务的特点,监测项可随时增加和定义,可扩展性强。

5)对监测结果的比对方式,节省了人工测试的成本,降低了人为失误的风险,从而实现了对DNS监测服务系统快速可靠的自动化测试。

附图说明

图1是本发明的DNS监测服务自动化测试系统的示意图。

图2是实施例中DNS监测服务自动化测试方法的流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。

本发明提出的对DNS监测服务系统进行自动化测试的系统,如图1所示,包括以下模块或子系统:

1)配置管理模块,负责读取和解析总控配置文件内容,通过总控配置文件获取待测服务IP及服务端口列表、DNS服务器IP及端口列表文件路径等配置信息。

2)DNS包管理模块,负责根据监测项配置文件确定监测场景,根据RFC1035DNS报文协议要求组装相应DNS报文,并发送到DNS服务器;同时负责读取和解析响应包的数据内容,为结果验证模块提供服务。

3)DNS服务器控制模块,负责读取总控配置文件指定的DNS服务配置文件(即DNS服务器IP及端口列表文件),控制列表中DNS服务器的配置与启动,实现对DNS响应结果的自动化控制。

4)结果验证模块,负责将待测服务的监测结果与期望结果(来自于期望结果文件)按照DNS响应报文的格式将各个字段值进行逐一比对,从而判断DNS监测服务系统功能的正确性。

5)执行控制模块,负责读取测试用例文件,启动自动化测试程序,触发待测服务根据总控配置文件与DNS服务配置文件向DNS服务器逐条发送DNS包管理模块指定的所有查询包,并在接收到响应报文后,获取待测服务的反馈结果传递到结果验证模块,最后将该模块返回的比对结果生成测试报告,保存到指定目录。

其中,总控配置文件,用于指定待测服务及DNS服务器信息,内容举例如下:

Server1=1.1.1.1/53

Server2=1.1.1.2/53

DNS Server File=dir/dnslist.txt----------DNS服务器IP及端口列表文件路径

DNS服务配置文件,即DNS服务器IP及端口列表文件,用于指定DNS服务器(监测对象)的IP及端口,举例如下:

8.8.8.8 53

1.2.4.8 53

或a.root-servers.net.53

测试用例文件,用于指定每条用例的监测项配置文件及对应的期望结果文件,格式如下:

其中,ItemsFileName表示监测项配置文件路径,CheckFileName表示该条用例对应的期望结果文件。由于监测服务每个用例即为一个多监测项的混合场景,因此用监测项配置文件来描述一个用例的测试场景。

监测项配置文件,是对各监测指标的开关,监测项可扩展,每个监测项配置文件的内容允许不同,但关键词必须已定义。其配置格式及对应含义,举例如下:

DNSSEC=1------------------表示监测DNS服务是否支持DNSSEC查询;

TCP=0------------------表示不监测DNS服务是否支持TCP;

NSEC3=1------------------表示监测DNS服务是否支持NSEC3;

VERSION=1------------------表示监测DNS服务当前版本。

期望结果文件,用于记录待测监测服务对当前用例执行结果的期望监测结果。首行为各列标题,第二行开始为内容,每行对应一个目标服务器的监测期望结果,其内容举例如下:

DNS-Server,DNSSEC,TCP,NSEC3,VERSION

a.root-servers.net.(或IP),yes,yes,no,ISC BIND

b.root-servers.net.(或IP),no,no,yes,NLnetLabs NSD

将获取的监测结果与上述期望结果文件进行比对,统计并记录比对差异及准确率,生成测试报告。

根据上述系统,本实施例的自动化测试流程如图2所示。其步骤描述如下:

1)配置总控配置文件,指定待测服务和监测对象(DNS服务器)的IP及端口;

2)根据测试用例,区分不同测试场景,编写测试用例文件;

3)根据测试用例文件,编写监测项配置文件,指定各用例的监测场景;

4)根据各用例的监测项配置文件,编写其对应的期望结果文件;

5)根据配置,执行自动化测试程序,读取上述所需配置,逐条执行测试用例,并将反馈结果与期望结果比对;

6)全部用例执行完毕,生成测试报告。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1