用于接口测试的方法、系统和存储介质技术方案

技术编号:33808225 阅读:13 留言:0更新日期:2022-06-16 10:16
一种用于接口测试的方法、系统和存储介质,该方法包括:获取引擎的头文件,并从所述头文件中提取所述引擎中接口的参数信息;根据所述参数信息自动生成测试用例和测试代码;基于所述测试用例执行所述测试代码,得到测试结果;基于所述测试结果生成接口测试报告。根据本申请实施例的用于接口测试的方法和系统通过获取引擎的头文件,自动从头文件中提取引擎中待测接口的参数信息,根据参数提取结果自动生成测试用例和测试代码,并在得到测试结果之后自动统计引擎中待测接口的测试结果并生成测试报告,实现了接口测试的完整流程的全部自动化实现,即使不是专业的测试人员也能一键式进行接口测试任务,节省了大量的人力成本。节省了大量的人力成本。节省了大量的人力成本。

【技术实现步骤摘要】
用于接口测试的方法、系统和存储介质


[0001]本申请涉及软件开发
,更具体地涉及一种用于接口测试的方法、系统和存储介质。

技术介绍

[0002]在软件开发的整个周期中,接口测试介入的时间位于整个测试阶段的早期。接口测试在早期介入测试过程,能提前发现问题,检查系统的异常处理能力、安全性和稳定性,从而降低项目风险,减少项目研发成本。目前市场上主流的接口测试方法大多分为五步进行:1、需求评审,熟悉业务和需求;2、开发人员提供接口文档;3、测试人员为每个接口编写多个测试用例和测试代码;4、用例评审;5、提测后开始测试并提交测试报告。在完整的测试过程中,工作量最大的分别是第三步和第五步。测试人员需要针对每个接口人工地从多个角度设计多个维度的测试用例,并为测试每个接口编写相应的测试代码,这项工作繁杂重复,占用了测试过程的大部分时间。
[0003]具体地,当下,市面上主流的代码接口测试方法大多是由测试人员人工地查看待测试接口的参数信息。然后,测试人员手动的为每个接口设计多种测试用例,并编写接口测试代码对每个接口进行测试,最后人工统计接口测试结果并编写接口测试报告。这一过程会耗费大量的人力和物力。近年来,关于自动化接口测试方法的研究层出不穷,大多数方法都集中于解决测试用例的自动化生成问题。对于接口测试代码开发的过程完全没有优化,每个接口的测试代码仍然需要专业的测试人员手动开发。
[0004]总体地,现有的接口测试方法需要人工地查看待测试接口的参数信息,这项工作繁杂且容易出错,会直接影响测试用例的正确与否;且需要人工地为每个接口设计多个测试用例,测试人员非常容易产生疏漏,导致测试用例不能完整的覆盖该接口的所有可能情况;还需要通过人工地为每个接口编写相应的测试代码,这项工作重复度高,浪费了一定人力物力;还需要人工地统计测试结果,这项工作重复度高且容易出错。

技术实现思路

