一种基于协议接口的自动化测试方法及系统的制作方法

文档序号:9914321阅读:642来源:国知局
一种基于协议接口的自动化测试方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据测试领域,尤其涉及一种基于协议接口的自动化测试方法及系统。
【背景技术】
[0002]http接口测试需要按照常规测试、边界测试、异常测试、故障测试的测试流进行测试工作,测试流的每个单元测试又包括很多细分类,因此,http接口测试工作是多维度的,这就需要测试人员在测试前做好分析,提前做测试数据准备,以保证覆盖性更加全面。
[0003]现有技术中,接口测试主要分为以下两种方式:一是手工测试,由人工操作输入各种类型参数值及参数组合,这种方式需要大量人力资源,并且测试所覆盖的完整程度有限;二是采用数据仓库的形式,提前生成或拷贝一份线上数据,在测试时候调用所述线上数据,这种方式的缺点在于:提前生成数据,不够灵活,不能满足临时变更的需求,除此,拷贝线上数据供测试使用,不一定能全面覆盖所有逻辑规则,同样无法保证测试数据的完整性。
[0004]现有技术中没有一种既节省人力,又保证数据完整性的http接口测试技术,因此亟需研发一种基于协议接口的自动化测试方法及系统,能够根据人工测试需求,对接口进行参数化配置后,即可按规则生成测试数据,完成接口自动化测试工作。

【发明内容】

