域名注册服务器自动化测试系统和方法

文档序号:8922502阅读:748来源:国知局
域名注册服务器自动化测试系统和方法
【技术领域】
[0001]本发明属于域名技术、域名注册服务器测试技术领域,具体涉及一种域名注册服务器自动化测试系统和方法。
【背景技术】
[0002]域名注册服务器作为由注册局运营的互联网基础服务,需要满足代表注册商或注册人的客户端连接和业务办理需求,一般应根据RFC若干相关文件中所定义的通信协议来进行设计和实现。这些协议(Extensible Provis1ning Protocol)规定域名服务器和客户端之间通过一系列符合XML Schema结构要求的XML报文进行交互。服务器需要支持Domain (域名),Host (主机),Contact (联系人)三大对象,能实现对三大对象的Create、Update、Check、Info、Transfer、Renew、Delete 命令操作,还需要支持 Login、Logout、Greeting、Hello、Poll 等管理命令。
[0003]对域名注册服务器的测试通常需要在客户端制造XML报文,发送到服务器,服务器进行相应业务处理后用XML报文将处理结果返回给客户端,客户端基于此响应报文判定处理正确性。为了提高测试效率,通常需要进行自动化测试的设计,但对域名注册服务器的自动化测试通常有如下缺点:a、需要手工准备客户端的XML请求报文,工作量仍然很大。b、对测试结果和服务器响应报文正确性缺乏有效、简单的检查手段。C、对测试用例覆盖率不高,不能大比例地将测试用例自动化执行。d、由于业务规则的限制,对诸如Transfer、Renew等命令操作,经常需要等到特定的日期和时刻才能进行,因此经常无法在自动化测试过程中快速地直接进行测试。e、很难管理服务器和单个测试客户端自动完成需要两个客户端才能实现的Transfer操作。

【发明内容】