[0005]为了解决上述问题中的至少一项而提出了本申请。根据本申请一方面,提供了一种用于接口测试的方法,所述方法包括:获取引擎的头文件,并从所述头文件中提取所述引擎中接口的参数信息;根据所述参数信息自动生成测试用例和测试代码;基于所述测试用例执行所述测试代码,得到测试结果;基于所述测试结果生成接口测试报告。
[0006]在本申请的一个实施例中,所述从所述头文件中提取所述引擎中接口的参数信息,包括:自动扫描所述头文件,将所述头文件中的代码分解成多个字符串,存入字符串列表中;访问所述字符串列表中的每个字符串,以获取所述引擎中每个接口的参数信息,并将非基础类型参数分解为基础类型参数。
[0007]在本申请的一个实施例中,所述方法还包括:在将所述多个字符串存入所述字符串列表中之前,移除无用字符串,所述无用字符串包括空白符和注释信息。
[0008]在本申请的一个实施例中,所述自动扫描所述头文件是基于抽象语法树执行的。
[0009]在本申请的一个实施例中,根据所述参数信息自动生成测试用例,包括:为每个类型的参数自动设计赋值集合,包含正常值和异常值;通过以下中的至少一项自动生成测试用例:对每个类型的参数进行不同的赋值以形成多种赋值组合;改变接口调用顺序;删除部分接口。
[0010]在本申请的一个实施例中,所述方法还包括:在改变接口调用顺序之前,对部分接口进行标记;当所述被标记的接口的调用顺序未改变时,生成正常测试用例;当所述被标记的接口的调用顺序改变时,生成异常测试用例。
[0011]在本申请的一个实施例中,所述对部分接口进行标记是基于模糊匹配执行的。
[0012]在本申请的一个实施例中,根据所述参数信息自动生成测试代码,包括:获取与每个类型的参数各自对应的处理模板,其中所述处理模板是头文件模板中通过定义多个宏预设出的,所述头文件模板中还包括预先定义的测试类;基于所述处理模板自动生成测试代码,并将所述测试代码作为所述测试类的成员函数加入所述测试类中。
[0013]在本申请的一个实施例中,所述基于所述测试用例执行所述测试代码,包括:通过解析器解析所述测试用例中的每个接口的信息;通过响应器基于所述每个接口的信息执行所述测试代码。
[0014]根据本申请另一方面,提供了一种用于接口测试的系统,所述系统包括:参数提取模块,用于获取引擎的头文件,并从所述头文件中提取所述引擎中接口的参数信息;用例生成模块,用于根据所述参数信息自动生成测试用例;代码生成模块,用于根据所述参数信息自动生成测试代码,并基于所述测试用例执行所述测试代码,得到测试结果;报告生成模块,用于基于所述测试结果生成接口测试报告。
[0015]在本申请的一个实施例中,所述参数提取模块进一步用于:自动扫描所述头文件,将所述头文件中的代码分解成多个字符串,存入字符串列表中;访问所述字符串列表中的每个字符串,以获取所述引擎中每个接口的参数信息,并将非基础类型参数分解为基础类型参数。
[0016]在本申请的一个实施例中,所述用例生成模块进一步用于:为每个类型的参数自动设计赋值集合,包含正常值和异常值;通过以下中的至少一项自动生成测试用例:对每个类型的参数进行不同的赋值以形成多种赋值组合;改变接口调用顺序;删除部分接口。
[0017]在本申请的一个实施例中,所述代码生成模块进一步用于:获取与每个类型的参数各自对应的处理模板;基于所述处理模板与头文件模板自动生成测试代码。
[0018]在本申请的一个实施例中,所述代码生成模块进一步用于:通过解析器解析所述测试用例中的每个接口的信息;通过响应器基于所述每个接口的信息执行所述测试代码。
[0019]根据本申请再一方面,提供了一种用于接口测试的方法,所述方法包括:获取待测接口的参数信息;根据所述参数信息自动生成测试代码;获取测试用例,并基于所述测试用例执行所述测试代码,得到测试结果;基于所述测试结果生成接口测试报告。
[0020]在本申请的一个实施例中,根据所述参数信息自动生成测试代码,包括:获取与每个类型的参数各自对应的处理模板,其中所述处理模板是头文件模板中通过定义多个宏预设出的,所述头文件模板中还包括预先定义的测试类;基于所述处理模板自动生成测试代码,并将所述测试代码作为所述测试类的成员函数加入所述测试类中。
[0021]根据本申请又一方面,提供了一种用于接口测试的系统,所述系统包括存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行上述用于接口测试的方法。
[0022]根据本申请再一方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在运行时,执行上述用于接口测试的方法。
[0023]根据本申请实施例的用于接口测试的方法和系统通过获取引擎的头文件,自动从头文件中提取引擎中待测接口的参数信息,根据参数提取结果自动生成测试用例和测试代码,并在得到测试结果之后自动统计引擎中待测接口的测试结果并生成测试报告,实现了接口测试的完整流程的全部自动化实现,即使不是专业的测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于接口测试的方法,其特征在于,所述方法包括:获取引擎的头文件,并从所述头文件中提取所述引擎中接口的参数信息;根据所述参数信息自动生成测试用例和测试代码;基于所述测试用例执行所述测试代码,得到测试结果;基于所述测试结果生成接口测试报告。2.根据权利要求1所述的方法,其特征在于,所述从所述头文件中提取所述引擎中接口的参数信息,包括:自动扫描所述头文件,将所述头文件中的代码分解成多个字符串,存入字符串列表中;访问所述字符串列表中的每个字符串,以获取所述引擎中每个接口的参数信息,并将非基础类型参数分解为基础类型参数。3.根据权利要求1或2所述的方法,其特征在于,根据所述参数信息自动生成测试用例,包括:为每个类型的参数自动设计赋值集合,包含正常值和异常值;通过以下中的至少一项自动生成测试用例:对每个类型的参数进行不同的赋值以形成多种赋值组合;改变接口调用顺序;删除部分接口。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在改变接口调用顺序之前,对部分接口进行标记;当所述被标记的接口的调用顺序未改变时,生成正常测试用例;当所述被标记的接口的调用顺序改变时,生成异常测试用例。5.根据权利要求1或2所述的方法,其特征在于,根据所述参数信息自动生成测试代码,包括:获取与每个类型的参数各自对应的处理模板,其中所述处理模板是头文件模板中通过定义多个宏预设出的,所述头文件模板中还包括预先定义的测试类;基于所述处理模板自动生成测试代码,并将所述测试代码作为所述测试类的成员函数加入所述测试类中。6.一种用于接口测试的系统,其特征在于,所述系统包括:参数提取模块,用于获取引擎的头文件,并从所述头文件中提取所述引擎中接口的参数信息;用例生成模块,用于根据所述参数信息自动生成测试用例;代码生成模块,用于根据所述参数信息自动生成测试代码,并基于所述测试用例执行所述测试代码,得到测试结果;报告生成模块,用于基于所述测试结果生成接口测试报告。7.根据权利要求6所述的系统,其特...

【专利技术属性】
技术研发人员:王素芝段传东潘松胡郁
申请(专利权)人:科大讯飞股份有限公司
类型:发明
国别省市:

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

1