一种接口性能测试的方法及装置制造方法及图纸

技术编号:26170555 阅读:14 留言:0更新日期:2020-10-31 13:38
本发明专利技术实施例提供了一种接口性能测试的方法及装置,应用于微服务架构的系统,该方法包括:在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;执行目标测试脚本;所述目标测试脚本为用于测试所述目标接口的测试脚本。相较于全量测试,本发明专利技术实施例缩短了测试时长,提升了测试效率。同时,相较于人工确定目标服务变更影响的接口的方式,本发明专利技术实施例可以避免接口的漏测。

【技术实现步骤摘要】
一种接口性能测试的方法及装置
本专利技术涉及测试领域,尤其涉及一种接口性能测试的方法及装置。
技术介绍
微服务架构(MicroserviceArchitecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。对于使用微服务架构的系统,客户端在调用该系统的接口过程中,可能会调用大量的服务,从而产生很长很复杂的调用链。由于不同接口的调用链中通常会涉及多个相同的服务。因此当一个服务发生变更之后,将对多个接口产生影响。目前在快速迭代的开发过程中,大量的服务会进行频繁的变更。为避免对接口产生的影响造成系统性能的不稳定。通常需要在服务发生变更之后对接口进行全量测试。然而,全量测试需要对每一个接口进行性能测试,从而导致整个测试过程耗时过长。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的接口性能测试的方法及装置。一方面,本专利技术实施例提供了一种接口性能测试的方法,应用于微服务架构的系统,所述方法包括:在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。可选的,在所述在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链的步骤之前,所述方法还包括:全量执行用于测试所述系统的接口的测试脚本;根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;关联具有相同标识的服务,得到每个所述接口对应的调用链;存储所述每个所述接口对应的调用链。可选的,每个接口对应一用于测试其性能的测试脚本。可选的,所述执行目标测试脚本,包括:根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。可选的,在所述执行目标测试脚本的步骤之后,所述方法还包括:获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;根据所述历史数据,调整所述目标测试脚本的基线数值。可选的,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。可选的,所述根据所述历史数据,调整所述目标测试脚本的基线数值,包括:选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。可选的,在所述执行目标测试脚本的步骤之后,所述方法还包括:获取本次执行目标测试脚本得到的测试报告;在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。另一方面,本专利技术实施例还提供一种接口性能测试的装置,应用于微服务架构的系统,所述装置包括:查找模块,用于在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,所述调用链为调用所述接口过程中,被调用的服务组成的链;第一确定模块,用于根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;第一执行模块,用于执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。可选的,所述装置还包括:第二执行模块,用于全量执行用于测试所述系统的测试脚本;第二确定模块,用于根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;关联模块,用于关联具有相同标识的服务,得到每个所述接口对应的调用链;存储模块,用于存储所述每个所述接口对应的调用链。可选的,所述第一执行模块,具体用于根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。可选的,所述装置还包括:第一获取模块,用于获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;调整模块,用于根据所述历史数据,调整所述目标测试脚本的基线数值。可选的,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。可选的,所述调整模块,包括:选择单元,用于选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;计算单元,用于计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。可选的,所述装置还包括:第二获取模块,用于获取本次执行目标测试脚本得到的测试报告;发送模块,用于在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。又一方面,本专利技术实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的接口性能测试的方法中的步骤。再一方面,本专利技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的接口性能测试的方法中的步骤。在本专利技术实施例提供的接口性能测试的方法,应用于微服务架构的系统;在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链;其中,每个接口对应一个调用链。并且调用链为调用接口过程中,被调用的服务组成的链。根据查找到的调用链,确定目标接口;目标接口为包括目标服务的调用链对应的接口。确定的目标接口,即为该目标服务变更将会影响的接口。执行目标测试脚本;其中,目标测试脚本为用于测试目标接口的测试脚本。在目标服务变更的情况下,仅对目标服务变更影响的接口进行测试即可。相较于全量测试,本专利技术实施例缩短了测试时长,提升了测试效率。同时,相较于人工确定目标服务变更影响的接口的方式,本专利技术实施例可以避免接口的漏测。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例本文档来自技高网...

【技术保护点】
1.一种接口性能测试的方法,应用于微服务架构的系统,其特征在于,所述方法包括:/n在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;/n根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;/n执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。/n

【技术特征摘要】
1.一种接口性能测试的方法,应用于微服务架构的系统,其特征在于,所述方法包括:
在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;
根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。


2.根据权利要求1所述的方法,其特征在于,在所述在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链的步骤之前,所述方法还包括:
全量执行用于测试所述系统的接口的测试脚本;
根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;
关联具有相同标识的服务,得到每个所述接口对应的调用链;
存储所述每个所述接口对应的调用链。


3.根据权利要求2所述的方法,其特征在于,每个接口对应一用于测试其性能的测试脚本。


4.根据权利要求1所述的方法,其特征在于,所述执行目标测试脚本,包括:
根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。


5.根据权利要求1所述的方法,其特征在于,在所述执行目标测试脚本的步骤之后,所述方法还包括:
获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;
根据所述历史数据,调整所述目标测试脚本的基线数值。


6.根据权利要求5所述的方法,其特征在于,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。


7.根据权利要求6所述的方法,其特征在于,所述根据所述历史数据,调整所述目标测试脚本的基线数值,包括:
选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;
计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。


8.根据权利要求1所述的方法,其特征在于,在所述执行目标测试脚本的步骤之后,所述方法还包括:
获取本次执行目标测试脚本得到的测试报告;
在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。


9.一种接口性能测试的装置,应用于微服务架构的系统,其特征在于,所述装置包括:
查找模块,用于在检测到目标服务变更的情况下,在预先存储的...

【专利技术属性】
技术研发人员:杨广奇张金鑫王发明黄灿李洋魏胜云王辛宇杨海瑞
申请(专利权)人:南京领行科技股份有限公司
类型:发明
国别省市:江苏;32

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

1