CN104901845B - 域名whois服务自动化测试系统和方法 - Google Patents
域名whois服务自动化测试系统和方法 Download PDFInfo
- Publication number
- CN104901845B CN104901845B CN201510253439.XA CN201510253439A CN104901845B CN 104901845 B CN104901845 B CN 104901845B CN 201510253439 A CN201510253439 A CN 201510253439A CN 104901845 B CN104901845 B CN 104901845B
- Authority
- CN
- China
- Prior art keywords
- domain name
- whois
- test
- service
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种域名WHOIS服务自动化测试系统,包括:配置管理模块、注册客户端模拟模块、数据库操作模块、WHOIS查询模块、结果检查模块及执行控制模块。本发明还提供基于上述系统实现的方法。通过上述系统和方法本发明具有以下有益效果:1)通过自动化测试系统和方法的设计,自动模拟业务操作产生数据、查询数据、校验数据的测试过程,提高测试效率。2)避开部分业务规则限制,直接快速产生所需要的域名相关数据,完成测试过程。3)支持尽可能多功能的测试自动化,覆盖绝大多数测试用例。4)通过此系统和方法的使用,使测试者只需要维护测试数据,不需要维护脚本或代码,降低测试成本,降低自动化测试技能要求。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种域名WHOIS服务自动化测试系统和方法。
背景技术
域名WHOIS服务是重要的互联网基础服务,其工作模式遵从相关RFC规定,根据域名注册库信息,向用户提供关于域名、主机、联系人、注册商等域名注册相关信息的查询服务。
域名注册库内容主要来源于域名注册服务,少量内容来自于其他业务系统。WHOIS服务是一种查询响应服务,主要针对用户的查询,从数据库提取相关内容并按一定格式组装后响应给查询者。对此服务的的测试方式一般是模拟域名注册服务及其他业务系统的业务操作,在数据库中制造各种域名相关数据,然后进行WHOIS查询,将查询结果跟期望结果(主要来自于数据库)比对。这类测试通常有如下缺点:a、需要分别操纵注册服务、业务系统、WHOIS服务后,才能完成制造数据、查询数据、检查数据的测试过程,效率很低。b、WHOIS查询结果一般含有多个字段值,人工比对容易有误差。c、由于业务规则限制,如Transfer等部分域名注册服务操作对操作日期有特定要求,不方便直接通过域名注册服务立即进行模拟数据的制造,导致测试工期较长。
发明内容
针对上述现有技术存在的问题,本发明的目的在于提供一种域名WHOIS服务自动化测试系统,包括:
配置管理模块,用以读取和解析配置文件内容,从中获取配置信息;
注册系统客户端模拟模块,用以进行域名注册服务模拟操作;
数据库操作模块,用以执行对数据库的操作指令实现对部分业务操作结果的模拟;并使域名注册服务立即执行;
WHOIS查询模块,用以连接WHOIS服务并执行查询操作,获取查询结果;
结果检查模块,用以读取WHOIS期望结果文件内容,与所述查询结果进行比对,从而判断WHOIS服务响应结果正确性;
执行控制模块,用以读取测试指令集文件,逐行解析和判断测试指令,根据指令类型分别调用注册系统客户端模拟模块、数据库操作模块、WHOIS查询模块和结果检查模块完成相应功能;若执行完全部指令,则生成测试报告。
进一步地,所述配置信息包括:被测的WHOIS服务信息、数据库信息、域名注册服务信息及测试数据存放目录。
进一步地,所述进行域名注册服务模拟操作包括从注册系统客户端报文文件中读取进行域名注册服务操作所需的XML报文,模拟注册系统客户端跟域名注册服务器进行报文交互,完成域名注册服务模拟操作。
进一步地,所述数据库操作模块通过数据库操作指令,实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册服务立即执行。
进一步地,所述读取WHOIS期望结果文件内容,与所述查询结果进行比对包括将WHOIS期望结果按格式存入文件实现查询结果逐行对比。
本发明的另一目的在于提供一种域名WHOIS服务自动化测试方法,包括以下步骤:
1)在配置文件中进行测试相关配置;
2)编写测试指令集文件,将与测试步骤对应的测试指令组织在一个或多个指令集文件中;
3)创建编写域名注册服务操作指令所用到的注册系统客户端报文文件;
4)创建编写WHOIS查询和检查指令所用到的WHOIS期望结果文件;
5)根据配置文件,依序读取测试指令集文件中指令,根据每条指令类型不同分别解释执行相应功能;若是域名注册服务操作指令,则读取注册系统客户端报文文件内容,连接域名注册服务器,将此报文发送给域名注册服务器,并接收服务器处理完后返回的响应报文;若是数据库操作指令,则执行相应数据库操作;若是WHOIS查询和检查指令则执行WHOIS查询功能并进行测试结果检查,从而判断WHOIS服务响应结果正确性;
6)全部指令执行完毕,生成测试报告。
进一步地,步骤1)中所述测试相关配置包括WHOIS服务和域名注册服务IP、服务端口、数据库描述、测试数据存放路径。
进一步地,步骤2)中所述测试指令集文件根据测试设计,定义和实现少量测试指令,并结合测试执行步骤编写。
进一步地,步骤5)中数据库操作包括实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册服务立即执行。
进一步地,步骤5)中所述测试结果检查包括将WHOIS期望结果按格式存入文件实现查询结果逐行对比。
通过采取上述的技术方案,本发明具有以下有益效果:
1)通过自动化测试系统和方法的设计,自动模拟业务操作产生数据、查询数据、校验数据的测试过程,提高测试效率。
2)避开部分业务规则限制,直接快速产生所需要的域名相关数据,完成测试过程。
3)支持尽可能多功能的测试自动化,覆盖绝大多数测试用例。
4)通过此系统和方法的使用,使测试者只需要维护测试数据,不需要维护脚本或代码,降低测试成本,降低自动化测试技能要求。
附图说明
图1为本发明的系统模块组成示意图。
图2为本发明的方法流程示意图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
如图1所示,本发明提出一种可以对域名WHOIS服务进行自动化测试的系统,通过模拟域名注册服务客户端结合修改数据库的方式,获得WHOIS服务测试所需的数据。包括以下模块或子系统:
1),配置管理模块负责读取和解析配置文件内容,根据配置获取配置信息,通过配置信息可以获取被测的WHOIS服务信息、数据库信息、域名注册服务信息、测试数据存放目录。
2),注册系统客户端模拟模块负责从注册系统客户端报文文件中读取进行域名注册服务操作所需的XML报文,模拟注册系统客户端跟域名注册服务器进行报文交互,完成域名注册服务操作。
3),数据库操作模块负责执行对数据库的操作指令,通过增、删、改等数据库操作指令,实现对部分业务操作结果的模拟,达到快速制造所需数据库数据的目的。还能通过对数据库中域名相关日期字段的修改(update)操作,让域名注册服务能立即顺利进行,避免Transfer等业务操作对特定日期的等待。
4),WHOIS查询模块负责连接WHOIS服务并执行查询操作,获取查询结果以便进行检查,查询类型包括域名、主机、联系人、注册商。
5),结果检查模块负责读取WHOIS期望结果文件内容,跟WHOIS查询模块所得查询结果进行比对,从而判断WHOIS服务响应结果正确性。具体地,通过将WHOIS期望结果按格式存入文件,跟查询结果逐行对比。
6),执行控制模块负责读取测试指令集文件,逐行解析和判断测试指令,根据指令类型分别调用注册系统客户端模拟模块、数据库操作模块、WHOIS查询模块和结果检查模块完成相应功能。若执行完全部指令,则生成测试报告。
测试指令集文件内容为测试指令的集合,每行为一条测试指令,测试指令共有三种类型:域名注册服务操作指令、数据库操作指令、WHOIS查询和检查指令。
域名注册服务操作指令,举例如下:
SrsCommand:inputfile=dir1/xmlfilename;opcode=1000
其中inputfile为域名注册服务操作所需的XML报文文件名,opcode为域名注册服务器执行域名注册服务操作期望的结果代码,用以判断此指令执行结果正确性。此指令功能由注册系统客户端模拟模块实现。
数据库操作指令,举例如下:
DBCommand:update table_domain t set tatus='1'where t.domain_name='abc.cn'
此指令功能由数据库操作模块实现,完成数据库中一条记录的修改(update)操作。
WHOIS查询和检查指令,举例如下:
WHOISCommand:object=abc.cn;type=domain;checkfile=dir1/checkfilename
其中object为待查询的内容;type为查询类型,可能的取值分别可对应域名、主机、联系人、注册商;checkfile为期望的查询结果内容所在的文件,即WHOIS期望结果文件。此指令功能由WHOIS查询模块和结果检查模块实现。
每个WHOIS期望结果文件内容每行为一键值对,形如
域名=abc.com.cn
域名状态=ok(正常)
……
每个注册系统客户端报文文件内容为一完整的XML报文字符串,域名注册系统客户端可在建立连接后,直接将报文发送给域名注册服务器端,由服务器根据报文完成域名注册服务操作。
以下结合如图2所示的流程示意图,对本发明的方法的具体步骤描述如下:
1)配置文件中进行测试相关配置,如WHOIS服务和域名注册服务IP、服务端口、数据库描述、测试数据存放路径等信息。
2)根据测试设计,定义和实现少量测试指令,并结合测试执行步骤编写测试指令集文件,将与测试步骤对应的测试指令组织在一个或多个指令集文件中。
3)编写域名注册服务操作指令所用到的注册系统客户端报文文件。
4)编写WHOIS查询和检查指令所用到的WHOIS期望结果文件。
5)系统依序读取测试指令集文件中指令,根据每条指令类型不同分别解释执行相应功能。若是域名注册服务操作指令,则读取注册系统客户端报文文件内容,连接域名注册服务器,将此报文发送给域名注册服务器,并接收服务器处理完后返回的响应报文,完成域名注册相关业务操作。若是数据库操作指令,则执行相应数据库操作,完成对数据的增、删、改。若是WHOIS查询和检查指令则执行WHOIS查询功能并进行测试结果检查。
6)全部指令执行完毕,生成测试报告。
由上述可知,本发明具有下述的优点:
1)测试自动化率高,可覆盖全部业务逻辑和功能性用例,提高了测试效率。2)对每个待测用例,测试人员只需要准备少量指令和数据便可实现自动化测试,可维护性强。3)对操作日期有要求的测试用例,也无需等待到特定日期便可立即自动化进行测试。4)对操作成本较高的业务模拟操作,可以直接用指令操作数据库的方式获得最终模拟结果数据,从而可实现对被测系统的快速自动化测试。
Claims (10)
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服务自动化测试方法,其特征在于,步骤1)中所述测试相关配置包括WHOIS服务和域名注册服务IP、服务端口、数据库描述、测试数据存放路径。
8.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤2)中所述测试指令集文件根据测试设计,定义和实现少量测试指令,并结合测试执行步骤编写。
9.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤5)中数据库操作包括实现对部分业务操作结果的模拟;通过对数据库中域名相关日期字段的修改操作,使域名注册服务立即执行。
10.如权利要求6所述的域名WHOIS服务自动化测试方法,其特征在于,步骤5)中所述测试结果检查包括将WHOIS期望结果按格式存入文件实现查询结果逐行对比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510253439.XA CN104901845B (zh) | 2015-05-18 | 2015-05-18 | 域名whois服务自动化测试系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510253439.XA CN104901845B (zh) | 2015-05-18 | 2015-05-18 | 域名whois服务自动化测试系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104901845A CN104901845A (zh) | 2015-09-09 |
CN104901845B true CN104901845B (zh) | 2018-03-16 |
Family
ID=54034248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510253439.XA Active CN104901845B (zh) | 2015-05-18 | 2015-05-18 | 域名whois服务自动化测试系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104901845B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122289B (zh) * | 2016-02-25 | 2021-01-15 | 创新先进技术有限公司 | 系统回归测试的方法、装置及系统 |
CN105897481B (zh) * | 2016-05-20 | 2019-02-26 | 北京百度网讯科技有限公司 | 域名信息操作方法和装置 |
CN106571981B (zh) * | 2016-11-15 | 2019-07-19 | 中国互联网络信息中心 | 一种dns服务器自动化测试方法与系统 |
CN106649099B (zh) * | 2016-11-15 | 2019-04-26 | 中国互联网络信息中心 | 一种dns监测服务自动化测试方法与系统 |
CN109981419A (zh) * | 2019-04-11 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 负载均衡特性的测试方法、装置、系统、设备及存储介质 |
CN112134902B (zh) * | 2020-09-29 | 2022-04-15 | 科大国创云网科技有限公司 | 一种基于api实现的radb注册方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217425A (zh) * | 2008-01-04 | 2008-07-09 | 中兴通讯股份有限公司 | Web测试的方法及装置 |
CN102710460A (zh) * | 2012-05-14 | 2012-10-03 | 南京邮电大学 | 一种基于单子技术的Web服务测试数据自动生成方法 |
EP2610754A1 (en) * | 2011-12-28 | 2013-07-03 | Verisign, Inc. | Test automation environment for testing domain name resolution |
CN103488712A (zh) * | 2013-09-10 | 2014-01-01 | 迈普通信技术股份有限公司 | 一种自动化测试方法及系统 |
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334220B2 (en) * | 2004-03-11 | 2008-02-19 | Microsoft Corporation | Data driven test automation of web sites and web services |
-
2015
- 2015-05-18 CN CN201510253439.XA patent/CN104901845B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217425A (zh) * | 2008-01-04 | 2008-07-09 | 中兴通讯股份有限公司 | Web测试的方法及装置 |
EP2610754A1 (en) * | 2011-12-28 | 2013-07-03 | Verisign, Inc. | Test automation environment for testing domain name resolution |
CN102710460A (zh) * | 2012-05-14 | 2012-10-03 | 南京邮电大学 | 一种基于单子技术的Web服务测试数据自动生成方法 |
CN103488712A (zh) * | 2013-09-10 | 2014-01-01 | 迈普通信技术股份有限公司 | 一种自动化测试方法及系统 |
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104901845A (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104901845B (zh) | 域名whois服务自动化测试系统和方法 | |
CN104050078B (zh) | 测试脚本生成系统 | |
CN108319547A (zh) | 测试用例生成方法、装置和系统 | |
CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
CN103946809B (zh) | 为测试服务器产生产品服务器负载活动 | |
CN106354634A (zh) | 接口测试方法及装置 | |
CN107273122A (zh) | 基于解耦机制的可迭代组建业务系统的方法及其终端 | |
CN109902017A (zh) | 一种基于RobotFramework测试Dubbo接口的方法及终端 | |
CN108446223B (zh) | 一种基于动态编译的业务场景自动化测试方法 | |
CN107741903A (zh) | 应用程序兼容性测试方法、装置、计算机设备和存储介质 | |
CN107528751B (zh) | 一种动态分发Zabbix监控数据的系统及其管理方法 | |
CN105205757A (zh) | 基于Android的选修系统 | |
CN104899134B (zh) | 域名注册服务器自动化测试系统和方法 | |
CN107784068A (zh) | 数据变化的获取方法、装置、存储介质、处理器及服务端 | |
CN110297761A (zh) | 返回数据的获取方法、装置、计算机设备及存储介质 | |
CN103810094B (zh) | 一种测试案例的执行方法、装置和测试工具 | |
CN105630667A (zh) | 一种测试方法和终端设备 | |
CN104954196A (zh) | 一种dns增量数据更新服务自动化测试方法和系统 | |
CN110399309A (zh) | 一种测试数据生成方法及装置 | |
US20170270163A1 (en) | Data Information Framework | |
CN109743233A (zh) | 一种对强身份认证系统进行数据采集的方法及计算机设备 | |
CN109857654A (zh) | 一种自动生成测试用例的时序流程图的方法、装置及系统 | |
CN107480050A (zh) | 一种自动测试更新包的测试方法 | |
CN105843602A (zh) | 一种用于软件开发的方法和系统 | |
Jumagaliyev et al. | Using DSML for handling multi-tenant evolution in cloud applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |