CN111858304B - 一种接口性能测试的方法及装置 - Google Patents

一种接口性能测试的方法及装置 Download PDF

Info

Publication number
CN111858304B
CN111858304B CN202010525919.8A CN202010525919A CN111858304B CN 111858304 B CN111858304 B CN 111858304B CN 202010525919 A CN202010525919 A CN 202010525919A CN 111858304 B CN111858304 B CN 111858304B
Authority
CN
China
Prior art keywords
target
interface
test script
test
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010525919.8A
Other languages
English (en)
Other versions
CN111858304A (zh
Inventor
杨广奇
张金鑫
王发明
黄灿
李洋
魏胜云
王辛宇
杨海瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Leading Technology Co Ltd
Original Assignee
Nanjing Leading Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Leading Technology Co Ltd filed Critical Nanjing Leading Technology Co Ltd
Priority to CN202010525919.8A priority Critical patent/CN111858304B/zh
Publication of CN111858304A publication Critical patent/CN111858304A/zh
Application granted granted Critical
Publication of CN111858304B publication Critical patent/CN111858304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种接口性能测试的方法及装置
技术领域
本发明涉及测试领域,尤其涉及一种接口性能测试的方法及装置。
背景技术
微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。对于使用微服务架构的系统,客户端在调用该系统的接口过程中,可能会调用大量的服务,从而产生很长很复杂的调用链。由于不同接口的调用链中通常会涉及多个相同的服务。因此当一个服务发生变更之后,将对多个接口产生影响。
目前在快速迭代的开发过程中,大量的服务会进行频繁的变更。为避免对接口产生的影响造成系统性能的不稳定。通常需要在服务发生变更之后对接口进行全量测试。
然而,全量测试需要对每一个接口进行性能测试,从而导致整个测试过程耗时过长。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的接口性能测试的方法及装置。
一方面,本发明实施例提供了一种接口性能测试的方法,应用于微服务架构的系统,所述方法包括:
在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;
根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。
可选的,在所述在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链的步骤之前,所述方法还包括:
全量执行用于测试所述系统的接口的测试脚本;
根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;
关联具有相同标识的服务,得到每个所述接口对应的调用链;
存储所述每个所述接口对应的调用链。
可选的,每个接口对应一用于测试其性能的测试脚本。
可选的,所述执行目标测试脚本,包括:
根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。
可选的,在所述执行目标测试脚本的步骤之后,所述方法还包括:
获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;
根据所述历史数据,调整所述目标测试脚本的基线数值。
可选的,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。
可选的,所述根据所述历史数据,调整所述目标测试脚本的基线数值,包括:
选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;
计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。
可选的,在所述执行目标测试脚本的步骤之后,所述方法还包括:
获取本次执行目标测试脚本得到的测试报告;
在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。
另一方面,本发明实施例还提供一种接口性能测试的装置,应用于微服务架构的系统,所述装置包括:
查找模块,用于在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,所述调用链为调用所述接口过程中,被调用的服务组成的链;
第一确定模块,用于根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
第一执行模块,用于执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。
可选的,所述装置还包括:
第二执行模块,用于全量执行用于测试所述系统的测试脚本;
第二确定模块,用于根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;
关联模块,用于关联具有相同标识的服务,得到每个所述接口对应的调用链;
存储模块,用于存储所述每个所述接口对应的调用链。
可选的,所述第一执行模块,具体用于根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。
可选的,所述装置还包括:
第一获取模块,用于获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;
调整模块,用于根据所述历史数据,调整所述目标测试脚本的基线数值。
可选的,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。
可选的,所述调整模块,包括:
选择单元,用于选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;
计算单元,用于计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。
可选的,所述装置还包括:
第二获取模块,用于获取本次执行目标测试脚本得到的测试报告;
发送模块,用于在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。
又一方面,本发明实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的接口性能测试的方法中的步骤。
再一方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的接口性能测试的方法中的步骤。
在本发明实施例提供的接口性能测试的方法,应用于微服务架构的系统;在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链;其中,每个接口对应一个调用链。并且调用链为调用接口过程中,被调用的服务组成的链。根据查找到的调用链,确定目标接口;目标接口为包括目标服务的调用链对应的接口。确定的目标接口,即为该目标服务变更将会影响的接口。执行目标测试脚本;其中,目标测试脚本为用于测试目标接口的测试脚本。在目标服务变更的情况下,仅对目标服务变更影响的接口进行测试即可。相较于全量测试,本发明实施例缩短了测试时长,提升了测试效率。同时,相较于人工确定目标服务变更影响的接口的方式,本发明实施例可以避免接口的漏测。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的接口性能测试的方法的步骤流程图;
图2为本发明实施例提供的调用链示意图;
图3为本发明实施例提供的预先存储调用链的步骤流程图;
图4为本发明实施例提供的接口性能测试的方法的应用示意图;
图5为本发明实施例提供的接口性能测试的装置的结构框图;
图6为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种接口性能测试的方法,应用于微服务架构的系统,该方法包括:
步骤101,在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链。
本步骤中,每个接口对应一个调用链。该接口为微服务架构的系统提供给客户端的接口,例如登录接口:http://ip:prot/api/passenger/v1/login。较佳的,预先存储的调用链为该系统提供给客户端的所有接口各自对应的调用链。调用链为调用接口过程中,被调用的服务组成的链。参见图2,以登录接口为例,调用登录接口进行相关业务过程中,将会调用网关服务、API(应用程序接口,Application Programming Interface)服务、风控服务、三户服务;那么登录接口对应的调用链为网关服务、API服务、风控服务、三户服务组成的链。较佳的,可以定期更新预先存储的调用链。
步骤102,根据查找到的调用链,确定目标接口。
本步骤中,目标接口为包括目标服务的调用链对应的接口。也就是说,若某一接口对应的调用链中包含有目标服务,则将该接口确定为目标接口。较佳的,可以预先存储接口与调用链的对应关系,在查找到包含目标服务的调用链之后,根据该对应关系,确定目标接口。
步骤103,执行目标测试脚本。
本步骤中,目标测试脚本为用于测试目标接口的测试脚本。较佳的,每一接口对应一用于测试该接口的测试脚本。因此每一目标接口对应的测试脚本均为一目标测试脚本。当目标接口的数量为多个时,则目标测试脚本的数量为多个,该执行目标测试脚本的步骤包括:全量执行多个目标测试脚本。
本发明实施例中,在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链;其中,每个接口对应一个调用链。并且调用链为调用接口过程中,被调用的服务组成的链。根据查找到的调用链,确定目标接口;目标接口为包括目标服务的调用链对应的接口。确定的目标接口,即为该目标服务变更将会影响的接口。执行目标测试脚本;其中,目标测试脚本为用于测试目标接口的测试脚本。在目标服务变更的情况下,仅对目标服务变更影响的接口进行测试即可。相较于全量测试,本发明实施例缩短了测试时长,提升了测试效率。同时,相较于人工确定目标服务变更影响的接口的方式,本发明实施例可以避免接口的漏测。
如图3所示,为方便获取接口对应的调用链,在上述发明实施例的基础上,本发明实施例中,在在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链的步骤之前,该方法还包括:
步骤301,全量执行用于测试系统的接口的测试脚本。
这里,每个接口对应一用于测试其性能的测试脚本。即建立接口与测试脚本的对应关系,每一测试脚本用于测试与其具有对应关系的接口的性能。全量执行用于测试系统的接口的测试脚本的步骤包括:全量执行该系统的所有接口各自对应的测试脚本。较佳的,可以预先创建脚本库,将该系统的所有接口各自对应的测试脚本添加到该脚本库中。然后全量执行该脚本库中的测试脚本,较佳的,该脚本库中的每个测试脚本具有不同的标识。
步骤302,根据预先设置于系统中每个服务中的代理,确定在执行测试脚本的过程中每个服务的标识。
本步骤中,服务的标识为traceId,执行同一测试脚本过程中,被调用的多个服务具有相同的traceId。并且同一服务在执行不同测试脚本过程中被调用,则其在执行不同测试脚本过程中具有不同的traceId。这里,每执行一个测试脚本,将记录该次执行过程中被调用的服务以及对应的traceId;按此执行所有测试脚本,并记录每次执行过程中被调用的服务以及对应的traceId。
步骤303,关联具有相同标识的服务,得到每个接口对应的调用链。
本步骤中,将具有相同标识的服务组成一个链,该链即为调用链。例如在执行接口A对应的测试脚本过程中,被调用的服务的标识均为m,则将标识为m的所有服务组成一个链,得到的该链即为接口A对应的调用链。具体的,执行每一测试脚本得到一调用链,该调用链即为该测试脚本对应的接口的调用链。在得到调用链的同时,也可以确定调用链与接口的对应关系。
步骤304,存储每个接口对应的调用链。
本发明实施例中,在存储调用链的同时,还可以将调用链与接口的对应关系一并存储。较佳的,可以每隔预设时间执行一次步骤301~步骤304,以更新步骤101中预先存储的调用链。不仅可以得到接口对应的调用链,同时保证了调用链的准确性。
为了避免在测试环境中发生冲突,在上述各发明实施例的基础上,本发明实施例中,执行目标测试脚本,包括:
根据预设定时任务,在目标时刻执行目标测试脚本;其中,目标时刻为预设定时任务的时间参数。
本发明实施例中,在测试环境中执行目标测试脚本,其中,测试环境为用于执行目标测试脚本搭建的硬件及软件环境。在一些时段内,测试人员常使用测试环境进行测试任务。若此时在测试环境中同时执行目标测试脚本,势必会发生冲突。因此,可以设置执行目标测试脚本的时间,以避免在测试人员使用测试环境进行测试任务的过程中执行目标测试脚本。该时间参数可以由用户自行设定;较佳的,时间参数为每天晚上的十二点,但不限于此。
为实现自动维护测试脚本中的基线数值,在上述各发明实施例的基础上,本发明实施例中,在执行目标测试脚本的步骤之后,该方法还包括:
获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据。
本步骤中,历史数据为预设次数下执行目标测试脚本时得到的预设数量的测试报告。预设数量与预设次数的数值相等。较佳的,预设次数可以为三次,但不限于此。每次执行目标测试脚本将生成一份测试报告。测试报告中至少包括:错误率以及每秒请求量。错误率为发生错误或者异常的请求量与请求总量的比值。
根据历史数据,调整目标测试脚本的基线数值。
本发明实施例中,调整后的基线数值可以与调整前的基线数值相同或者不同。
具体的,根据历史数据,调整目标测试脚本的基线数值,包括:
选择预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值。
计算目标测试报告中的每秒请求量的平均值,将目标测试脚本的基线数值调整为计算得到的平均值。
第一阈值可以自行设定,例如2%,但不限于此。第二阈值也可以自行设定,例如5%。还可以设置计算每秒请求量的平均值时,采用的目标测试报告的数量。具体的,选择预设数量的测试报告中的目标测试报告时,可以得到大量目标测试报告,根据预先设定的数量,例如三个,但不限于此。选择近三个目标测试报告,然后计算其平均值。
为了及时对异常的测试结果进行处理,在上述各发明实施例的基础上,本发明实施例中,在执行目标测试脚本的步骤之后,该还包括:
获取本次执行目标测试脚本得到的测试报告;
在测试报告中的测试数据符合目标条件的情况下,将测试报告发送至第三方服务系统。
本发明实施例中,目标条件可以为错误率符合第一预设条件,或者每秒请求量符合第二预设条件;其中,第一预设条件为错误率高于于第一阈值;第二预设条件为每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值高于第二阈值。可以通过邮件的形式将测试报告发送至指定的用户,这里第三方服务系统可以为邮箱服务系统,但不限于此。
如图4所示,为本发明实施例提供的接口性能测试的方法的应用示意图;包括:
预置脚本库,将用于测试微服务架构的系统的所有接口各自的脚本添加到同一脚本库中。为避免重复对脚本库中的每一脚本添加唯一标识。
设置基线数值,设置每一脚本的基线数值,该基线数值指示每秒请求量。
获取各脚本的调用链路图,将各脚本执行过程中调用的所有服务组成的调用链作为调用链路图。
在服务发生变更之后,识别需要执行的脚本。首先确定包含有发生变更的服务的调用链路图,然后将确定的调用链路图对应的脚本作为需要执行的脚本。
根据预设标准,判断执行脚本之后得到的测试结果是否达标。这里的预设标准可以为:错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值,但不限于此。
若结果不达标,收集结果以及环境信息,将收集的信息发送至第三方,并将结果入库归档。
若结果达标,取最近三次达标的结果的平均值,将基线数据变更为该平均值,然后将结果归档入库。
以上介绍了本发明实施例提供的接口性能测试的方法,下面将结合附图介绍本发明实施例提供的接口性能测试的装置。
参见图5,本发明实施例还提供了一种接口性能测试的装置,应用于微服务架构的系统,该装置包括:
查找模块51,用于在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链;其中,每个接口对应一个调用链;
第一确定模块52,用于根据查找到的调用链,确定目标接口;其中,目标接口为包括目标服务的调用链对应的接口;
第一执行模块53,用于执行目标测试脚本;其中,目标测试脚本为用于测试目标接口的测试脚本。
可选的,该装置还包括:
第二执行模块,用于全量执行用于测试系统的测试脚本;
第二确定模块,用于根据预先设置于系统中每个服务中的代理,确定在执行测试脚本的过程中每个服务的标识;
关联模块,用于关联具有相同标识的服务,得到每个接口对应的调用链;
存储模块,用于存储每个接口对应的调用链。
可选的,每个接口对应一用于测试其性能的测试脚本。
可选的,第一执行模块,具体用于根据预设定时任务,在目标时刻执行目标测试脚本;其中,目标时刻为预设定时任务的时间参数。
可选的,该装置还包括:
第一获取模块,用于获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;
调整模块,用于根据历史数据,调整目标测试脚本的基线数值。
可选的,历史数据为预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,测试报告中至少包括:错误率以及每秒请求量。
可选的,调整模块,包括:
选择单元,用于选择预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占基线数值的比例值低于第二阈值;
计算单元,用于计算目标测试报告中的每秒请求量的平均值,将目标测试脚本的基线数值调整为计算得到的平均值。
可选的,该装置还包括:
第二获取模块,用于获取本次执行目标测试脚本得到的测试报告;
发送模块,用于在测试报告中的测试数据符合目标条件的情况下,将测试报告发送至第三方服务系统。
本发明实施例提供的接口性能测试的装置能够实现图1和图3的方法实施例中接口性能测试的方法实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,查找模块,用于在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括目标服务的调用链;其中,每个接口对应一个调用链。并且调用链为调用接口过程中,被调用的服务组成的链。第一确定模块,用于根据查找到的调用链,确定目标接口;其中,目标接口为包括目标服务的调用链对应的接口。确定的目标接口,即为该目标服务变更将会影响的接口。第一执行模块,用于执行目标测试脚本;其中,目标测试脚本为用于测试目标接口的测试脚本。在目标服务变更的情况下,仅对目标服务变更影响的接口进行测试即可。相较于全量测试,本发明实施例缩短了测试时长,提升了测试效率。同时,相较于人工确定目标服务变更影响的接口的方式,本发明实施例可以避免接口的漏测。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述接口性能测试的方法中的步骤。
举个例子如下,图6示出了一种电子设备的实体结构示意图。
如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行如下方法:
在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;
根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的接口性能测试的方法,例如包括:
在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;
根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种接口性能测试的方法,应用于微服务架构的系统,其特征在于,所述方法包括:
在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;
根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本;
其中,在所述在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链的步骤之前,所述方法还包括:
全量执行用于测试所述系统的接口的测试脚本;
根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;
关联具有相同标识的服务,得到每个所述接口对应的调用链;
存储所述每个所述接口对应的调用链。
2.根据权利要求1所述的方法,其特征在于,每个接口对应一用于测试其性能的测试脚本。
3.根据权利要求1所述的方法,其特征在于,所述执行目标测试脚本,包括:
根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。
4.根据权利要求1所述的方法,其特征在于,在所述执行目标测试脚本的步骤之后,所述方法还包括:
获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;
根据所述历史数据,调整所述目标测试脚本的基线数值。
5.根据权利要求4所述的方法,其特征在于,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。
6.根据权利要求5所述的方法,其特征在于,所述根据所述历史数据,调整所述目标测试脚本的基线数值,包括:
选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;
计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。
7.根据权利要求1所述的方法,其特征在于,在所述执行目标测试脚本的步骤之后,所述方法还包括:
获取本次执行目标测试脚本得到的测试报告;
在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。
8.一种接口性能测试的装置,应用于微服务架构的系统,其特征在于,所述装置包括:
查找模块,用于在检测到目标服务变更的情况下,在预先存储的调用链中,查找包括所述目标服务的调用链;其中,每个接口对应一个所述调用链;
第一确定模块,用于根据查找到的调用链,确定目标接口;其中,所述目标接口为包括所述目标服务的调用链对应的接口;
第一执行模块,用于执行目标测试脚本;其中,所述目标测试脚本为用于测试所述目标接口的测试脚本;
其中,所述装置还包括:
第二执行模块,用于全量执行用于测试所述系统的测试脚本;
第二确定模块,用于根据预先设置于所述系统中每个服务中的代理,确定在执行所述测试脚本的过程中每个服务的标识;
关联模块,用于关联具有相同标识的服务,得到每个所述接口对应的调用链;
存储模块,用于存储所述每个所述接口对应的调用链。
9.根据权利要求8所述的装置,其特征在于,所述第一执行模块,具体用于根据预设定时任务,在目标时刻执行目标测试脚本;其中,所述目标时刻为所述预设定时任务的时间参数。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取本次执行目标测试脚本之前预设次数下执行目标测试脚本,得到的历史数据;
调整模块,用于根据所述历史数据,调整所述目标测试脚本的基线数值。
11.根据权利要求10所述的装置,其特征在于,所述历史数据为所述预设次数下执行目标测试脚本时得到的预设数量的测试报告;其中,所述测试报告中至少包括:错误率以及每秒请求量。
12.根据权利要求11所述的装置,其特征在于,所述调整模块,包括:
选择单元,用于选择所述预设数量的测试报告中,错误率符合第一预设条件,并且每秒请求量符合第二预设条件的目标测试报告;其中,第一预设条件为错误率低于第一阈值;第二预设条件为每秒请求量大于等于基线数值或者每秒请求量小于基线数值的情况下,每秒请求量与基线数值的差值所占所述基线数值的比例值低于第二阈值;
计算单元,用于计算所述目标测试报告中的每秒请求量的平均值,将所述目标测试脚本的基线数值调整为计算得到的平均值。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取本次执行目标测试脚本得到的测试报告;
发送模块,用于在所述测试报告中的测试数据符合目标条件的情况下,将所述测试报告发送至第三方服务系统。
14.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的接口性能测试的方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的接口性能测试的方法的步骤。
CN202010525919.8A 2020-06-10 2020-06-10 一种接口性能测试的方法及装置 Active CN111858304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010525919.8A CN111858304B (zh) 2020-06-10 2020-06-10 一种接口性能测试的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010525919.8A CN111858304B (zh) 2020-06-10 2020-06-10 一种接口性能测试的方法及装置

Publications (2)

Publication Number Publication Date
CN111858304A CN111858304A (zh) 2020-10-30
CN111858304B true CN111858304B (zh) 2022-06-07

Family

ID=72987856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010525919.8A Active CN111858304B (zh) 2020-06-10 2020-06-10 一种接口性能测试的方法及装置

Country Status (1)

Country Link
CN (1) CN111858304B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297076B (zh) * 2021-05-21 2023-06-23 建信金融科技有限责任公司 基于调用链图的服务变更识别方法及装置
CN115904878A (zh) * 2022-12-30 2023-04-04 支付宝(杭州)信息技术有限公司 业务变更处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491891A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 全自动接口压测方法、装置、计算机设备及存储介质
CN109739711A (zh) * 2019-01-04 2019-05-10 广州虎牙信息科技有限公司 一种接口测试方法、装置、设备和存储介质
CN110032511A (zh) * 2019-03-19 2019-07-19 深圳市买买提信息科技有限公司 一种接口测试方法及接口测试设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491891A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 全自动接口压测方法、装置、计算机设备及存储介质
CN109739711A (zh) * 2019-01-04 2019-05-10 广州虎牙信息科技有限公司 一种接口测试方法、装置、设备和存储介质
CN110032511A (zh) * 2019-03-19 2019-07-19 深圳市买买提信息科技有限公司 一种接口测试方法及接口测试设备

Also Published As

Publication number Publication date
CN111858304A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN109660419B (zh) 预测网络设备异常的方法、装置、设备及存储介质
CN111858304B (zh) 一种接口性能测试的方法及装置
CN113778879B (zh) 接口的模糊测试方法及装置
CN111131290A (zh) 流量数据处理方法和装置
CN109005181B (zh) 一种dns放大攻击的检测方法、系统及相关组件
CN110784358A (zh) 网络调用关系拓扑图的构建方法及装置
US8307064B2 (en) Methods and apparatus for automated software generic information retrieval
US20080072321A1 (en) System and method for automating network intrusion training
CN106484601B (zh) 客户端的用户数据分析方法及系统
CN108234658B (zh) 一种感知服务器集群健康状况的方法、装置和服务器
CN107807885B (zh) 任务信息显示方法及装置
US11360871B1 (en) Automatic optimization and hardening of application images
CN115225455A (zh) 异常设备检测方法及装置、电子设备、存储介质
CN114385498A (zh) 性能测试方法、系统、计算机设备及可读存储介质
CN110896547B (zh) 一种nb-iot网络问题的定位方法及装置
CN112860509A (zh) 拨测告警方法及装置
CN115017027A (zh) 接口自动化持续集成测试方法、装置、设备及存储介质
CN113411217A (zh) 一种通话系统监控告警的方法及装置
CN113079063A (zh) 充电设备的离线判断方法、系统、设备及计算机存储介质
EP3029573A1 (fr) Systeme et methode de test de performances d'une infrastructure informatique
CN111552612A (zh) Mssql监控管理方法、管理装置、系统和计算机设备
CN109067956B (zh) 对用于警务系统的终端进行检测的方法及装置、警务系统
CN106547679B (zh) 脚本管理的方法和脚本管理平台
CN112817635B (zh) 一种模型处理方法和数据处理系统
CN116760697B (zh) 网络设备风险监测方法、计算机设备和计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant