基于接口自动化测试与功能、性能、安全测试融合的方法技术

技术编号:32553168 阅读:13 留言:0更新日期:2022-03-05 11:53
本发明专利技术公开了一种基于接口自动化测试与功能、性能、安全测试融合的方法,包括:从第一个接口开始,在每研发完成一个接口编写后就开始进行测试任务;通过自动化生成接口脚本用例和数据对每一个接口分别进行单接口测试、功能业务测试、性能测试、安全测试;在单接口、功能业务、性能测试及安全测试的用例页面上创建测试任务,对任务进行定时执行设置和/或触发测试任务时执行该任务;触发的任务包括读取到新的接口时便开始测试任务;根据测试结果自动生成测试报告。本发明专利技术将测试往前移动,尽早开展自动化,通过自动化生成接口脚本用例和数据进行测试,且同时生成接口性能脚本和接口安全脚本,减少性能测试和安全测试在接口上的重复工作。作。作。

【技术实现步骤摘要】
基于接口自动化测试与功能、性能、安全测试融合的方法


[0001]本专利技术涉及软件性能测试
,尤其涉及一种基于接口自动化测试与功能、性能、安全测试融合的方法。

技术介绍

[0002]当今时代,随着软件整个产业的发展,软件产品的质量控制与质量管理成为了一个软件最重要的一部分,但同时软件的迭代越来越快且需求不断的变化,留给测试的时间越来越少,以前测试流程是研发后进行单元测试,单元测试完后进行集成测试,然后进行系统功能测试,功能测试保证基本业务流程没有问题了开始性能测试和安全测试,系统功能测试,性能测试和安全测试都是在研发完成后开始,导致测试任务重,发现问题晚,修改问题的成本高,且在测试过程中性能、安全和功能在接口测试上有重复性的工作。

技术实现思路

[0003]本专利技术提供了一种基于接口自动化测试与功能、性能、安全测试融合的方法,以解决针对目前测试困境:需求变更频繁,测试时间少测试不充足,发现问题晚解决成本高的问题。
[0004]本专利技术采用的技术方案是:提供基于接口自动化测试与功能、性能、安全测试融合的方法,包括:
[0005]从第一个接口开始,在每研发完成一个接口编写后就开始进行测试任务;
[0006]通过自动化生成接口脚本用例和数据对每一个接口分别进行单接口测试、功能业务测试、性能测试、安全测试;
[0007]在单接口测试用例页面、功能业务测试用例页面、性能测试用例页面、安全测试用例页面上创建测试任务,对任务进行定时执行设置和/或触发测试任务时执行该任务;触发的任务包括读取到新的接口时便开始测试任务;
[0008]根据测试结果自动生成测试报告。
[0009]优选地,进行测试时读取接口的方法包括:
[0010]提取每一个接口的名称、header、method、参数、参数类型和长度信息,各个接口展示在前端接口集里,后台生成接口方法;
[0011]通过读取各个接口参数类型和长度,自动生成各接口参数的测试数据、正常数据、异常数据和null,并展示在前端数据集里,数据集里还包含项目的环境地址信息。
[0012]优选地,所述单接口测试包括:
[0013]选择需要测试的接口自动生成测试用例;
[0014]在执行过程中读取数据集中各接口参数的数据进行接口自动化测试,把每次调用的request和response的组合保存到数据库,当下次发送相同request时,自动和上次的response做差异检测,对于有变化的字段给出告警;
[0015]通过规则配置设立白名单列表把动态值的字段排除在外,所述白名单列表包括
token值、session ID、时间戳,从而避免动态值每次调用都会有告警。
[0016]优选地,所述功能业务测试包括:
[0017]根据测试业务选择接口生成功能业务测试用例,一个功能业务测试用例由多个接口组合而成,若一个用例中的多个接口间有依赖关系,则把上一个接口的返回数据保存为一个变量,下一个接口在执行时直接读取变量值;
[0018]对于需要预期结果的参数设置预期结果进行效验;
[0019]对完善后的用例进行调试,调试成功后建立测试任务生成功能业务自动化测试脚本。
[0020]优选地,所述性能测试包括:
[0021]在单接口用例和功能业务测试用例里选择需要进行性能测试的接口和业务用例;
[0022]对测试用例进行增删改查操作,根据性能的测试需求进行相关参数的参数化,在性能执行过程中使用参数化里的数据;
[0023]设置预期结果返回数据的效验,形成性能测试用例;
[0024]对性能测试用例进行调试,调试成功后根据所需使用的压力工具选择生成适用于Jmeter的性能测试脚本,或者适用于loadrunner的性能测试脚本,或者locust的性能测试脚本,然后配置性能测试的参数,包括线程数、执行时间、并发时间间隔;
[0025]执行自动生成场景测试脚本操作,调试场景脚本,调试成功后建立性能测试任务,执行测试任务,后台进行服务器性能的监控,返回测试结果数据和性能监控数据生成测试报告。
[0026]优选地,所述安全测试包括:
[0027]选择需进行SQL注入和越权的安全测试接口用例和功能业务用例;
[0028]对用例进行增删改查,对参数进行参数化的设置,设置预期结果便于返回数据的效验,形成安全测试用例;
[0029]调试安全测试用例,建立安全测试任务,执行测试任务。
[0030]优选地,还包括邮件配置,当每一个接口分别完成单接口测试、功能业务测试、性能测试、安全测试后均触发邮件配置,将测试报告通过邮件发送给指定人员。
[0031]本专利技术的有益效果是:
[0032](1)、本专利技术通过使用基于接口自动化测试与功能、性能和安全测试无缝融合的方法,将测试往前移动,尽早开展自动化,在研发完成第一个接口编写时就开始进行测试,通过自动化生成接口脚本用例和数据进行测试,且同时生成接口性能脚本和接口安全脚本,利用空闲时间进行自动测试,减少性能测试和安全测试在接口上的重复工作,可以提高测试效率和测试的完整性,充分性,提高测试用例的重复使用性。
[0033](2)、本专利技术不同于现有技术中将性能测试和安全测试放在研发完成后开始,本申请在每研发完成一个接口后就开始性能测试和安全测,并且自动将性能测试和安全测放置在空闲时间,从而极大的减轻了测试任务。
附图说明
[0034]图1为本专利技术公开的基于接口自动化测试与功能、性能、安全测试融合的方法的流程示意图。
具体实施方式
[0035]为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步详细描述,但本专利技术的实施方式不限于此。
[0036]实施例1:
[0037]参见图1,本实施例公开一种基于接口自动化测试与功能、性能、安全测试融合的方法,包括如下步骤:
[0038]S1:从第一个接口开始,在每研发完成一个接口编写后就开始进行测试任务。
[0039]通过在web页面上上传接口文档如word档或其它工具导出的接口json文件,或者输入在线的swagger地址,后台服务提取每一个接口的名称,header,method,参数,参数类型和长度等信息,各个接口展示在前端接口集里,在接口管理页面也可以对接口进行增删改查操作,便于后面接口变化时能及时同步完善,后台生成接口方法。
[0040]通过读取各个接口参数类型和长度,自动生成各接口参数的测试数据,正常数据,异常数据,和null等,如登录接口的username和password两个参数,username类型为字符型,长度为6

