测试方法、测试平台、测试装置、服务器及存储介质转让专利

申请号 : CN202210175766.8

文献号 : CN114238155B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张大用王晓华董颖颖

申请人 : 北京宇信科技集团股份有限公司

摘要 :

本申请公开了一种测试方法、测试平台、测试装置、测试系统、服务器及存储介质。该测试方法,包括:确定待测试的信息接口;基于信息接口,确定出输入测试平台中的测试数据以及设定参数,其中测试数据包括用于生成测试请求的用户信息,设定参数用于确定出出对信息接口进行测试的业务模型和业务场景;基于测试数据以及设定参数,对信息接口进行数据处理能力的性能测试。本申请中,通过在测试平台中输入测试数据以及设定参数,来完成对应信息接口测试请求的特定业务场景测试,从而可通过测试平台实现对信息接口特定业务场景下的接口性能测试。

权利要求 :

1.一种测试方法,其特征在于,包括:确定待测试的信息接口;

基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,其中所述测试数据至少包括用于生成测试请求的用户信息,所述设定参数至少用于确定出对所述信息接口进行测试的业务场景;其中,用于确定所述业务场景的所述设定参数包括:运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为信息接口的测试时间的时间长度;其中,所述确定出输入测试平台中的测试数据,包括:获取所述测试数据;基于所述测试数据的数据属性,对所述测试数据进行分类,分类后的所述测试数据至少包括:重用型数据或消耗型数据;

基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试;其中,所述基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试至少包括:基于所述重用型数据,对多个所述信息接口进行性能测试,和/或,基于所述消耗型数据,对单个对应的所述信息接口进行性能测试。

2.根据权利要求1所述的方法,其特征在于,所述待测试的信息接口为多个;

所述基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,包括:基于多个所述信息接口,在测试平台的业务模型中确定出各所述信息接口分别对应的测试数据;

基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数。

3.根据权利要求2所述的方法,其特征在于,所述关联关系,包括:多个所述信息接口在相同时段内所接收到测试请求的数量间的比例关系;

所述基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数,包括:基于所述比例关系,确定所述设定参数,其中所述设定参数用于确定联合测试业务场景下各所述信息接口所对应的测试数据的数据量。

4.根据权利要求1所述的方法,其特征在于,所述数据处理能力的性能测试,至少包括以下测试指标中的一个:

平均响应时间、每秒事务处理能力、总事务数;

所述对所述信息接口进行数据处理能力的性能测试,至少包括以下之一:向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的平均响应时间;

向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的每秒事务处理能力;

向待测试服务器发送所述测试请求,测试所述信息接口对测试请求成功响应的总事务数。

5.根据权利要求1所述的方法,其特征在于,所述待测试的信息接口,至少包括支持以下协议中任一协议的信息接口;

所述协议,包括:超文本传输协议http、超文本传输安全协议https、定长报文传输控制协议、不定长报文传输控制协议和消息协议MQ。

6.根据权利要求1所述的方法,其特征在于,所述用户信息至少包括以下之一:用户名、登录密码、身份证信息、待访问的地址。

7.一种测试平台,其特征在于,包括:测试接口界面,用于确定待测试的信息接口;

业务模型界面,用于基于所述信息接口确定出与所述待测试的信息接口对应的测试数据,其中所述测试数据至少包括用于生成测试请求的用户信息;

场景设置界面,用于确定出所述信息接口测试时的设定参数,其中所述设定参数至少用于确定出对所述信息接口进行测试的业务场景;其中,用于确定所述业务场景的所述设定参数包括:运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为信息接口的测试时间的时间长度;

数据定义界面,所述数据定义界面中包括:数据类型配置项,用于确定测试数据的数据类型是重用型或者消耗型;数据来源配置项,用于确定数据来源是非SOL、静态SQL或者由数据库导入;数据源配置项,用于获取数据源名称;SQL语句配置项,用于获取SQL语句,所述SQL语句用于查询并使用对应的表数据;最大导入条数配置项,用于确定测试数据的最大导入条数;

运行监控界面,用于展示所述信息接口进行数据处理能力测试相关的测试指标的测试结果。

8.根据权利要求7所述的测试平台,其特征在于,还包括:数据扩增界面,用于获取扩增的测试数据,所述数据扩增界面具有访问数据库的访问控件;其中,通过响应所述访问控件的操作动作,供所述业务模型界面读取数据库中存储的测试数据。

9.根据权利要求7所述的测试平台,其特征在于,还包括:测试请求界面,用于基于所述测试数据中的用户信息生成测试请求,并通过所述信息接口发送所述测试请求至待测试服务器;

所述数据处理能力测试相关的测试指标,至少包括以下之一:平均响应时间、每秒事务处理能力、总事务数。

10.根据权利要求7所述的测试平台,其特征在于,所述场景设置界面中包括:场景类型配置项,用于确定当前测试场景是联合测试场景或者单一业务用例测试场景;

用户加载策略配置项,用于确定用户加载策略是立即加载所有用户或者每隔预设时长加载预设数量的用户;

运行持续时间配置项,用于确定测试的运行时长;

用户释放策略配置项,用于确定用户释放策略是立即全部释放所有用户或者每隔预设时长释放预设数量的用户。

11.根据权利要求7所述的测试平台,其特征在于,还包括:基本信息界面,用于确定出测试请求的请求报文路径、响应报文路径、通信类型以及请求参数列表。

12.根据权利要求7所述的测试平台,其特征在于,所述运行监控界面,具体用于生成并显示测试报告,所述测试报告中同时显示多个信息接口的性能测试结果,并对多个同类型的信息接口的测试结果进行对比。

13.根据权利要求7所述的测试平台,其特征在于,还包括:业务数据池界面,用于显示当前数据池中各来源数据的当前状态。

14.一种测试装置,其特征在于,包括:接口确定单元,用于确定待测试的信息接口;

参数确定单元,用于基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,其中所述测试数据至少包括用于生成测试请求的用户信息,所述设定参数至少用于确定出对所述信息接口进行测试的业务场景;其中,用于确定所述业务场景的所述设定参数包括:运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为信息接口的测试时间的时间长度;所述参数确定单元具体用于:获取所述测试数据;基于所述测试数据的数据属性,对所述测试数据进行分类,其中分类后的所述测试数据至少包括:重用型数据或消耗型数据;

测试单元,用于基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试;其中,所述测试单元具体用于:基于所述重用型数据,对多个所述信息接口进行性能测试,和/或,基于所述消耗型数据,对单个对应的所述信息接口进行性能测试。

15.根据权利要求14所述的装置,其特征在于,所述待测试的信息接口为多个;

所述参数确定单元,用于:

基于多个所述信息接口,在测试平台业务模型中确定出各所述信息接口分别对应的测试数据;

基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数。

16.根据权利要求15所述的装置,其特征在于,所述关联关系,包括:多个所述信息接口在相同时段内所接收到测试请求的数量间的比例关系;

所述参数确定单元,用于:

基于所述比例关系,确定所述设定参数,其中所述设定参数用于确定联合测试业务场景下各所述信息接口所对应的测试数据的数据量。

