域名whois服务自动化测试系统和方法

xiaoxiao2020-10-23  9

域名whois服务自动化测试系统和方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种域名WHOIS服务自动化测试系统和方法。
【背景技术】
[0002]域名WHOIS服务是重要的互联网基础服务,其工作模式遵从相关RFC规定,根据域名注册库信息,向用户提供关于域名、主机、联系人、注册商等域名注册相关信息的查询服务。
[0003]域名注册库内容主要来源于域名注册服务,少量内容来自于其他业务系统。WHOIS服务是一种查询响应服务,主要针对用户的查询,从数据库提取相关内容并按一定格式组装后响应给查询者。对此服务的的测试方式一般是模拟域名注册服务及其他业务系统的业务操作,在数据库中制造各种域名相关数据,然后进行WHOIS查询,将查询结果跟期望结果(主要来自于数据库)比对。这类测试通常有如下缺点:a、需要分别操纵注册服务、业务系统、WHOIS服务后,才能完成制造数据、查询数据、检查数据的测试过程,效率很低。b、WH0IS查询结果一般含有多个字段值,人工比对容易有误差。C、由于业务规则限制,如Transfer等部分域名业务操作对操作日期有特定要求,不方便直接通过域名注册服务立即进行模拟数据的制造,导致测试工期较长。

【发明内容】