10位;password类型为字符型,长度为8

10位。后台服务读取到类型和长度后为参数自动生成字符型,长度为6位的字符和长度为10位的字符,以及长度为5位的字符和长度为11位的字符以及NULL的值;数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于接口自动化测试与功能、性能、安全测试融合的方法,其特征在于,包括:从第一个接口开始,在每研发完成一个接口编写后就开始进行测试任务;通过自动化生成接口脚本用例和数据对每一个接口分别进行单接口测试、功能业务测试、性能测试、安全测试;在单接口测试用例页面、功能业务测试用例页面、性能测试用例页面、安全测试用例页面上创建测试任务,对任务进行定时执行设置和/或触发测试任务时执行该任务;触发的任务包括读取到新的接口时便开始测试任务;根据测试结果自动生成测试报告。2.根据权利要求1所述的基于接口自动化测试与功能、性能、安全测试融合的方法,其特征在于,进行测试时读取接口的方法包括:提取每一个接口的名称、header、method、参数、参数类型和长度信息,各个接口展示在前端接口集里,后台生成接口方法;通过读取各个接口参数类型和长度,自动生成各接口参数的测试数据、正常数据、异常数据和null,并展示在前端数据集里,数据集里还包含项目的环境地址信息。3.根据权利要求2所述的基于接口自动化测试与功能、性能、安全测试融合的方法,其特征在于,所述单接口测试包括:选择需要测试的接口自动生成测试用例;在执行过程中读取数据集中各接口参数的数据进行接口自动化测试,把每次调用的request和response的组合保存到数据库,当下次发送相同request时,自动和上次的response做差异检测,对于有变化的字段给出告警;通过规则配置设立白名单列表把动态值的字段排除在外,所述白名单列表包括token值、session ID、时间戳,从而避免动态值每次调用都会有告警。4.根据权利要求2所述的基于接口自动化测试与功能、性能、安全测试融合的方法,其特征在于,所述功能业务测试包括:根据测试业务选择接口生成功能业务测试用例,一个功能业务测试用例由多个接口组合而...

【专利技术属性】
技术研发人员:张兰
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

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

1