17.根据权利要求14所述的装置,其特征在于,所述数据处理能力的性能测试,至少包括以下测试指标中的一个:

平均响应时间、每秒事务处理能力、总事务数;

所述测试单元用于以下之一:

向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的平均响应时间;

向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的每秒事务处理能力;

向待测试服务器发送所述测试请求,测试所述信息接口对测试请求成功响应的总事务数。

18.一种测试系统,其特征在于,包括:权利要求7‑13任一项所述的测试平台。

19.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述方法的步骤。

20.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。

说明书 :

测试方法、测试平台、测试装置、服务器及存储介质

技术领域

[0001] 本申请涉及测试技术领域,更具体地,涉及一种测试方法、测试平台、测试装置、测试系统、服务器及存储介质。

背景技术

[0002] 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试在行业中较多使用开源技术,但开源技术不具备测
试管理属性。在性能测试过程中,维护性能测试用例进行合理的性能测试业务场景对测试
过程很关键。

发明内容

[0003] 针对背景技术中存在的技术问题,本申请提供了一种测试方法、测试平台、测试装置、测试系统、服务器及存储介质。
[0004] 本申请实施例第一方面提供的一种测试方法,包括:
[0005] 确定待测试的信息接口;
[0006] 基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,其中所述测试数据至少包括用于生成测试请求的用户信息,所述设定参数至少用于确定出对所述信
息接口进行测试的业务场景;
[0007] 基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试。
[0008] 在一些实施例中,所述待测试的信息接口为多个;
[0009] 所述基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,包括:
[0010] 基于多个所述信息接口,在测试平台业务模型中确定出各所述信息接口分别对应的测试数据;
[0011] 基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数。
[0012] 在一些实施例中,所述关联关系,包括:多个所述信息接口在相同时段内所接收到测试请求的数量间的比例关系;
[0013] 所述基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数,包括:
[0014] 基于所述比例关系,确定所述设定参数,其中所述设定参数用于确定联合测试业务场景下各所述信息接口所对应的测试数据的数据量。
[0015] 在一些实施例中,所述数据处理能力的性能测试,至少包括以下测试指标中的一个:
[0016] 平均响应时间、每秒事务处理能力、总事务数;
[0017] 所述对所述信息接口进行数据处理能力的性能测试,至少包括以下之一:
[0018] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的平均响应时间;
[0019] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的每秒事务处理能力;
[0020] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求成功响应的总事务数。
[0021] 在一些实施例中,所述待测试的信息接口,至少包括支持以下协议中任一协议的信息接口;
[0022] 所述协议,包括:超文本传输协议http、超文本传输安全协议https、定长报文传输控制协议、不定长报文传输控制协议和消息协议MQ。
[0023] 在一些实施例中,用于确定所述业务场景的所述设定参数至少包括以下之一:
[0024] 运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为
信息接口的测试时间;
[0025] 所述用户信息至少包括以下之一:
[0026] 用户名、登录密码。
[0027] 在一些实施例中,所述确定出输入测试平台中的测试数据,包括:
[0028] 获取所述测试数据;
[0029] 基于所述测试数据的数据属性,对所述测试数据进行分类,其中分类后的所述测试数据至少包括:重用型数据或消耗型数据;
[0030] 所述基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试至少包括:
[0031] 基于所述重用型数据,对多个所述信息接口进行性能测试,和/或,
[0032] 基于所述消耗型数据,对单个对应的所述信息接口进行性能测试。
[0033] 本申请实施例第二方面提供的一种测试平台,其包括:
[0034] 测试接口界面,用于确定待测试的信息接口;
[0035] 业务模型界面,用于基于所述信息接口确定出与所述待测试的信息接口对应的测试数据,其中所述测试数据至少包括用于生成测试请求的用户信息;
[0036] 场景设置界面,用于确定出所述信息接口测试时的设定参数,其中所述设定参数至少用于确定出对所述信息接口进行测试的业务场景;
[0037] 运行监控界面,用于展示所述信息接口进行数据处理能力测试相关的测试指标的测试结果。
[0038] 在一些实施例中,还可以包括:
[0039] 数据扩增界面,用于获取扩增的测试数据,所述数据扩增界面具有访问数据库的访问控件;其中,通过响应所述访问控件的操作动作,供所述业务模型界面读取数据库中存
储的测试数据。
[0040] 在一些实施例中,还可以包括:
[0041] 测试请求界面,用于基于所述测试数据中的用户信息生成测试请求,并通过所述信息接口发送所述测试请求至待测试服务器;
[0042] 所述数据处理能力测试相关的测试指标,至少包括以下之一:
[0043] 平均响应时间、每秒事务处理能力、总事务数。
[0044] 在一些实施例中,所述场景设置界面中包括:
[0045] 场景类型配置项,用于确定当前测试场景是联合测试场景或者单一业务用例测试场景;
[0046] 用户加载策略配置项,用于确定用户加载策略是立即加载所有用户或者每隔预设时长加载预设数量的用户;
[0047] 运行持续时间配置项,用于确定测试的运行时长;
[0048] 用户释放策略配置项,用于确定用户释放策略是立即全部释放所有用户或者每隔预设时长释放预设数量的用户。
[0049] 在一些实施例中,还包括数据定义界面,所述数据定义界面中包括:
[0050] 数据类型配置项,用于确定测试数据的数据类型是重用型或者消耗型;
[0051] 数据来源配置项,用于确定数据来源是非SOL、静态SQL或者由数据库导入;
[0052] 数据源配置项,用于获取数据源名称,与测试环境数据库连通;
[0053] SQL语句配置项,用于获取SQL语句,所述SQL语句用于查询并使用对应的表数据;
[0054] 最大导入条数配置项,用于确定测试数据的最大导入条数。
[0055] 本申请实施例第三方面提供的一种测试装置,包括:
[0056] 接口确定单元,用于确定待测试的信息接口;
[0057] 参数确定单元,用于基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,其中所述测试数据至少包括用于生成测试请求的用户信息,所述设定参数至少
用于确定出对所述信息接口进行测试的业务场景;
[0058] 测试单元,用于基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试。
[0059] 在一些实施例中,所述待测试的信息接口为多个;
[0060] 所述参数确定单元,用于:
[0061] 基于多个所述信息接口,在测试平台业务模型中确定出各所述信息接口分别对应的测试数据;
[0062] 基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数。
[0063] 在一些实施例中,所述关联关系,包括:多个所述信息接口在相同时段内所接收到测试请求的数量间的比例关系;
[0064] 所述参数确定单元,用于:
[0065] 基于所述比例关系,确定所述设定参数,其中所述设定参数用于确定联合测试业务场景下各所述信息接口所对应的测试数据的数据量。
[0066] 在一些实施例中,所述数据处理能力的性能测试,至少包括以下测试指标中的一个:
[0067] 平均响应时间、每秒事务处理能力、总事务数;
[0068] 所述测试单元用于以下之一:
[0069] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的平均响应时间;
[0070] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的每秒事务处理能力;
[0071] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求成功响应的总事务数。
[0072] 在一些实施例中,
[0073] 所述参数确定单元具体用于:
[0074] 获取所述测试数据;
[0075] 基于所述测试数据的数据属性,对所述测试数据进行分类,其中分类后的所述测试数据至少包括:重用型数据或消耗型数据;
[0076] 所述测试单元具体用于:
[0077] 基于所述重用型数据,对多个所述信息接口进行性能测试,和/或,
[0078] 基于所述消耗型数据,对单个对应的所述信息接口进行性能测试。
[0079] 本申请实施例第四方面提供的一种测试系统,包括:
[0080] 上述实施例所述的测试平台。
[0081] 本申请实施例第五方面提供的一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所
述方法的步骤。
[0082] 本申请实施例第六方面提供的一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。
[0083] 本申请实施例提供的测试方法,包括:确定待测试的信息接口;基于信息接口,确定出输入测试平台中的测试数据以及设定参数,其中测试数据包括用于生成测试请求的用
户信息,设定参数用于确定出对信息接口进行测试的业务场景;基于测试数据以及设定参
数,对信息接口进行数据处理能力的性能测试。本申请中,通过在测试平台中输入测试数据
以及设定参数,来完成对应信息接口测试请求的确定以及信息接口测试时特定业务场景的
测试,从而可通过测试平台实现对信息接口特定业务场景下的接口测试。