[0004]本发明针对上述问题,提供一种域名注册服务器自动化测试系统和方法。采用该方案,测试人员只需要输入少量指令和关键字段值,而不需要编写XML报文,能够减少测试人工工作量;能够以多种方式,自动进行测试结果检查,并让服务器所支持的对象和命令绝大多数都可以进行自动化测试,极大提高自动化测试覆盖率和测试效率。
[0005]为实现上述目的,本发明采用的技术方案如下:
[0006]一种域名注册服务器自动化测试系统,包括以下模块或子系统:
[0007]配置管理模块,负责读取和解析配置文件内容,在配置文件中进行测试相关配置;
[0008]XML报文处理模块,负责生成客户端XML报文和解析服务器端返回的XML报文;
[0009]数据库操作模块,负责解析和执行对数据库的操作指令(包括增、删、改、查操作);
[0010]Shell操作模块,负责解析和执行Shell命令,完成对本地或远程服务器的操作;
[0011]结果检查模块,负责对测试结果进行检测,从而判断用例执行正确性;
[0012]执行控制模块,负责对被测服务器进行连接管理和测试用例的循环执行控制。
[0013]一种采用上述系统的域名注册服务器自动化测试方法,其步骤包括:
[0014]I)配置文件中进行测试相关配置,包括被测系统服务IP、服务端口、服务部署路径、用例描述文件名、测试报告文件名、数据库描述;
[0015]2)在测试用例描述文件中描述测试用例,包括每个客户端请求报文对应的报文关键字输入文件名、需要检查的响应报文字段值、响应报文中需要存在或不存在的字符串,并根据需要嵌入数据库操作指令和Shell操作指令;
[0016]3)编写报文关键字输入文件,将生成对应的XML报文所需要的报文关键字段值录入;
[0017]4)根据配置,与被测服务器建立连接,依序读取用例描述并解释执行测试用例;
[0018]5)根据每个用例中输入的检查指令和待检查内容,执行测试结果检查,可包括数据库检查和响应报文的检查;
[0019]6)全部用例执行完毕后,断开和服务器的连接,生成测试报告。
[0020]本发明的特点是:1)根据协议和用户输入的报文关键字段值自动生成XML报文,模拟客户端和服务器之间的通信操作。2)将数据库操作指令嵌入到测试用例描述中,在用例执行过程中很方便地实现对数据库的操作,得到需要的测试数据。3)将Shell操作指令嵌入到测试用例描述中,在用例执行过程中很方便地实现对本地或远程服务器的管理,得到需要的测试环境。4)测试结果检查时支持直接与数据库比对,也可以直接在服务器响应报文中进行特定字符串的存在和不存在判定。
[0021]与现有技术相比,本发明的有益效果如下:
[0022]I)测试自动化率尚,最尚可达90%以上,提尚了测试效率。
[0023]2)对每个待测用例,测试人员只需要准备少量指令描述和报文关键字的取值,而不需要编写具体的XML报文,工作量减少,复杂度降低。
[0024]3)对于Renew,Transfer等对操作时间有严格要求的操作,系统也可以支持自动化测试。
[0025]4)可以自动实现对被测服务器的配置修改和重启,从而可以实现单客户端代表不同注册商,从而能进行Transfer操作。
[0026]5)测试过程中只需要准备用例对应的测试指令描述和报文关键字数据,而不需要代码开发和维护工作,降低了测试人员自动化测试工作难度。
[0027]6)可以自动进行测试结果检查,并生成测试报告。
【附图说明】
[0028]图1是实施例中域名注册服务器自动化测试系统的模块组成示意图。
[0029]图2是实施例中域名注册服务器自动化测试流程图。
【具体实施方式】
[0030]为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
[0031]本发明提供一种数据驱动的可以对域名注册服务器进行自动化测试的系统,其特征是包括以下模块或子系统,如图1所示。
[0032]I),配置管理模块,负责读取和解析配置文件内容,根据配置获取被测系统(待测试的域名注册服务器)的服务IP、服务端口、服务部署路径、用例描述文件名、测试报告文件名、数据库描述等信息。
[0033]2),XML报文处理模块,负责生成客户端XML报文和解析注册服务器端返回的XML响应报文。生成客户端XML报文时需要读取测试用例对应的报文关键字输入文件,解析出一组关键字,然后根据EPP协议和相应的XML Schema构建客户端XML报文;客户端接收到注册服务器响应的XML报文后,根据协议解析报文,从中解析出用户关注的关键字段值或特定字符串。
[0034]3),数据库操作模块,负责解析和执行对数据库的操作指令,包括增、删、改、查操作。
[0035]4),Shell操作模块,负责解析和执行Shell命令,完成对本地或远程服务器的操作,如修改域名注册服务器的配置文件、重新启动服务、执行Linux命令等。
[0036]5),结果检查模块,对测试结果进行检测,从而判断用例执行正确性。支持3种检查方式:第一,可以将期望结果与数据库查询结果对比;第二,可以将期望结果与服务器响应报文解析出来的特定字段或字符串进行对比;第三,直接判断服务器响应报文中包含或不包含特定字符串。
[0037]6),执行控制模块,负责对被测服务器进行连接管理和测试用例的循环执行控制。具体功能包括:根据配置连接被测的域名注册服务器,根据用例描述文件中的用例描述解释执行用例指令,根据需要调用XML报文处理模块读取关键字输入文件中的关键字并组装报文,将报文发送到服务器端,并接受服务器端返回的响应报文;若用例描述文件中有数据库或Shell操作指令,则调用相应模块进行处理;调用结果检查模块判断用例执行结果的正确性;生成测试报告。
[0038]本实施例的自动化测试流程如图2所示。其步骤描述如下:
[0039]I)在配置文件中进行测试相关配置,如被测系统服务IP、服务端口、服务部署路径、用例描述文件名、测试报告文件名、数据库描述等信息。
[0040]2)在测试用例描述文件中描述测试用例,包括每个客户端请求报文对应的报文关键字输入文件名、需要检查的字段值、响应报文中需要存
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1