[0004]针对上述现有技术存在的问题,本发明的目的在于提供一种域名WHOIS服务自动化测试系统,包括:
[0005]配置管理模块,用以读取和解析配置文件内容,从中获取配置信息;
[0006]注册客户端模拟模块,用以进行域名注册业务模拟操作;
[0007]数据库操作模块,用以执行对数据库的操作指令实现对部分业务操作结果的模拟;并使域名注册业务立即执行;
[0008]WHOIS查询模块,用以连接WHOIS服务并执行查询操作,获取查询结果;
[0009]结果检查模块,用以读取WHOIS期望结果文件内容,与所述查询结果进行比对,从而判断WHOIS服务响应结果正确性;
[0010]执行控制模块,用以读取测试指令集文件,逐行解析和判断测试指令,根据指令类型分别调用注册客户端模拟模块、数据库操作模块、WHOIS查询模块和结果检查模块完成相应功能;若执行完全部指令,则生成测试报告。
[0011]进一步地,所述配置信息包括:被测的WHOIS服务信息、数据库信息、域名注册服务信息及测试数据存放目录。
[0012]进一步地,所述进行域名注册业务模拟操作包括从注册系统客户端报文文件中读取进行域名业务操作所需的XML报文,模拟注册客户端跟域名注册服务器进行报文交互,完成域名注册业务模拟操作。
[0013]进一步地,所述数据库操作模块通过数据库操作指令,实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册业务立即执行。
[0014]进一步地,所述读取WHOIS期望结果文件内容,与所述查询结果进行比对包括将WHOIS期望结果按格式存入文件实现查询结果逐行对比。
[0015]本发明的另一目的在于提供一种域名WHOIS服务自动化测试方法,包括以下步骤:
[0016]I)在配置文件中进行测试相关配置;
[0017]2)编写测试指令集文件,将与测试步骤对应的测试指令组织在一个或多个指令集文件中;
[0018]3)创建编写域名注册服务操作指令所用到的注册客户端报文文件;
[0019]4)创建编写WHOIS查询和检查指令所用到的WHOIS期望结果文件;
[0020]5)根据配置文件,依序读取测试指令集文件中指令,根据每条指令类型不同分别解释执行相应功能;若是域名注册服务操作指令,则读取注册客户端报文文件内容,连接域名注册服务器,将此报文发送给域名注册服务器,并接收服务器处理完后返回的响应报文;若是数据库操作指令,则执行相应数据库操作;若是WHOIS查询和检查指令则执行WHOIS查询功能并进行测试结果检查,从而判断WHOIS服务响应结果正确性;
[0021]6)全部指令执行完毕,生成测试报告。
[0022]进一步地,步骤I)中所述测试相关配置包括WHOIS服务和域名注册服务IP、服务端口、数据库描述、测试数据存放路径。
[0023]进一步地,步骤2)中所述测试指令集文件根据测试设计,定义和实现少量测试指令,并结合测试执行步骤编写。
[0024]进一步地,步骤5)中数据库操作包括实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册业务立即执行。
[0025]进一步地,步骤5)中所述测试结果检查包括将WHOIS期望结果按格式存入文件实现查询结果逐行对比。
[0026]通过采取上述的技术方案,本发明具有以下有益效果:
[0027]I)通过自动化测试系统和方法的设计,自动模拟业务操作产生数据、查询数据、校验数据的测试过程,提高测试效率。
[0028]2)避开部分业务规则限制,直接快速产生所需要的域名相关数据,完成测试过程。
[0029]3)支持尽可能多功能的测试自动化,覆盖绝大多数测试用例。
[0030]4)通过此系统和方法的使用,使测试者只需要维护测试数据,不需要维护脚本或代码,降低测试成本,降低自动化测试技能要求。
【附图说明】
[0031]图1为本发明的系统模块组成示意图。
[0032]图2为本发明的方法流程示意图。
【具体实施方式】
[0033]为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
[0034]如图1所示,本发明提出一种可以对域名WHOIS服务进行自动化测试的系统,通过模拟域名注册服务客户端结合修改数据库的方式,获得WHOIS服务测试所需的数据。包括以下模块或子系统:
[0035]I),配置管理模块负责读取和解析配置文件内容,根据配置获取配置信息,通过配置信息可以获取被测的WHOIS服务信息、数据库信息、域名注册服务信息、测试数据存放目录。
[0036]2),注册客户端模拟模块负责从注册系统客户端报文文件中读取进行域名业务操作所需的XML报文,模拟注册客户端跟域名注册服务器进行报文交互,完成域名注册业务操作。
[0037]3),数据库操作模块负责执行对数据库的操作指令,通过增、删、改等数据库操作指令,实现对部分业务操作结果的模拟,达到快速制造所需数据库数据的目的。还能通过对数据库中域名相关日期字段的修改(update)操作,让域名注册业务能立即顺利进行,避免Transfer等业务操作对特定日期的等待。
[0038]4),WHOIS查询模块负责连接WHOIS服务并执行查询操作,获取查询结果以便进行检查,查询类型包括域名、主机、联系人、注册商。
[0039]5),结果检查模块负责读取WHOIS期望结果文件内容,跟WHOIS查询模块所得查询结果进行比对,从而判断WHOIS服务响应结果正确性。具体地,通过将WHOIS期望结果按格式存入文件,跟查询结果逐行对比。
[0040]6),执行控制模块负责读取测试指令集文件,逐行解析和判断测试指令,根据指令类型分别调用注册客户端模拟模块、数据库操作模块、WHOIS查询模块和结果检查模块完成相应功能。若执行完全部指令,则生成测试报告。
[0041]测试指令集文件内容为测试指令的集合,每行为一条测试指令,测试指令共有三种类型:域名注册服务操作指令、数据库操作指令、WHOIS查询和检查指令。
[0042]域名注册服务操作指令,举例如下:
[0043]SrsCommand:1nputfile = dirl/xm lfilename ;opcode = 1000
[0044]其中inputfile为域名注册业务操作所需的XML报文文件名,opcode为域名注册服务器执行域名注册业务操作期望的结果代码,用以判断此指令执行结果正确性。此指令功能由注册客户端模拟模块实现。
[0045]数据库操作指令,举例如下:
[0046]DBCommand:update table_domain t set tatus = ’ I’where t.domain—name—3-bc.cn
[0047]此指令功能由数据库操作模块实现,完成数据库中一条记录的修改(update)操作。
[0048]WHOIS查询和检查指令,举例如下:
[0049]WHOISCommand:object = abc.cn ;type = domain ; checkfiIe = dir I/checkfilename
[0050]其中object为待查询的内容;type为查询类型,可能的取值分别可对应域名、主机、联系人、注册商^heckfile为期望的查询结果内容所在的文件,即WHOIS期望结果文件。此指令功能由WHOIS查询模块和结果检查模块实现。
[0051]每个WHOIS期望结果文件内容每行为一键值对,形如
[0052]域名=abc.com.cn
[0053]域名状态=ok (正常)
[0054]......
[0055]每个注册系统客户端报文文件内容为一完整的XML报文字符串,域名注册系统客户端可在建立连接后,直接将报文发送给域名注册服务器端,由服务器根据报文完成域名业务操作。
[0056]以下结合如图2所示的流程示意图,对本发明的方法的具体步骤描述如下:
[0057]I)配置文件中进行测试相关配置,如WHOIS服务和域名注册服务IP、服务端口、数据库描述、测试数据存放路径等信息。
[0058]2)根据测试设计,定义和实现少量测试指令,并结合测试执行步骤编写测试指令集文件,将与测试步骤对应的测试指令组织在一个或多个指令集文件中。
[0059]3)编写域名注册服务操作指令所用到的注册客户端报文文件。
[0060]4)编写WHOIS查询和检查指令所用到的WHOIS期望结果文件。
[0061]5)系统依序读取测试指令集文件中指令,根据每条指令类型不同分别解释执行相应功能。若是域名注册服务操作指令,则读取注册客户端报文文件内容,连接域名注册服务器,将此报文发送给域名注册服务器,并接收服务器处理完后返回的响应报文,完成域名注册相关业务操作。若是数据库操作指令,则执行相应数据库操作,完成对数据的增、删、改。若是WHOIS查询和检查指令则执行WHOIS查询功能并进行测试结果检查。
[0062]6)全部指令执行完毕,生成测试报告。
[0063]由上述可知,本发明具有下述的优点:
[0064]I)测试自动化率高,可覆盖全部业务逻辑和功能性用例,提高了测试效率。2)对每个待测用例,测试人员只需要准备少量指令和数据便可实现自动化测试,可维护性强。3)对操作日期有要求的测试用例,也无需等待到特定日期便可立即自动化进行测试。4)对操作成本较高的业务模拟操作,可以直接用指令操作数据库的方式获得最终模拟结果数据,从而可实现对被测系统的快速自动化测试。
【主权项】
1.一种域名WHOIS服务自动化测试系统,包括: 配置管理模块,用以读取和解析配置文件内容,从中获取配置信息; 注册客户端模拟模块,用以进行域名注册业务模拟操作; 数据库操作模块,用以执行对数据库的操作指令实现对部分业务操作结果的模拟;并使域名注册业务立即执行; WHOIS查询模块,用以连接WHOIS服务并执行查询操作,获取查询结果; 结果检查模块,用以读取WHOIS期望结果文件内容,与所述查询结果进行比对,从而判断WHOIS服务响应结果正确性。2.如权利要求1所述的域名WHOIS服务自动化测试系统,其特征在于,所述配置信息包括:被测的WHOIS服务信息、数据库信息、域名注册服务信息及测试数据存放目录。3.如权利要求1所述的域名WHOIS服务自动化测试系统,其特征在于,所述进行域名注册业务模拟操作包括从注册系统客户端报文文件中读取进行域名业务操作所需的XML报文,模拟注册客户端跟域名注册服务器进行报文交互,完成域名注册业务模拟操作。4.如权利要求1所述的域名WHOIS服务自动化测试系统,其特征在于,所述数据库操作模块通过数据库操作指令,实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册业务立即执行。5.如权利要求1所述的域名WHOIS服务自动化测试系统,其特征在于,还包括执行控制模块,用以读取测试指令集文件,逐行解析和判断测试指令,根据指令类型分别调用注册客户端模拟模块、数据库操作模块、WHOIS查询模块和结果检查模块完成相应功能。6.一种域名WHOIS服务自动化测试方法,包括以下步骤: 1)在配置文件中进行测试相关配置; 2)编写测试指令集文件,将与测试步骤对应的测试指令组织在一个或多个指令集文件中; 3)创建编写域名注册服务操作指令所用到的注册客户端报文文件; 4)创建编写WHOIS查询和检查指令所用到的WHOIS期望结果文件; 5)根据配置文件,依序读取测试指令集文件中指令,根据每条指令类型不同分别解释执行相应功能;若是域名注册服务操作指令,则读取注册客户端报文文件内容,连接域名注册服务器,将此报文发送给域名注册服务器,并接收服务器处理完后返回的响应报文;若是数据库操作指令,则执行相应数据库操作;若是WHOIS查询和检查指令则执行WHOIS查询功能并进行测试结果检查,从而判断WHOIS服务响应结果正确性; 6)全部指令执行完毕,生成测试报告。7.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤I)中所述测试相关配置包括WHOIS服务和域名注册服务IP、服务端口、数据库描述、测试数据存放路径。8.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤2)中所述测试指令集文件根据测试设计,定义和实现少量测试指令,并结合测试执行步骤编写。9.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤5)中数据库操作包括实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册业务立即执行。10.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤5)中所述测试结果检查包括将WHOIS期望结果按格式存入文件实现查询结果逐行对比。
【专利摘要】本发明提供一种域名WHOIS服务自动化测试系统,包括:配置管理模块、注册客户端模拟模块、数据库操作模块、WHOIS查询模块、结果检查模块及执行控制模块。本发明还提供基于上述系统实现的方法。通过上述系统和方法本发明具有以下有益效果:1)通过自动化测试系统和方法的设计,自动模拟业务操作产生数据、查询数据、校验数据的测试过程,提高测试效率。2)避开部分业务规则限制,直接快速产生所需要的域名相关数据,完成测试过程。3)支持尽可能多功能的测试自动化,覆盖绝大多数测试用例。4)通过此系统和方法的使用,使测试者只需要维护测试数据,不需要维护脚本或代码,降低测试成本,降低自动化测试技能要求。
【IPC分类】H04L12/26
【公开号】CN104901845
【申请号】CN201510253439
【发明人】肖建芳, 王骞, 刘冰, 崔月霞, 鲁慧鑫
【申请人】中国互联网络信息中心
【公开日】2015年9月9日
【申请日】2015年5月18日

最新回复(0)