附图说明

[0084] 结合附图,通过以下非限制性实施方式的详细描述,本申请的其他特征、目的和优点将变得更加明显。在附图中:
[0085] 图1是示出了本申请实施例的测试方法的流程示意图;
[0086] 图2是示出了本申请实施例的测试平台结构示意图;
[0087] 图3是示出了本申请实施例的测试流程图;
[0088] 图4是示出了本申请实施例的新增测试接口时的测试流程图;
[0089] 图5是示出了本申请实施例的测试平台界面示意图;
[0090] 图6是示出了本申请实施例的测试平台中基本信息界面结构示意图;
[0091] 图7是示出了本申请实施例的测试平台中业务模型界面联合测试结构示意图;
[0092] 图8A是示出了本申请实施例的测试结果中运行用户曲线的示意图;
[0093] 图8B是示出了本申请实施例的测试结果中每秒事务数曲线的示意图;
[0094] 图8C是示出了本申请实施例的测试结果中平均事务响应时间曲线的示意图;
[0095] 图8D是示出了本申请实施例的测试结果中每秒事务总数曲线的示意图;
[0096] 图9是示出了本申请实施例的测试平台中运行参数示意图;
[0097] 图10是示出了本申请实施例的测试平台中数据扩增界面示意图;
[0098] 图11是示出了本申请实施例的测试平台中数据定义示意图;
[0099] 图12是示出了本申请实施例的测试平台中场景设置示意图;
[0100] 图13是示出了本申请实施例的测试平台中基本信息界面显示示意图;
[0101] 图14是示出了本申请实施例的测试装置的结构示意图。

具体实施方式

[0102] 为了更好地理解本申请,将参考附图对本申请的各个方面做出更详细的说明。应理解,这些详细说明只是对本申请的示例性实施方式的描述,而非以任何方式限制本申请
的范围。在说明书全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所
列项目中的一个或多个的任何和全部组合。
[0103] 还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、元件和/或部件,但不排除存在或附加有一个或多个
其它特征、元件、部件和/或它们的组合。此外,当诸如“...中的一个”的表述出现在所列特
征的列表之后时,修饰整个所列特征,而不是修饰列表中的单独元件。此外,当描述本申请
的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在
指代示例或举例说明。
[0104] 除非另外限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词
典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且
将不被以理想化或过度正式意义解释,除非本文中明确如此限定。
[0105] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0106] 以下对本申请实施例的特征、原理和其他方面进行详细描述。
[0107] 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试在行业中较多使用开源技术,但开源技术不具备测
试管理属性。在性能测试过程中,维护性能测试用例进行合理的性能测试业务场景对测试
过程很关键。
[0108] 本申请实施例提供的一种测试方法。图1是示出了本申请实施例的测试方法的流程示意图。如图1所示,该测试方法,包括:
[0109] 步骤10、确定待测试的信息接口;
[0110] 在本示例性实施例中,通过测试平台进行测试的信息接口可以包括:登录接口、查看接口、支付接口、注册接口等任意平台中使用的至少一个访问接口。其中,登录接口至少
包括用户名登录的登录接口。查看接口至少包括查看账号信息或产品信息的查看接口。支
付接口至少包括购买服务时需要进入的支付接口。注册接口至少包括身份注册时的注册接
口等。
[0111] 步骤11、基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,其中所述测试数据至少包括用于生成测试请求的用户信息,所述设定参数至少用于确定出对
所述信息接口进行测试的业务场景;
[0112] 在本示例性实施例中,可在测试平台上进行信息接口的测试,通过向测试接口发送测试请求(即测试业务用例)来进行信息接口的测试,同时检测信息接口的服务器端对大
量测试请求的访问响应能力。
[0113] 在本示例性实施例中,测试请求可在测试平台上根据输入测试平台的测试数据中的用户信息直接生成。其中,用户信息至少包括用户名、密码、身份证信息以及待访问的地
址等信息中的一个。
[0114] 在本示例性实施例中,在通过测试平台发送测试请求对信息接口进行测试时,可根据设定参数来确定具体的业务场景。在确定出的业务场景下对信息接口进行测试。其中
业务场景至少包括:同时发送的测试请求的数量、待测试的信息接口、一个信息接口需要测
试请求的数量、同一个信息接口对应的两条测试请求间的时间间隔等。
[0115] 在测试平台中具体的测试时的业务场景可通过测试平台上的设定参数来进行具体设定,从而确定出需要测试的业务场景。
[0116] 步骤12、基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试。
[0117] 在本示例性实施例中,测试平台中设定参数可根据测试要求自行配置完成。例如根据具体的业务场景,进行自行配置完成设定参数。
[0118] 本申请实施例提供的测试方法,包括:确定待测试的信息接口;基于信息接口,确定出输入测试平台中的测试数据以及设定参数,其中测试数据至少包括用于生成测试请求
的用户信息,设定参数至少用于确定出对信息接口进行测试的业务场景;基于测试数据以
及设定参数,对信息接口进行数据处理能力的性能测试。本申请中,通过在测试平台中输入
测试数据以及设定参数,来完成对应信息接口测试请求的确定以及信息接口测试时特定业
务场景的测试,从而可通过测试平台实现对信息接口特定业务场景下的接口测试,实现配
置化管理性能测试资产。
[0119] 在一些实施例中,所述待测试的信息接口为多个;
[0120] 步骤11中基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,包括:
[0121] 基于多个所述信息接口,确定出各所述信息接口分别对应的测试数据;
[0122] 基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试的业务场景的所述设定参数。
[0123] 在本示例性实施例中,在确定业务场景时,可根据需要确定同时对多个信息接口进行测试的场景,或针对多个信息接口同时进行测试的业务模型。在对多个信息接口进行
同时联合测试时,可根据信息接口间的关联关系,确定设定参数,具体包括:
[0124] 多个信息接口间存在测试请求间的依次顺序时,可根据设定参数设定发送测试请求间的时间顺序。例如,第一个信息接口为登录接口,第二个信息接口为查看接口,第三个
信息接口为支付接口,此时测试请求访问时需要先发送登录请求,再发送查看请求,最后购
买服务时发送支付请求。此时可通过设定参数确定出登录请求、查看请求以及支付请求间
的发送顺序。本申请中业务模型指确定信息接口进行测试时是单一信息接口测试或者多个
信息接口联合测试的测试方式。
[0125] 在本示例性实施例中,在测试平台中可通过设定参数确定出针对各个信息接口间的测试请求间的速率关系。其中,速率关系,至少包括:确定第一个信息接口对应的单位时
间内测试请求数量与第二个信息接口对应的单位时间内测试请求数量间的比例等。例如,
第一信息接口为查看接口,第二信息接口为支付接口,购物平台在实际应用中用户查看的
次数是大于支付次数的,那么平均到单位时间内,单位时间内用户查看的次数也是大于支
付次数的。因此可在测试时根据实际情况确定查看接口与支付接口单位时间内的测试请求
数量间的比例关系。例如,查看接口与支付接口单位时间内的测试请求数量间的比例关系
为3:1等。
[0126] 在后续测试时,可根据不同的速率关系控制第一信息接口和第二信息接口间单位时间内的测试请求数量,进而控制第一信息接口和第二信息接口间不同的测试压力。即单
位时间内的测试请求数量越多,对于该信息接口而言,测试压力越大。信息接口能够承载的
测试压力越大,说明信息接口的数据处理能力越强,性能越稳定。
[0127] 在本示例性实施例中,通过设定参数确定多个信息接口同时测试的业务场景,从而可实现根据信息接口间的关联关系进行联合测试,进而提高测试效率和测试质量。
[0128] 在一些实施例中,所述关联关系,包括:多个所述信息接口在相同时段内所接收到测试请求的数量间的比例关系;
[0129] 所述基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数,包括:
[0130] 基于所述比例关系,确定所述设定参数,其中所述设定参数用于确定联合测试业务场景下各所述信息接口所对应的测试数据的数据量。
[0131] 在本示例性实施例中,在测试平台中还可以通过设定参数确定出针对各个信息接口间的测试请求间的数量关系。其中,数量关系,至少包括:确定第一个信息接口对应的测
试请求数量与第二个信息接口对应的测试请求数量间的比例。例如,第一信息接口为查看
接口,第二信息接口为支付接口,购物平台在实际应用中用户查看的次数是大于支付次数
的,因此可在测试时根据实际情况确定查看接口与支付接口间的测试请求数量间的比例关
系。例如,查看接口与支付接口间的测试请求数量间的比例关系为3:1等。
[0132] 在本示例性实施例中,速率关系和数量关系均为关联关系中的一种关系体现。数量关系主要侧重于体现整个测试过程中不同信息接口间所承载的不同的测试压力。速率关
系主要侧重于测试过程中某个时间段内不同信息接口间所承载的不同的测试压力。
[0133] 在一些实施例中,所述数据处理能力的性能测试,至少包括以下测试指标中的一个:
[0134] 平均响应时间、每秒事务处理能力、总事务数;
[0135] 所述对所述信息接口进行数据处理能力的性能测试,至少包括以下之一:
[0136] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的平均响应时间;
[0137] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求的每秒事务处理能力;
[0138] 向待测试服务器发送所述测试请求,测试所述信息接口对测试请求成功响应的总事务数。
[0139] 在本示例性实施例中,测试信息接口的性能测试的测试指标至少包括:信息接口对大量测试请求的平均响应时间、信息接口每秒能够响应测试请求的能力即每秒事务处理
能力、信息接口在预定时间内响应测试请求的数量,即预定时间内的总事务数。上述指标均
可以作为对信息接口数据处理能力的性能测试的评定指标。其中,平均响应时间越短,每秒
事务处理能力越强,预定时间内总事务数越多,说明信息接口对应测试请求的响应能力越
强,即数据处理能力越强,即服务器端的服务性能越好。
[0140] 在本示例性实施例中,测试平台可与待测试服务器连接,向待测试服务器发送测试请求,来测试待测试信息接口的数据处理性能。信息接口可以为集成在待测试服务器的
测试系统上的数据接口。
[0141] 在一些实施例中,所述待测试的信息接口,至少包括支持以下协议中任一协议的信息接口;
[0142] 所述协议,包括:超文本传输协议http、超文本传输安全协议https、定长报文传输控制协议、不定长报文传输控制协议和消息协议MQ。
[0143] 在本示例性实施例中,在通过测试平台进行信息接口测试时,可支持多种协议的信息接口测试。即可以支持对超文本传输协议http、超文本传输安全协议https、定长报文
传输控制协议、不定长报文传输控制协议和消息协议MQ中任意一种的协议下的信息接口的
测试。在具体使用时,可根据设定参数设定支持对应协议通信的测试请求的数据格式,然后
向信息接口发送对应数据格式的测试请求。
[0144] 在一些实施例中,所述基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试,包括:
[0145] 基于所述测试数据,生成所述测试请求;
[0146] 基于所述待测试的信息接口,发送所述测试请求至被测试的服务器。其中,测试平台与被测试服务器相连接。
[0147] 在本示例性实施例中,所述基于所述测试数据,生成所述测试请求,至少包括:确定出请求报文格式,和/或,响应报文格式;
[0148] 基于所述测试数据,生成符合所述请求报文格式和/或响应报文格式的测试请求;
[0149] 通过所述待测试的信息接口,向服务器发送包含有请求报文和/或响应报文的测试请求。其中,请求报文格式和响应报文格式可以根据待测试的信息接口的通信协议确定。
[0150] 在一些实施例中,用于确定所述业务场景的所述设定参数至少包括以下之一:
[0151] 运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为
信息接口的测试时间;
[0152] 所述用户信息至少包括以下之一:用户名、登录密码。
[0153] 在本示例性实施例中,图9是示出了本申请实施例的测试平台中运行参数示意图。如图9所示,设定参数中包含有运行参数设定。运行参数至少包括运行次数和迭代步长。运
行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间。
如图9所示,运行次数可以确定为1次,迭代步长可以确定为1000ms,此处仅为示例。数据加
载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为信息接口的测试时
间。在确定具体的测试业务场景时,可以根据上述设定参数设定任意一种业务场景。其中,
数据加载方式,至少包括:图片、音频、视频等多种数据形式的加载。例如人脸图像识别、声
音识别等。
[0154] 在一些实施例中,所述确定出输入测试平台中的测试数据,包括:
[0155] 获取所述测试数据;
[0156] 基于所述测试数据的数据属性,对所述测试数据进行分类,其中分类后的所述测试数据至少包括:重用型数据或消耗型数据;
[0157] 基于所述重用型数据,对多个所述信息接口进行性能测试,和/或,基于所述消耗型数据,对单个对应的所述信息接口进行性能测试。
[0158] 在本示例性实施例中,测试平台在获取测试数据时,可建立能处理万级及以上量级的数据池,通过数据池与数据库连接,从数据库中直接获取测试数据。其中,获取测试数
据可根据测试数据的数据属性,对测试数据进行分类。分类后的测试数据至少包括重用型
数据和/或消耗型数据。其中,重用型数据包括针对多个信息接口可以重复利用的数据,例
如针对一个平台上的多个不同产品的查看接口,同一个用户数据可以重复利用来访问多个
查看接口。消耗型数据包括只针对单一信息接口一次性访问时所使用的数据,例如针对购
买平台上支付接口的一次性验证码等。
[0159] 在一些实施例中,所述确定出输入测试平台中的测试数据,包括:
[0160] 获取用户的测试数据;
[0161] 基于用户名称,标识与所述用户名称对应的测试数据;
[0162] 基于所述测试数据的标识信息,调用所述用户的测试数据。
[0163] 在本示例性实施例中,在获取测试数据时,可根据用户名称标识用户对应的测试数据;根据标识信息调用对应用户的测试数据,从而有利于快速调取对应的用户的测试数
据进行信息接口测试。例如,通过用户名和密码实现登录测试后,当接收到服务端反馈的登
录成功信息后,可调用与用户名对应的身份信息或其他信息进行一个信息接口的测试,或
接收到服务端响应的需要用户验证信息时,可调取该用户对应的验证信息发送服务端进行
验证。
[0164] 在一些实施例中,所述对信息接口进行数据处理能力的性能测试,包括:
[0165] 确定所述信息接口测试的时间阈值以及响应测试请求的事务数阈值;
[0166] 所述信息接口持续测试的测试时间达到所述时间阈值,和/或,响应测试请求的事务数达到所述事务数阈值,则停止所述信息接口的性能测试。
[0167] 在本示例性实施例中,在通过测试平台进行信息接口测试时,确定出所述信息接口的性能测试的停止测试条件。该停止测试条件,至少包括:测试时间达到设定的时间阈值
和/或,响应测试请求的事务数达到设定的事务数阈值。例如,设定针对信息接口A的测试时
间的时间阈值为2小时,则可对信息接口A进行持续两个小时的测试请求测试。当测试时间
达到两个小时后,测试平台可自动停止针对信息接口A的测试请求发送。或,设定信息接口A
的响应测试请求的事务数为10000条,则当信息接口A的响应测试请求的事务数达到10000
条时,则测试平台可自动停止针对信息接口A的测试请求发送。通过测试数据管理,实现了
性能测试过程中不同的数据类型处理并可支持数万级及以上处理能力。
[0168] 在一些实施例中,还包括:确定请求报文路径和响应报文路径;
[0169] 基于确定的所述请求报文路径,发送所述测试请求;
[0170] 基于所述响应报文路径,接收服务器端反馈的响应;
[0171] 其中所述发送所述测试请求包括:确定请求方式、请求数据类型以及确定报文头等。请求方式可以包括POST等方法。POST 用于将数据发送到服务器来创建/更新资源,为
HTTP超文本协议请求方法的一种。请求数据类型可以包括text文本、xml等。
[0172] 图2是示出了本申请实施例的测试平台结构示意图。如图2所示,本申请的测试平台包括:用户展现层、应用服务层、通信服务层、基础服务层、数据服务层。其中,用户展现层
包括测试平台web端;应用服务层包括测试环境确定出、流水号确定出、业务数据池、数据函
数助手、身份证号确定出、数据源确定出等多种环境数据确定出服务,以及性能业务模型确
定出、性能业务场景执行、性能测试报告管理等性能测试服务等;通信服务层包括通信处
理、报文管理、流程管理、服务管理、组件管理、数据库操作、异常信息处理、测试工程确定出
管理等服务;基础服务层包括项目管理、用户认证、权限管理、调度管理、系统监控等服务;
数据服务层包括缓存服务、数据库持久化存储、文件系统、Git/svn版本库服务等。其中,
[0173] 测试平台web端,提供了多用户的操作界面,方便统一管理,测试信息共享。
[0174] 测试环境配置功能,集中组织管理被测环境的IP和端口信息,实现一次端口信息配置添加,多次引用。
[0175] 流水号配置、业务数据池,数据函数助手,身份证号配置和数据源配置,为接口测试请求提供了灵活的多种数据处理能力,对测试请求中有唯一性校验的字段一次配置多次
引用,减少手工操作的依赖,满足如金融业务中唯一身份证信息校验需求。其中业务数据池
可实现万级及以上数量级要求。
[0176] 性能业务模型配置,性能业务场景执行,性能测试报告管理逐步实现了整体的性能测试过程。
[0177] 通信服务层、基础服务层和数据服务层提供了作为性能测试平台的底层技术实现,并较当前的技术特点具有通用性和广泛性。
[0178] 图3是示出了本申请实施例的测试流程图。如图3所示,测试过程包括:
[0179] 确定性能测试业务用例(包括引用已有接口测试用例);
[0180] 确定性能测试业务模型(包括单用例测试或多用例组合);
[0181] 确定性能测试业务场景(包括运行参设定,如并发用户数、测试时间、迭代步长);
[0182] 获取测试结果分析(包括展示测试主要指标:平均响应时间、每秒事务数、总事务数等)。
[0183] 图4是示出了本申请实施例的新增测试接口时的测试流程图。如图4所示,测试过程中,如果需要新增测试用例即测试请求时,可在接口用例数中新增文件目录里添加测试
数据,然后增加待测试的信息接口,根据新增测试数据生成新的测试请求对新增的信息接
口进行测试。
[0184] 本申请实施例第二方面提供的一种测试平台。图5是示出了本申请实施例的测试平台界面示意图。如图5所示,测试平台包括:
[0185] 测试接口界面51,用于确定待测试的信息接口;
[0186] 业务模型界面52,用于基于所述信息接口确定出与所述待测试的信息接口对应的测试数据,其中所述测试数据至少包括用于生成测试请求的用户信息;
[0187] 场景设置界面53,用于确定出所述信息接口测试时的设定参数,其中所述设定参数至少用于确定出对所述信息接口进行测试的业务场景;
[0188] 运行监控界面54,用于展示所述信息接口进行数据处理能力测试相关的测试指标的测试结果。
[0189] 在本示例性实施例中,测试平台可包括多个测试界面。通过多个测试界面执行信息接口的性能测试,包括生成测试请求、发送测试请求(即发送事务例)、接收测试响应、显
示测试结果、设定测试时的业务场景等。
[0190] 在其他实施例中,多个测试界面至少包括:
[0191] 测试接口界面51,用于确定待测试的信息接口;
[0192] 业务模型界面52,引用待测试的信息接口,并获取与所述待测试的信息接口对应的测试数据,其中所述测试数据至少包括用于生成测试请求的用户信息;
[0193] 场景设置界面53,引用业务模型并确定出所述信息接口测试时的设定参数,其中所述设定参数至少用于确定出对所述信息接口进行测试的业务场景;通过业务模型能够确
定出信息接口进行测试时是单一信息接口测试或者多个信息接口联合测试的测试方式。
[0194] 运行监控界面54,用于监测所述信息接口进行数据处理能力的性能测试。
[0195] 场景设置界面53,用于输入设定参数,其中所述设定参数至少用于确定出对所述信息接口进行测试的业务场景,包括:在场景设置界面内设置单一信息接口测试时,对应的
设定参数,确定单一信息接口测试时的业务场景,例如测试时间、运行次数、迭代步长等,
或,
[0196] 在场景设置界面53内设置多个信息接口联合测试时,对应的设定参数,确定联合测试时的业务场景,例如测试时间、运行次数、迭代步长、测试请求数据量的比例等。
[0197] 图7是示出了本申请实施例的测试平台中业务模型界面联合测试结构示意图。如图7所示,业务模型界面52,还用于确定联合测试时,联合测试的信息接口。例如,当需要联
合测试时,可在业务模型界面中确定同时进行联合测试的信息接口,例如信息接口A、信息
接口B和信息接口C进行联合测试。在业务模型界面52直接选中或加载需要联合测试的接口
即可。
[0198] 在一些实施例中,还可以包括:
[0199] 数据扩增界面,用于输入扩增的测试数据,所述数据扩增界面具有访问数据库的访问控件;其中,通过操作所述访问控件所述测试平台读取数据库中存储的测试数据。
[0200] 在本示例性实施例中,图10是示出了本申请实施例的测试平台中数据扩增界面示意图。如图10所示,数据扩增界面可用于在数据库中调取需要扩增的测试数据。例如上述实
施例所述的重用型数据及消耗型数据等。当测试数据不够用或者需要更新时,可通过数据
扩增界面来增加测试数据。在数据扩增界面可新增数据池对象,导入数据库信息输入要查
询匹配的sql数据库。数据扩增界面中除了可以新增测试数据外,还具有修改、删除、复制、
生效状态显示、失效状态显示、连接测试等功能。生效状态显示用于确定该测试数据有效状
态,此时该测试数据有效可用。失效状态显示用于确定该测试数据为失效状态,数据不可
用。连接测试用于建立测试数据的连接测试状态,使得该测试数据能够被平台调用进行接
口测试。
[0201] 图11是示出了本申请实施例的测试平台中数据定义界面示意图。如图11所示,数据定义界面中可展示测试数据的数据属性。例如,数据类型为重用型还是消耗型。数据来源
是非SOL、静态SQL、还是数据库导入等,以及最大导入条数、该测试数据所处的数据列以及
在数据列中的序号等。
[0202] 图12是示出了本申请实施例的测试平台中场景设置示意图。如图12所示,场景设置界面中可以显示场景类型,例如显示当下测试场景是混合场景(即联合测试场景)还是单
一业务用例测试场景等。除此之外,还可以显示测试时的用户数、用户加载情况、运行持续
时间、用户释放等情况。用户加载情况(策略)可以包括一次性全部加载所有用户和每隔一
段时间加载一批用户两种情况,例如图12中所示的每一秒加载10个用户。用户释放情况(策
略)可以包括一次性全部释放(停止)所有用户和每隔一段时间释放一批用户两种情况,例
如图12中所示的每一秒释放(停止)10个用户。运行持续时间包括:运行至结束,即停止测
试;以及,运行到用户指定或设定的时间,例如设定的天和设定的小时,分钟和秒;以及运行
持续时间是无期限的,即由测试人员决定什么时间停止测试,通过获取测试人员输入的停
止测试指令来实现停止测试。
[0203] 图13是示出了本申请实施例的测试平台中基本信息界面显示示意图。如图13所示,基本信息中除了包含有请求报文路径、响应报文路径、通信类型、交易参数列表外,可以
包含有交易接口名称、测试请求的创建者、修改者、创建时间、修改时间等信息。交易参数列
表中的参数至少包括如图13所示的请求URL路径、请求方式、请求SOAP方法、请求数据类型、
发送报文头等。
[0204] 在一些实施例中,还可以包括:
[0205] 测试请求界面,用于基于所述测试数据中的用户信息生成测试请求,并通过所述信息接口发送所述测试请求至服务器。
[0206] 测试结果显示界面,用于显示性能测试结果;其中,
[0207] 所述数据处理能力的性能测试,至少包括以下测试指标中的一个:
[0208] 平均响应时间、每秒事务处理能力、总事务数;
[0209] 所述显示性能测试结果,至少包括以下之一:
[0210] 显示所述信息接口对测试请求的平均响应时间;
[0211] 显示所述信息接口对测试数据的每秒事务处理能力;
[0212] 显示所述信息接口对测试请求成功响应的总事务数。
[0213] 在本示例性实施例中,测试信息接口的性能测试的测试指标包括:信息接口对大量测试请求的平均响应时间、信息接口每秒能够响应测试请求的能力即每秒事务处理能
力、信息接口在预定时间内响应测试请求的数量,即预定时间内的总事务数。上述指标均可
以作为对信息接口数据处理能力的性能测试的评定指标。其中,平均响应时间越短,每秒事
务处理能力越强,预定时间内总事务数越多,说明信息接口对应测试请求的响应能力越强,
即数据处理能力越强,即服务器端的服务性能越好。上述标识测试结果的测试指标可在测
试结果显示界面中进行显示。测试请求中确定的请求报文格式和响应报文格式可在测试请
求界面中进行确定和显示。
[0214] 在一些实施例中,图6是示出了本申请实施例的测试平台中基本信息界面结构示意图。如图6所示,测试平台还包括:
[0215] 基本信息界面,用于确定出测试请求的请求报文路径、响应报文路径、通信类型以及请求参数列表。其中,请求参数列表中的请求参数包括:请求方式、请求数据类型以及报
文头等。请求方式可以包括POST。POST 用于将数据发送到服务器来创建/更新资源,为HTTP
超文本协议请求方法的一种。请求数据类型可以包括text文本、xml等。
[0216] 在一些实施例中,场景设置界面还用于确定用户数以及用户加载策略。即可通过登录多个用户对信息接口进行测试请求测试。用户加载策略可包括一次性全部加载所有选
中的用户,也可以根据预定规则批次加载用户。根据预定规则批次加载用户,包括:根据设
定的时间间隔依次加载用户,或根据发出的测试请求的数量依次加载用户。例如每隔一个
小时加载一批用户,或每当测试请求的数量达到预定数量,加载一批用户。通过控制加载用
户数,来控制测试请求的请求数量,从而调整对信息接口的性能测试的性能测试压力。其
中,单位时间内发出的请求数量越多,信息接口的测试压力越大;持续测试的时间越长,信
息接口的测试压力越大。
[0217] 在一些实施例中,运行监控界面,可用于生成并显示测试报告。测试报告中包含了上述各项测试指标,并生成有测试曲线。其中测试报告中可同时显示多个信息接口的性能
测试结果,并可以对多个同类型的信息接口的测试结果进行对比。例如,多个查看接口中的
第一接口和第二接口间的各项测试结果对比。第一接口的平均响应时间与第二接口的平均
响应时间进行对比等。其他测试指标不再一一列举。
[0218] 在一些实施例中,还包括:测试文件管理界面,用于添加或删除获取的测试文件。例如,从数据库获取并添加文本类型的测试文件,或删除已添加的音频格式的测试文件等。
[0219] 在一些实施例中,还包括:业务数据池界面,用于显示当前数据池中各来源数据的当前状态,例如当前数据是否有效,是否在测试请求的使用中等。
[0220] 图8A至图8D是示出了本申请实施例的测试结果中各项测试指标曲线的示意图。如图8A至图8D所示,分别包括运行用户曲线、每秒事务数曲线、平均事务响应时间曲线以及每
秒事务总数曲线。
[0221] 用户曲线:展示了当前性能测试业务场景中的压力情况大小。
[0222] 每秒事务数曲线:展示了当前性能测试业务场景中的接口请求性能表现结果,与平均事务响应时间对应。两者的测试结果直接表明了被测系统的性能大小是否符合预期的
生产要求。
[0223] 每秒事务总数曲线,展示了每秒事务数曲线之和,只有一个请求时,该数据与每秒事务数曲线相同,多个请求时,该数据为多个请求的事务总和。
[0224] 在一些实施例中,所述场景设置界面中包括:
[0225] 场景类型配置项,用于确定当前测试场景是联合测试场景或者单一业务用例测试场景;
[0226] 用户加载策略配置项,用于确定用户加载策略是立即加载所有用户或者每隔预设时长加载预设数量的用户;
[0227] 运行持续时间配置项,用于确定测试的运行时长;
[0228] 用户释放策略配置项,用于确定用户释放策略是立即全部释放所有用户或者每隔预设时长释放预设数量的用户。
[0229] 在本示例性实施例中,场景设置界面中可以进行场景类型配置项、用户加载策略配置项、运行持续时间配置项以及用户释放策略配置项的配置。
[0230] 在一些实施例中,还包括数据定义界面,所述数据定义界面中包括:
[0231] 数据类型配置项,用于确定测试数据的数据类型是重用型或者消耗型;
[0232] 数据来源配置项,用于确定数据来源是非SOL、静态SQL或者由数据库导入;
[0233] 数据源配置项,用于获取数据源名称,与测试环境数据库连通;
[0234] SQL语句配置项,用于获取SQL语句,SQL语句用于查询并使用对应的表数据;
[0235] 最大导入条数配置项,用于确定测试数据的最大导入条数。
[0236] 在本示例性实施例中,数据定义界面中可以进行数据类型配置项、数据来源配置项、数据源配置项、SQL语句配置项以及最大导入条数配置项。
[0237] 本申请实施例第三方面提供的一种测试装置。图14是示出了本申请实施例的测试装置的结构示意图。如图14所示,测试装置包括:
[0238] 接口确定单元71,用于确定待测试的信息接口;
[0239] 参数确定单元72,用于基于所述信息接口,确定出输入测试平台中的测试数据以及设定参数,其中所述测试数据至少包括用于生成测试请求的用户信息,所述设定参数至
少用于确定出对所述信息接口进行测试的业务场景;
[0240] 测试单元73,用于基于所述测试数据以及所述设定参数,对所述信息接口进行数据处理能力的性能测试。
[0241] 在本示例性实施例中,测试请求可在测试平台上根据输入测试平台的测试数据中的用户信息直接生成。其中,用户信息至少包括用户名、密码、身份证信息以及待访问的地
址等信息中的一个。
[0242] 在本示例性实施例中,在通过测试平台发送测试请求对信息接口进行测试时,可根据设定参数来确定具体的业务场景。在确定出的业务场景下对信息接口进行测试。其中
业务场景至少包括:同时发送的测试请求的数量、待测试的信息接口、一个信息接口需要测
试请求的数量、同一个信息接口对应的两条测试请求间的时间间隔等。
[0243] 在测试平台中具体的测试时的业务场景可通过测试平台上的设定参数来进行具体设定,从而确定出需要测试的业务场景。
[0244] 在本示例性实施例中,通过测试平台进行测试的信息接口可以包括:登录接口、查看接口、支付接口、注册接口等任意平台中使用的访问接口。其中,登录接口至少包括用户
名登录的登录接口。查看接口至少包括查看账号信息或产品信息的查看接口。支付接口包
括购买服务时需要进入的支付接口。注册接口包括身份注册时的注册接口等。
[0245] 本申请实施例提供的测试方法,包括:确定待测试的信息接口;基于信息接口,确定出输入测试平台中的测试数据以及设定参数,其中测试数据至少包括用于生成测试请求
的用户信息,设定参数至少用于确定出对信息接口进行测试的业务场景;基于测试数据以
及设定参数,对信息接口进行数据处理能力的性能测试。本申请通过在测试平台中输入测
试数据以及设定参数,来完成对应信息接口测试请求的确定以及信息接口测试时特定业务
场景的测试,从而可通过测试平台实现对信息接口特定业务场景下的接口测试。
[0246] 在一些实施例中,所述待测试的信息接口为多个;
[0247] 所述参数确定单元,用于:
[0248] 基于多个所述信息接口,确定出各所述信息接口分别对应的测试数据;
[0249] 基于多个所述信息接口间具有的关联关系,确定出用于确定多个信息接口联合测试业务场景的所述设定参数。
[0250] 在本示例性实施例中,在确定业务场景时,可根据需要确定同时对多个信息接口进行测试的场景,或针对多个信息接口同时进行测试的业务模型。在进行多个信息接口进
行同时联合测试时,可根据信息接口间的关联关系,确定设定参数,包括:
[0251] 多个信息接口间存在测试请求间的依次顺序时,可根据设定参数设定发送测试请求间的时间顺序。例如,第一个信息接口为登录接口,第二个信息接口为查看接口,第三个
信息接口为支付接口,此时测试请求访问时需要先发送登录请求,再发送查看请求,最后购
买服务时发送支付请求。此时可通过设定参数确定出登录请求、查看请求以及支付请求间
的发送顺序。
[0252] 在本示例性实施例中,在测试平台中可通过设定参数确定出针对各个信息接口间的测试请求间的比例。其中包括:第一个信息接口对应的单位时间内测试请求数量与第二
个信息接口对应的单位时间内测试请求数量间的比例等。
[0253] 在本示例性实施例中,通过设定参数确定多个信息接口同时测试的业务场景,从而可实现根据信息接口间的关联关系进行联合测试,进而提高测试效率和测试质量。
[0254] 所述参数确定单元,用于:
[0255] 基于所述比例关系,确定所述设定参数,其中所述设定参数用于确定联合测试业务场景下各所述信息接口所对应的测试数据的数据量。
[0256] 在本示例性实施例中,在测试平台中还可以通过设定参数确定出针对各个信息接口间的测试请求间的数量关系。其中,数量关系,至少包括:确定第一个信息接口对应的测
试请求数量与第二个信息接口对应的测试请求数量间的比例。
[0257] 在一些实施例中,所述数据处理能力的性能测试,至少包括以下测试指标中的一个:
[0258] 平均响应时间、每秒事务处理能力、总事务数;
[0259] 所述对所述信息接口进行数据处理能力的性能测试,至少包括以下之一:
[0260] 测试所述信息接口对测试请求的平均响应时间;
[0261] 测试所述信息接口对测试请求的每秒事务处理能力;
[0262] 测试所述信息接口对测试请求成功响应的总事务数。
[0263] 在本示例性实施例中,测试信息接口的性能测试的测试指标包括:信息接口对大量测试请求的平均响应时间、信息接口每秒能够响应测试请求的能力即每秒事务处理能
力、信息接口在预定时间内响应测试请求的数量,即预定时间内的总事务数。上述指标均可
以作为对信息接口数据处理能力的性能测试的评定指标。其中,平均响应时间越短,每秒事
务处理能力越强,预定时间内总事务数越多,说明信息接口对应测试请求的响应能力越强,
即数据处理能力越强,即服务器端的服务性能越好。
[0264] 在一些实施例中,所述待测试的信息接口,至少包括支持以下协议中任一协议的信息接口;
[0265] 所述协议,包括:超文本传输协议http、超文本传输安全协议https、定长报文传输控制协议、不定长报文传输控制协议和消息协议MQ。
[0266] 在本示例性实施例中,在通过测试平台进行信息接口测试时,可支持多种协议的信息接口测试。即可以支持对超文本传输协议http、超文本传输安全协议https、定长报文
传输控制协议、不定长报文传输控制协议和消息协议MQ中任意一种的协议下的信息接口的
测试。在具体使用时,可根据设定参数设定支持对应协议通信的测试请求的数据格式,然后
向信息接口发送对应数据格式的测试请求。
[0267] 在一些实施例中,所述测试单元,用于:
[0268] 基于所述测试数据,生成所述测试请求;
[0269] 基于所述待测试的信息接口,发送所述测试请求至服务器。
[0270] 在本示例性实施例中,所述基于所述测试数据,生成所述测试请求,至少包括:确定出请求报文格式,和/或,响应报文格式;
[0271] 基于所述测试数据,生成符合所述请求报文格式和/或响应报文格式的测试请求;
[0272] 通过所述待测试的信息接口,向服务器发送包含有请求报文和/或响应报文的测试请求。其中,请求报文格式和响应报文格式可以根据待测试的信息接口的通信协议确定。
[0273] 在一些实施例中,用于确定所述业务场景的所述设定参数至少包括以下之一:
[0274] 运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确定为信息接口对应的测试数据的加载方式;运行时间,确定为
信息接口的测试时间;
[0275] 所述用户信息至少包括以下之一:用户名、登录密码。
[0276] 在本示例性实施例中,确定业务场景的设定参数还可以包括运行次数,确定为信息接口的测试次数;迭代步长,确定为相邻测试请求间的请求延迟时间;数据加载方式,确
定为信息接口对应的测试数据的加载方式;运行时间,确定为信息接口的测试时间。在确定
具体的测试业务场景时,可以根据上述设定参数设定任意一种业务场景。
[0277] 在一些实施例中,还包括测试数据获取单元,用于:
[0278] 获取所述测试数据;
[0279] 基于所述测试数据的数据属性,对所述测试数据进行分类,其中分类后的所述测试数据至少包括:重用型数据和/或消耗型数据;
[0280] 基于所述重用型数据,对多个所述信息接口进行性能测试,和/或,基于所述消耗型数据,对单个对应的所述信息接口进行性能测试。
[0281] 在本示例性实施例中,测试平台在获取测试数据时,可建立能处理万级及以上量级的数据池,通过数据池与数据库连接,从数据库中直接获取测试数据。其中,获取测试数
据可根据数据的数据属性,对测试数据进行分类。分类后的测试数据包括重用型数据和/或
消耗型数据。其中,重用型数据包括针对多个信息接口可以重复利用的数据,例如针对一个
平台上的多个不同产品的查看接口,同一个用户数据可以重复利用用来访问多个查看接
口。消耗型数据包括只针对单一信息接口一次性访问时所使用的数据,例如针对购买平台
上支付接口的一次性验证码等。
[0282] 在一些实施例中,还包括测试数据获取单元,用于:
[0283] 获取用户的测试数据;
[0284] 基于用户名称,标识与所述用户名称对应的测试数据;
[0285] 基于所述测试数据的标识信息,调用所述用户的测试数据。
[0286] 在本示例性实施例中,在获取测试数据时,可根据用户名称标识用户对应的测试数据;根据标识信息调用对应用户的测试数据,从而有利于快速调取对应的用户的测试数
据进行信息接口测试。例如,通过用户名和密码实现登录测试后,当接收到服务端反馈的登
录成功信息后,可调用与用户名对应的身份信息或其他信息进行一个信息接口的测试,或
接收到服务端响应的需要用户验证信息时,可调取该用户对应的验证信息发送服务端进行
验证。
[0287] 在一些实施例中,所述测试单元还用于:
[0288] 确定所述信息接口测试的时间阈值以及响应测试请求的事务数阈值;
[0289] 所述信息接口持续测试的测试时间达到所述时间阈值,和/或,响应测试请求的事务数达到所述事务数阈值,则停止所述信息接口的性能测试。
[0290] 在本示例性实施例中,在通过测试平台进行信息接口测试时,可确定停止所述信息接口的性能测试的停止测试条件。该停止测试条件,包括:测试时间达到设定的时间阈值
和/或,响应测试请求的事务数达到设定的事务数阈值。例如,设定针对信息接口A的测试时
间的时间阈值为2小时,则可对信息接口A进行持续两个小时的测试请求测试。当测试时间
达到两个小时后,测试平台可自动停止针对信息接口A的测试请求发送。或,设定信息接口A
的响应测试请求的事务数为10000条,则当信息接口A的响应测试请求的事务数达到10000
条时,则测试平台可自动停止针对信息接口A的测试请求发送。
[0291] 本申请实施例还提供的一种测试系统,包括:
[0292] 上述实施例所述的测试平台。
[0293] 在本示例性实施例中,测试系统包括上述测试平台,以及测试平台具有的各个界面,实现对信息接口的性能测试。
[0294] 本申请实施例第五方面提供的一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述实施例方法的步骤。
[0295] 本申请实施例第六方面提供的一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例中的方法的步骤。
[0296] 上述技术方案的有益技术效果包括:
[0297] 1. 实现了性能测试业务模型和性能测试业务场景,配置化管理性能测试资产。主要描述在业务模型管理和业务场景内容中:业务模型用于实现性能测试中测试用例设计环
节,多测试用例组合,用例占比设置等。业务模型中可根据测试需要设置单用例或多用例混
合模型,该模型在业务场景中直接引用后开启性能测试。
[0298] 2. 结合底层通讯引擎,实现了软件技术中的性能验证内容。本平台支持http、https、TCP定长、TCP不定长和MQ等主流通讯协议,并支持json、xml、键值对等多种报文格式
处理。
[0299] 3. 性能测试报告管理,对性能测试结果输出和数据生成更便捷。参见测试报告说明内容,可提供ART(平均响应时间)、TPS(每秒事务处理能力)、总事务数等关键指标信息。
[0300] 4. 测试数据管理,实现了性能测试过程中不同的数据类型处理并可支持数万级及以上处理能力。参考数据池使用说明内容,连接数据库,可支持从数据库导入万级及以上
测试数据量。
[0301] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术
方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行
任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功
能的技术特征进行互相替换而形成的技术方案。