[0005]为克服现有技术的不足,本发明的目的是:提供一种基于协议接口的自动化测试方法,能够根据人工测试需求,对接口进行参数化配置后,即可按规则生成测试数据,完成接口自动化测试工作。
[0006]为了解决【背景技术】中的技术问题,本发明提供了一种基于协议接口的自动化测试方法,包括以下步骤:
[0007]S1、接收测试请求,所述测试请求包括接口设计文档;
[0008]S2、分析所述接口设计文档,提取服务接口及其测试数据配置规则;
[0009]S3、根据所述测试数据配置规则,生成测试数据,并执行所述测试请求;
[0010]S4、返回测试结果。
[0011 ]进一步地,SI之前还包括根据测试需求,在接口设计文档中设定一个或多个服务接口的测试数据配置规则,S2还包括将所述接口设计文档中的数据转换为对象。
[0012]优选地,S2进一步包括保存所述服务接口的测试数据配置规则,以等待下一次回归测试。
[0013]进一步地,如果执行测试请求失败,则将所述测试结果记录到日志中并进行分析;如果执行测试请求成功,则对所述测试结果进行归类统计,并将归类统计结果生成报表。
[0014]具体地,所述服务接口为http协议接口,S3中所述执行服务接口请求,进一步为调用php-curl函数执行http接口测试请求,所述日志包括服务的http地址、接口名、接口请求返回的http状态码、接口返回内容及错误码。
[0015]本发明还提供了一种基于协议接口的自动化测试系统,包括以下模块:
[0016]接收模块,用于接收测试请求,所述测试请求包括接口设计文档;
[0017]提取模块,用于分析所述接口设计文档,提取服务接口及其测试数据配置规则;
[0018]执行模块,用于根据所述测试数据配置规则,生成测试数据,并执行所述测试请求;
[0019]返回模块,用于返回测试结果。
[0020]进一步地,本发明的基于协议接口的自动化测试系统还包括配置模块和转换模块,所述配置模块用于根据测试需求,在接口设计文档中设定一个或多个服务接口的测试数据配置规则;所述转换模块用于将所述接口设计文档中的数据转换为对象。
[0021 ]优选地,本发明的基于协议接口的自动化测试系统还包括预备模块,用于包括保存所述服务接口的测试数据配置规则,以等待下一次回归测试。
[0022]具体地,所述返回模块包括日志模块和统计模块,所述日志模块用于在执行测试请求失败时,将所述测试结果记录到日志中并进行分析,所述统计模块用于在执行测试请求成功时,对返回的测试结果进行归类统计,并将归类统计结果生成报表。
[0023]具体地,所述提取模块提取的服务接口为http协议接口,所述执行模块通过调用php-curl函数执行http接口测试请求,所述日志模块包括记录服务的http地址、接口名、接口请求返回的http状态码、接口返回内容及错误码。
[0024]采用上述技术方案,本发明的基于协议接口的自动化测试方法结合具体测试工作的需求,解决后端系统测试效率问题,具有简单、可靠、易操作的优点,并能够满足系统快速迭代升级需求:
[0025]①简单:在理解测试需求后,输入系统架构设计文档,即可提取相关服务接口;
[0026]②可靠:对于重复性的测试工作,自动化程序执行测试工作比人工测试更可靠;
[0027]③易操作:在录入测试数据生成规则后,在测试界面进行简单配置,即可一键生成测试数据并执行测试请求;
[0028]④快速迭代:自动化测试系统提供便利性,提高测试效率,满足快速迭代升级需求。
[0029]综上,本发明的基于协议接口的自动化测试方法提高了接口测试效率和数据准备的灵活性,测试者仅需涉及测试数据生成规则,即可满足工作需求,系统根据规则生成测试数据,执行测试,收集结果并对结果归类,很大程度地节约人力测试成本。
【附图说明】
[0030]为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0031]图1是本发明实施例提供的基于协议接口的自动化测试方法的流程示意图;
[0032]图2是本发明实施例提供的基于协议接口的自动化测试系统的框图;
[0033]图3是本发明实施例提供的接口测试的需求分类图;
[0034]图4是本发明实施例提供的单个接口测试的系统界面示意图。
【具体实施方式】
[0035]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]实施例1:图3是本发明实施例提供的接口测试的需求分类图,由图中可以看出,所述接口测试的流程包括常规测试、边界测试、异常测试和故障测试等等,每个测试单元又包括很多细分类:所述常规测试包括数据源字段校验、数据源字段值校验和测试数据准备;所述边界测试包括参数边界测试和业务边界测试;所述异常测试包括内存耗尽测试、磁盘空间不足测试和网络连接通畅但服务无响应测试;所述故障测试包括Redis关闭测试和mongoDB关闭测试。
[0037]本实施例提供的基于协议接口的自动化测试方法能够替代人工输入各种类型的测试数据进行测试,图1是本发明实施例提供的基于协议接口的自动化测试方法的流程示意图,从图中可以看出,所述基于协议接口的自动化测试方法包括以下步骤:
[0038]S1、接收测试请求,所述测试请求包括接口设计文档;
[0039 ] S2、分析所述接口设计文档,提取服务接口及其测试数据配置规则;
[0040]S3、根据所述测试数据配置规则,生成测试数据,并执行所述测试请求;
[0041 ] S4、返回测试结果。
[0042]本实施例中,所述服务接口为URL页面的http协议接口,对于一个多服务的URL页面,相应地具有多个http服务接口,每个服务接口具有一定的服务内容和与之对应的服务参数,在设计URL页面服务时,需要编写接口设计文档,所述接口设计文档中定义了一个或多个http服务接口的输入/输出参数及其取值范围和规则。
[0043]基于上述基础,在执行接口的自动化测试时,首先根据测试请求,获取与所述测试请求中服务接口相对应的接口设计文档,将所述接口设计文档中的具体参数分别转换为对象,转换后的对象应用于自动化测试程序中,使得后续的自动化测试过程中可以调用所述接口设计文档;
[0044]其次,所述自动化测试程序对应有测试页面,图4是本发明实施例提供的单个接口测试的系统界面示意图,如图4所示,在所述测试页面中,输入URL地址,即可从所述URL对应的接口设计文档中提取相应的接口,具体为根据所述接口设计文档中的输入/输出参数的设计规则来提取各个参数字段的类型和取值范围,并自动将提取到的字段类型和取值范围填入所述测试页面的字段框内,然后即可执行URL测试请求,具体为在自动化测试程序中调用php-curl函数执行http接口测试请求,在执行URL测试请求过程中所测试的数据均由上述提取到
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1