API测试方法和系统技术方案

技术编号:14456484 阅读:50 留言:0更新日期:2017-01-19 09:41
本发明专利技术涉及一种API测试方法和系统,所述方法包括以下步骤:加载入口脚本;加载配置文件、共用函数库和框架模块;利用预先生成的API基础用例模板生成测试用例;执行所述测试用例得到API测试结果;以日志形式输出所述API测试结果。该API测试方法和系统能够提高API测试的效率。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种API测试方法和系统。
技术介绍
API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码。在应用程序运行的过程中,通常需要对其提供的API接口进行测试,例如,游戏应用程序在运行过程中,需要对游戏应用程序提供给lua脚本调用的API进行测试。Lua脚本是一种嵌入式的脚本语言,用来控制应用程序,在被调用时进行解释或编译。在API的测试过程中需要生成测试用例,所谓用例是对一组动作序列的抽象描述,系统在执行这些动作序列时,会产生相应的结果,这些结果要么反馈给参与者,要么作为其它用例的参数。测试用例是指在API测试过程中生成的用于测试的用例。由于应用程序提供的API接口比较多,且每个API接口根据输入输出的不同可能需要多条测试用例进行验证,传统的API测试方法生成测试用例需要针对不同的场景重新编写大量代码,过程十分繁琐,从而降低了测试效率。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能提高测试效率的API测试方法和系统。一种API测试方法,所述方法包括以下步骤:加载入口脚本;加载配置文件、共用函数库和框架模块;利用预先生成的API基础用例模板生成测试用例;执行所述测试用例得到API测试结果;以日志形式输出所述API测试结果。一种API测试系统,所述系统包括:加载模块,用于加载入口脚本,加载配置文件、共用函数库和框架模块;用例初始化模块,用于利用预先生成的API基础用例模板生成测试用例;用例执行模块,用于执行所述测试用例得到API测试结果;结果输出模块,用于以日志形式输出所述API测试结果。上述API测试方法和系统,在对API测试的过程中,利用预先生成的API基础用例模板生成测试用例,对于一些API的测试用例,可直接预先生成的API基础用例模板生成测试用例,而在针对不同场景生成测试用例时,也仅需要稍微改动一下API基础用例模板中的代码就能生成针对不同场景的测试用例,相对于传统的需要编写大量代码的方式,该API测试方法和系统能够提高测试效率。附图说明图1为一个实施例中API测试方法的流程图;图2为一个实施例中自动化测试框架的示意图;图3为另一个实施例中API测试方法的流程图;图4为一个实施例中利用API基础用例模板生成测试用例的方法流程图;图5为一个实施例中API基础用例模板的用例类图;图6为一个实施例中输出得到的API接口的示意图;图7为一个实施例中对API进行性能测试的方法流程图;图8为一个实施例中监控内存数据的示意图;图9为一个实施例中部分API执行日志的示意图;图10为一个实施例中对测试用例进行加压测试的方法流程图;图11为一个实施例中关联性能数据与测试用例的示意图;图12为一个实施例中API测试系统的结构框图;图13为另一个实施例中API测试系统的结构框图;图14为再一个实施例中API测试系统的结构框图;图15为又一个实施例中API测试系统的结构框图。具体实施方式如图1所示,在一个实施例中,提供了一种API测试方法,所述方法包括:步骤110,加载入口脚本。步骤120,加载配置文件、共用函数库和框架模块。如图2所示,为实现API测试的框架模板,其中,APICheckMain为入口脚本,BaseDefine为基本定义,Config为配置文件,Frame为框架模块,public为共用函数库,TestCase为测试用例,Log为日志,Mail为邮件推送,API_DoInit为用例初始化模块,API_DoAction为用例执行模块,API_DoEvalueat为测试用例验证模块,API_DoClear为测试场景还原模块。本实施例中,可采用配置文件对一些关键配置项进行定义,包括但不限于以表管理所有用例文件路径从而实现只执行某些特定路径下的用例、以表管理需要执行的API和需要过滤的API,以及设置针对用例的多次执行实现不同顺序的执行优先级等。例如,关键配置项定义为:只执行配置表中的API测试或不执行配置表中的API测试,配置用例加载目录,配置每个场景用例目录加载的时间间隔和每个场景用例文件加载的时间间隔,每个API执行的循环次数,API执行的顺序等。其中,API执行的顺序包括交叉执行(比如按照API1->API2->API3->API1->API2->API3…的顺序执行)和循环执行(比如按照API1->API1->API2->API2->API3->API3…的顺序执行)。在具体的例子中,比如对游戏应用程序提供给lua脚本的API进行测试的例子中,关键配置项还包括角色登录服务器后是否开始自动执行或者多长时间后开始自动执行,以及是否针对当前服务器中的所有角色进行测试等。本实施例中,公共函数库public提供了框架通用的方法。而框架模块Frame用于实现共用的接口和方法,在生成具体的测试用例时,以框架模块中的基类为基础实现具体的测试用例。步骤130,利用预先生成的API基础用例模板生成测试用例。本实施例中,预先生成了各个API的基础用例模板,API基础用例模板规范了用例的基本信息。具体的,根据API基础用例模板获取API的描述信息,以API名称为文件名生成相应的测试用例,根据场景的不同再修改对应的参数和相关的函数定义等。步骤140,执行所述测试用例得到API测试结果。本实施例中,在执行测试用例时,可先拷贝一份测试用例得到测试用例副本,再执行测试用例副本。在执行测试用例副本的过程中,初始化API参数并执行API调用,得到执行结果,判断执行结果是否与预先设置的执行结果相符,如果是则API验证通过,否则验证不通过。步骤150,以日志形式输出API测试结果。本实施例中,最终将API测试结果以日志形式输出,进一步的,输出的日志还可以邮件方式进行推送。本实施例中,在对API测试的过程中,利用预先生成的API基础用例模板生成测试用例,对于一些API的测试用例,可直接预先生成的API基础用例模板生成测试用例,而在针对不同场景生成测试用例时,也仅需要稍微改动一下API基础用例模板中的代码就能生成针对不同场景的测试用例,相对于传统的需要编写大量代码的方式,该API测试方法和系统能够提高测试效率。如图3所示,在另一个实施例中,一种API测试方法,包括以下步骤:步骤302,加载入口脚本。步骤304,加载配置文件、共用函数库和框架模块。本实施例中,关于入口脚本、配置文件、共用函数库和框架模块的描述如上所述,在此则不再赘述。步骤306,利用预先生成的API基础用例模板生成测试用例。本实施例中,根据各个API的基础用例模板可生成测试用例,然后再根据场景修改对应的参数和相应的函数定义等。步骤308,初始化API参数并执行API调用。本实施例中,生成测试用例后拷贝一份测试用例,得到测试用例副本,执行的是测试用例副本,对于API的测试用例副本,初始化API参数并执行API调用,以得到执行API调用的结果。以游戏应用程序为例,游戏应用程序提供给lua脚本调用的API接口,lua脚本本文档来自技高网...

【技术保护点】
一种API测试方法,所述方法包括以下步骤:加载入口脚本;加载配置文件、共用函数库和框架模块;利用预先生成的API基础用例模板生成测试用例;执行所述测试用例得到API测试结果;以日志形式输出所述API测试结果。

【技术特征摘要】
1.一种API测试方法,所述方法包括以下步骤:加载入口脚本;加载配置文件、共用函数库和框架模块;利用预先生成的API基础用例模板生成测试用例;执行所述测试用例得到API测试结果;以日志形式输出所述API测试结果。2.根据权利要求1所述的API测试方法,其特征在于,所述利用预先生成的API基础用例模板生成测试用例的步骤包括:读取API基础用例模板脚本;获取应用程序提供的API的定义描述信息,根据所述定义描述信息生成测试用例;根据场景修改所述测试用例的对应参数和相关的函数定义。3.根据权利要求2所述的API测试方法,其特征在于,在所述加载入口脚本的步骤之前,还包括:获取定义好的API测试用户的基类,包括用例基础信息和用例执行顺序;根据所述基类生成每个API的基础用例模板,生成所述API基础用例模板脚本。4.根据权利要求1所述的API测试方法,其特征在于,在所述加载入口脚本的步骤之前,还包括:调用预设的注册函数,按照函数格式解析出模式匹配的API接口名称和对应的函数功能的定义实现,其中,API接口被定义为调用所述注册函数。5.根据权利要求1所述的API测试方法,其特征在于,在利用预先生成的API基础用例模板生成测试用例的步骤之后,还包括:按照API的调用顺序对各个API的测试用例进行轮询执行,且在执行过程中开启性能监控;获取性能数据出现异常对应的时间点;获取在所述时间点执行的API对应的多个测试用例;对所述多个测试用例进行加压测试,确定使性能出现异常的API及其参数
\t传递。6.根据权利要求5所述的API测试方法,其特征在于,所述对所述多个测试用例进行加压测试,确定使性能出现异常的API及其参数传递的步骤包括:反复执行所述多个测试用例,并在执行过程进行性能数据的监控;获取性能数据出现异常对应的时间点;获取在所述时间点执行的API对应的测试用例,确定使性能出现异常的API及其参数传递。7.根据权利要求6所述的API测试方法,其特征在于,所述获取在所述时间点执行的API对应的测试用例的步骤包括:以图形方式显示监控的性能数据;当光标位置在性能数据出现异常的位置时,读取在所述性能数据出现异常的位置对应的时间点所执行的测试用例...

【专利技术属性】
技术研发人员:王清平张通人严明魏学峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1