CN113220597B - 测试方法、测试装置、电子设备及存储介质 - Google Patents

测试方法、测试装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113220597B
CN113220597B CN202110681530.7A CN202110681530A CN113220597B CN 113220597 B CN113220597 B CN 113220597B CN 202110681530 A CN202110681530 A CN 202110681530A CN 113220597 B CN113220597 B CN 113220597B
Authority
CN
China
Prior art keywords
test
service
scene
meta
tested
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
CN202110681530.7A
Other languages
English (en)
Other versions
CN113220597A (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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110681530.7A priority Critical patent/CN113220597B/zh
Publication of CN113220597A publication Critical patent/CN113220597A/zh
Application granted granted Critical
Publication of CN113220597B publication Critical patent/CN113220597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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

测试方法、测试装置、电子设备及存储介质
技术领域
本申请涉及测试开发领域,尤其涉及一种测试方法、测试装置、电子设备及存储介质。
背景技术
目前,性能测试对于系统或者软件的质量保证起着十分重要的作用。性能测试的全流程主要包括以下四个方面,测试需求分析、测试准备、测试执行以及测试结果分析。
现有技术中,为了实现性能测试,通常都需要人工手动进行测试前的准备工作,例如测试数据的准备、测试环境的配置等。因此,现有技术中的性能测试需要大量的人力投入,并且测试工期较长,效率较低。
如何降低性能测试的人力投入,缩短测试工期是一个亟需解决的问题。
发明内容
本申请提供一种测试方法、测试装置、电子设备及存储介质,用以解决现有技术中测试耗时较长、消耗人力较多的问题。
第一方面,本申请提供一种测试方法,应用于测试系统,所述方法包括:
接收测试需求,所述测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本;
根据所述待测场景下各元业务的调用关系,获得测试策略,所述测试策略包括测试流程中所述待测场景下各元业务的测试顺序;
调用所述待测场景下各元业务对应的测试脚本以及测试数据;准备测试环境;
按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果。
在一种可能的实现方式中,所述测试系统包括案例资产库;所述案例资产库包括场景案例资产库和需求条目化规则库;所述场景案例资产库用于存储已建立的测试脚本;所述需求条目化规则库用于存储条目化需求的规则;所述待测场景的测试需求为条目化格式;所述调用所述待测场景下各元业务对应的测试脚本,包括:
基于所述需求条目化规则库中存储的规则,对所述待测场景的测试需求进行规则校验;
若规则校验通过,则针对所述待测场景下的每个元业务,查询所述场景案例资产库中是否存在所述元业务对应的测试脚本;
若所述场景案例资产库中存在所述元业务对应的测试脚本,则从所述场景案例资产库中调用所述元业务对应的测试脚本。
在一种可能的实现方式中,所述案例资产库还包括功能案例资产库和通用脚本模板库,所述功能案例资产库用于存储脚本库中各测试脚本和元业务的映射关系,所述通用脚本模板库用于存储测试脚本的公共域部分;所述针对所述待测场景下的每个元业务,查询所述场景案例资产库中是否存在所述元业务对应的测试脚本之后,还包括:
若所述场景案例资产库中不存在所述元业务对应的测试脚本,则查询所述功能案例资产库中是否存在所述元业务对应的映射关系;
若所述功能案例资产库中存在所述元业务对应的映射关系,则基于所述元业务对应的映射关系,从所述脚本库中调用所述元业务对应的测试脚本;
若所述功能案例资产库中不存在所述元业务对应的映射关系,则提取所述通用脚本模板库中测试脚本的公共域部分,并获取所述元业务对应的私有域部分,对所述公共域部分和所述元业务对应的私有域部分进行拼接,获得所述元业务对应的测试脚本。
在一种可能的实现方式中,所述测试系统包括配置库,所述配置库用于存储各类环境的搭建信息、以及各类环境对应的配置项;所述准备测试环境,包括:
根据所述待测场景在生产环境下的运行环境指标,确定测试环境;
若当前具备所述测试环境,则调取所述配置库中所述测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备;
若当前不具备所述测试环境,则调取所述配置库中所述测试环境的搭建信息,执行测试环境的搭建后,调取所述配置库中所述测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备。
在一种可能的实现方式中,所述测试系统包括数据仓储模块,所述数据仓储模块用于存储不同元业务对应的测试数据需求表单以及已建立的测试数据;所述调用所述待测场景下各元业务对应的测试数据,包括:
针对所述待测场景下的每个元业务,若所述数据仓储模块中存在所述元业务对应的测试数据,则调取所述元业务对应的测试数据;
若所述数据仓储模块中不存在所述元业务对应的测试数据,或者所述数据仓储模块中存储的测试数据的数据量不满足所述元业务对应的测试数据的数据量,则从所述数据仓储模块获取所述元业务对应的测试数据需求表单;基于所述测试数据需求表单,从生产数据中获取对应的原始数据,通过所述数据仓储模块对所述原始数据进行脱敏处理,获得所述元业务对应的测试数据。
在一种可能的实现方式中,所述测试系统包括运行分析数据模块,所述根据所述待测场景下各元业务的调用关系,获得测试策略,包括:
将所述待测场景下各元业务的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述待测场景下各元业务的测试顺序。
在一种可能的实现方式中,所述按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果,包括:
对所述待测场景下各元业务对应的测试脚本进行脚本数据文件配置,以完成所述待测场景下各元业务的测试脚本和测试顺序的配置;
按照预定的发压策略,进行发压方式的配置,所述发压策略包括梯度发压方式或者线性发压方式;
按照所述待测场景下各元业务的测试顺序,根据经过配置的测试脚本和测试数据,在所述测试环境下,执行对所述待测场景的测试,获得测试结果。
在一种可能的实现方式中,所述测试系统包括结果分析模块和运行分析数据模块,所述结果分析模块包括准则库,所述准则库用于存储预先设定的目标运行标准;所述获得测试结果,包括:
若执行测试获得的执行结果满足所述目标运行标准,则确定测试结果为达标;否则,确定测试结果为未达标。
在一种可能的实现方式中,所述结果分析模块用于存储达标的历史执行结果;所述结果分析模块还包括:调优规则库,所述调优规则库用于规则化存储历史的调优策略;所述方法还包括:
若所述测试结果为未达标,将所述执行结果输入所述结果分析模块,以使所述结果分析模块查询所述待测场景对应的历史执行结果,确定出所述执行结果中与所述历史执行结果不一致的第一指标;
将所述第一指标输入所述调优规则库,确定出所述第一指标对应的调优策略。
在一种可能的实现方式中,所述运行分析数据模块还用于存储生产运行标准;所述方法还包括:
若所述测试结果为未达标,则将所述执行结果输入所述运行分析数据模块,以使所述运行分析数据模块,确定出所述执行结果中不满足所述生产运行标准的第二指标;
将所述第二指标输入所述调优规则库,确定出所述第二指标对应的调优策略。
在一种可能的实现方式中,所述待测场景的数量为多个;所述测试需求还包括各待测场景的调用关系,所述测试策略还包括测试流程中各待测场景的测试顺序;所述方法还包括:
将所述各待测场景的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述各待测场景的测试顺序;
所述调用所述待测场景下各元业务对应的测试脚本以及测试数据,包括:
针对每个待测场景,调用所述待测场景下各元业务对应的测试脚本以及测试数据;
所述按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果,包括:
按照所述测试策略中各待测场景的测试顺序,针对每个待测场景,执行对所述待测场景的测试,获得测试结果;其中,所述对待测场景的测试包括:
按照所述测试策略中所述待测场景下各元业务的测试顺序,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试。
在一种可能的实现方式中,所述多个待测场景中存在相同的第一待测场景;所述测试策略还包括业务配比;所述将所述各待测场景的调用关系输入所述运行分析数据模块,包括:
将所述各待测场景的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述各待测场景的测试顺序以及所述业务配比;其中,所述业务配比为第一待测场景的数量在所述多个待测场景的总数量中所占的比重;
所述按照所述测试策略中各待测场景的测试顺序,针对每个待测场景,执行对所述待测场景的测试,获得测试结果,包括:
按照所述测试策略中各待测场景的测试顺序和测试次数,针对每个待测场景,执行对所述待测场景的测试,获得测试结果;所述各待测场景的测试次数基于所述业务配比确定。
第二方面,本申请提供一种测试装置,应用于测试系统,所述装置包括:
接收单元,用于接收测试需求,所述测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本;
获取单元,用于根据所述待测场景下各元业务的调用关系,获得测试策略,所述测试策略包括测试流程中所述待测场景下各元业务的测试顺序;
调用单元,用于调用所述待测场景下各元业务对应的测试脚本以及测试数据;
准备单元,用于准备测试环境;
执行单元,用于按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果。
在一种可能的实现方式中,所述测试系统包括案例资产库;所述案例资产库包括场景案例资产库和需求条目化规则库;所述场景案例资产库用于存储已建立的测试脚本;所述需求条目化规则库用于存储条目化需求的规则;所述待测场景的测试需求为条目化格式;所述调用单元,包括:
校验模块,用于基于所述需求条目化规则库中存储的规则,对所述待测场景的测试需求进行规则校验;
第一查询模块,用于若规则校验通过,则针对所述待测场景下的每个元业务,查询所述场景案例资产库中是否存在所述元业务对应的测试脚本;
第一调用模块,用于若所述场景案例资产库中存在所述元业务对应的测试脚本,则从所述场景案例资产库中调用所述元业务对应的测试脚本。
在一种可能的实现方式中,所述案例资产库还包括功能案例资产库和通用脚本模板库,所述功能案例资产库用于存储脚本库中各测试脚本和元业务的映射关系,所述通用脚本模板库用于存储测试脚本的公共域部分;所述装置,还包括:
第二查询模块,用于在所述第一查询模块针对所述待测场景下的每个元业务,查询所述场景案例资产库中是否存在所述元业务对应的测试脚本之后,若所述场景案例资产库中不存在所述元业务对应的测试脚本,则查询所述功能案例资产库中是否存在所述元业务对应的映射关系;
第二调用模块,用于若所述功能案例资产库中存在所述元业务对应的映射关系,则基于所述元业务对应的映射关系,从所述脚本库中调用所述元业务对应的测试脚本;
第三调用模块,用于若所述功能案例资产库中不存在所述元业务对应的映射关系,则提取所述通用脚本模板库中测试脚本的公共域部分,并获取所述元业务对应的私有域部分,对所述公共域部分和所述元业务对应的私有域部分进行拼接,获得所述元业务对应的测试脚本。
在一种可能的实现方式中,所述测试系统包括配置库,所述配置库用于存储各类环境的搭建信息、以及各类环境对应的配置项;所述准备单元,包括:
确定模块,用于根据所述待测场景在生产环境下的运行环境指标,确定测试环境;
第一调取模块,用于若当前具备所述测试环境,则调取所述配置库中所述测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备;
第二调取模块,用于若当前不具备所述测试环境,则调取所述配置库中所述测试环境的搭建信息,执行测试环境的搭建后,调取所述配置库中所述测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备。
在一种可能的实现方式中,所述测试系统包括数据仓储模块,所述数据仓储模块用于存储不同元业务对应的测试数据需求表单以及已建立的测试数据;所述调用单元,包括:
第四调用模块,用于针对所述待测场景下的每个元业务,若所述数据仓储模块中存在所述元业务对应的测试数据,则调取所述元业务对应的测试数据;
获取模块,用于若所述数据仓储模块中不存在所述元业务对应的测试数据,或者所述数据仓储模块中存储的测试数据的数据量不满足所述元业务对应的测试数据的数据量,则从所述数据仓储模块获取所述元业务对应的测试数据需求表单;基于所述测试数据需求表单,从生产数据中获取对应的原始数据,通过所述数据仓储模块对所述原始数据进行脱敏处理,获得所述元业务对应的测试数据。
在一种可能的实现方式中,所述获取单元,具体用于:
将所述待测场景下各元业务的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述待测场景下各元业务的测试顺序。
在一种可能的实现方式中,所述按照所述测试策略,根据所述执行单元,包括:
第一配置模块,用于对所述待测场景下各元业务对应的测试脚本进行脚本数据文件配置,以完成所述待测场景下各元业务的测试脚本和测试顺序的配置;
第二配置模块,用于按照预定的发压策略,进行发压方式的配置,所述发压策略包括梯度发压方式或者线性发压方式;
执行模块,用于按照所述待测场景下各元业务的测试顺序,根据经过配置的测试脚本和测试数据,在所述测试环境下,执行对所述待测场景的测试,获得测试结果。
在一种可能的实现方式中,所述测试系统包括结果分析模块和运行分析数据模块,所述结果分析模块包括准则库,所述准则库用于存储预先设定的目标运行标准;所述执行单元,具体用于:
若执行测试获得的执行结果满足所述目标运行标准,则确定测试结果为达标;否则,确定测试结果为未达标。
在一种可能的实现方式中,所述结果分析模块用于存储达标的历史执行结果;所述结果分析模块还包括:调优规则库,所述调优规则库用于规则化存储历史的调优策略;所述装置还包括:
第一比较单元,用于若所述测试结果为未达标,将所述执行结果输入所述结果分析模块,以使所述结果分析模块查询所述待测场景对应的历史执行结果,确定出所述执行结果中与所述历史执行结果不一致的第一指标;
第一调优单元,用于将所述第一指标输入所述调优规则库,确定出所述第一指标对应的调优策略。
在一种可能的实现方式中,所述运行分析数据模块还用于存储生产运行标准;所述装置还包括:
第二比较单元,用于若所述测试结果为未达标,则将所述执行结果输入所述运行分析数据模块,以使所述运行分析数据模块,确定出所述执行结果中不满足所述生产运行标准的第二指标;
第二调优单元,用于将所述第二指标输入所述调优规则库,确定出所述第二指标对应的调优策略。
在一种可能的实现方式中,所述待测场景的数量为多个;所述测试需求还包括各待测场景的调用关系,所述测试策略还包括测试流程中各待测场景的测试顺序;所述装置还包括:
排序单元,用于将所述各待测场景的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述各待测场景的测试顺序;
所述调用单元,具体用于:
针对每个待测场景,调用所述待测场景下各元业务对应的测试脚本以及测试数据;
所述执行单元,具体用于:
按照所述测试策略中各待测场景的测试顺序,针对每个待测场景,执行对所述待测场景的测试,获得测试结果;其中,所述对待测场景的测试包括:
按照所述测试策略中所述待测场景下各元业务的测试顺序,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试。
在一种可能的实现方式中,所述多个待测场景中存在相同的第一待测场景;所述测试策略还包括业务配比;所述排序单元,还具体用于:
将所述各待测场景的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述各待测场景的测试顺序以及所述业务配比;其中,所述业务配比为第一待测场景的数量在所述多个待测场景的总数量中所占的比重;
所述执行单元,还具体用于:
按照所述测试策略中各待测场景的测试顺序和测试次数,针对每个待测场景,执行对所述待测场景的测试,获得测试结果;所述各待测场景的测试次数基于所述业务配比确定。
第三方面,本申请提供一种电子设备,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器,用于根据所述可执行指令执行如第一方面任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。
第五方面,本申请一种计算机程序产品,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现如第一方面中任一项所述的方法。
本申请提供的测试方法、测试装置、电子设备及存储介质,通过接收测试需求,所述测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本;根据所述待测场景下各元业务的调用关系,获得测试策略,所述测试策略包括测试流程中所述待测场景下各元业务的测试顺序;调用所述待测场景下各元业务对应的测试脚本以及测试数据;准备测试环境;按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果。通过上述测试方法,使得在接收到测试需求之后,能够依据测试需求自动实现测试数据以及测试环境的准备,缩短了测试工期。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的第一种测试方法的流程示意图;
图2为本申请实施例提供的一种RPA运行的流程示意图;
图3为本申请实施例提供的第一种测试脚本及测试数据的获取方法的流程示意图;
图4为本申请实施例提供的第二种测试脚本及测试数据的获取方法的流程示意图;
图5为本申请实施例提供的一种测试环境的配置方法的流程示意图;
图6为本申请实施例提供的第三种测试脚本及测试数据的获取方法的流程示意图;
图7为本申请实施例提供的一种数据脱敏和导入的流程示意图;
图8为本申请实施例提供一种获取测试结果的流程示意图;
图9为本申请实施例提供的又一种测试方法的流程示意图;
图10为本申请实施例提供的一种测试装置的结构示意图;
图11为本申请实施例提供的又一种测试装置的结构示意图;
图12为本申请实施例中提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
目前,随着软件行业的快速发展,现代的软件系统的功能越来越多,测试人员在对软件进行测试时,不仅要保证软件基本功能的测试质量,还要保证在对被测系统按照一定的测试策略进行施压时,系统的响应时间、运行效率、资源利用情况等各项性能指标满足用户性能需求。
现有的测试过程中,测试需求分析和测试准备工作都是通过人工分析得到的,在完成了测试前的准备工作之后,使用性能测试工具实现测试脚本的编写、调试、执行以及各性能测试场景下的测试结果的收集。
然而,上述测试过程中,虽然测试脚本的执行以及测试结果的收集可以采用机器自动化实现,但是测试前的测试准备工作仍需要手工实现,使得现有的测试方法需要浪费较多的人力,且测试耗时较长。
本申请提供的测试方法、测试装置、电子设备及存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的第一种测试方法的流程示意图。如图1所示,该方法应用于测试系统,该方法包括以下步骤:
S101、接收测试需求,测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本。
示例性地,为了解决现有测试前的测试准备(例如、测试数据获取、测试环境配置等)耗时较长的问题,通过接收测试中的测试需求,以驱动后续的测试流程。其中,在测试过程中,将每一个需要单独编写的脚本的业务作为元业务,在测试需求中包括有待测场景下,各元业务之间的调用关系。待测场景可以为金融类交易,例如说银行之间的转账业务、支出业务、大额汇款业务等。
可选的,本实施例中可以采用RPA(Robotic process automation,机器人流程自动化)技术,通过该技术自动化的实现测试准备(测试数据获取、测试环境配置、测试脚本配置等)、测试执行、测试结果收集等。通过编写RPA中各组件的功能以及各组件功能之间的连接关系,实现测试的全流程。图2为本申请实施例提供的一种RPA运行的流程示意图。其中,包括有控制组件、服务组件以及多个执行组件。控制组件主要用于指标监控、流程管理和权限控制,服务组件用于流程调度和下发指令,执行组件是指令的实际执行者。
S102、根据待测场景下各元业务的调用关系,获得测试策略,测试策略包括测试流程中待测场景下各元业务的测试顺序。
示例性地,在接收到测试需求之后,依据测试需求中待测场景下各元业务之间的调用关系,确定在测试过程中各元业务之间的测试顺序。
一个示例中,测试系统包括运行分析数据模块,则该步骤可通过以下方式实现:将待测场景下各元业务的调用关系输入运行分析数据模块,以使运行分析数据模块分析获得待测场景下各元业务的测试顺序。
示例性地,在测试系统中,可以包括有运行数据分析模块,其中运行数据分析模块可以用于对接收到的测试需求中的各元业务之间的调用关系确定出各元业务之间的测试顺序。
S103、调用待测场景下各元业务对应的测试脚本以及测试数据。
示例性地,在确定出各元业务之间的测试顺序之后,可以依据该测试顺序依次调用该待测场景下每一元业务所对应的测试脚本以及测试数据。具体的,在调用测试脚本以及测试数据时,可以依据为元业务以及其对应的测试脚本以及测试数据设定统一的功能标签,进而可以依据各元业务携带的功能标签,确定出与其对应的测试脚本以及测试数据。
S104、准备测试环境。
示例性地,在测试前,还需要对测试环境进行准备,以使得当前的测试环境的配置满足后续待测场景下的测试脚本的需要。
可选的,在确定测试环境的配置信息时,可以依据预先设置的待测场景与测试环境配置信息之间的对应关系,确定当前待测场景下的测试环境的配置信息。
S105、按照测试策略,根据待测场景下各元业务对应的测试脚本和测试数据,在测试环境下执行测试,获得测试结果。
示例性地,在完成测试前的测试脚本、测试数据以及测试环境的配置之后,依据测试策略中的各元业务在当前待测场景下的测试顺序,依次执行各测试脚本,得到测试结果。
本申请中,通过在测试需求中设置各元业务之间的测试顺序,将测试需求作为测试流程的驱动,使得在测试系统在接收到测试需求之后,可以依据测试需求确定出相对应的待测场景下的测试顺序,之后调取各元业务对应的测试数据以及测试脚本、准备好测试环境之后,执行测试,获得最终的测试脚本。通过上述方法,可以自动化的实现测试前的测试准备工作,进而缩短的测试耗时。
一种可能的实施方式中,测试系统包括案例资产库;案例资产库包括场景案例资产库和需求条目化规则库;场景案例资产库用于存储已建立的测试脚本;需求条目化规则库用于存储条目化需求的规则;待测场景的测试需求为条目化格式;在调用待测场景下各元业务对应的测试脚本以及测试数据(即,在执行步骤S103时),可以采用如图3所示的方法。图3为本申请实施例提供的第一种测试脚本及测试数据的获取方法的流程示意图。如图3所示,该方法包括:
S1031、基于需求条目化规则库中存储的规则,对待测场景的测试需求进行规则校验。
示例性地,本实施例中,在输入测试需求时,测试需求可以按照条目化的格式进行输入,即在测试需求中包括有按照预设规则命名的待测场景下的各元业务以及各元业务之间的调用关系。其中,预设的命名规则可以包括功能模块、交易名称、交易类型、交易码的等参数,功能模块用于表征该元业务的所实现的功能,交易名称以及交易类型用于表征该元业务所属的待测交易场景的类型。
当案例资产库接收到输入的测试需求之后,首先,会依据案例资产库中的需求条目化规则库对测试需求的格式进行检验,以便后续可以通过测试需求中各元业务的命名规则中的指标进行测试脚本、测试数据以及测试环境的配置。具体的,当测试需求满足预先存储的条目化规则之后,则继续执行以下流程,否则直接返回错误信息,以便对测试需求的格式进行修改。
S1032、若规则校验通过,则针对待测场景下的每个元业务,查询场景案例资产库中是否存在元业务对应的测试脚本。
S1033、若场景案例资产库中存在元业务对应的测试脚本,则从场景案例资产库中调用元业务对应的测试脚本。
示例性地,当测试需求通过需求条目化规则库的校验之后,则在场景案例资产库中查询是否有符合当前元业务要求的测试脚本。当存在符合元业务对应的测试脚本之后,则在场景案例资产库中调用与该元业务对应的测试脚本。其中,场景案例资产库中预先存储有历史的测试脚本以及测试脚本对应的参数配置,且每一测试脚本的命名方式可以与元业务的命名方式相对应。
具体的,可以依据元业务中的条目化命名中的指标,去场景案例库中查找与元业务的指标标识对应的测试脚本。
本实施例中,为了确保测试流程的正常运行,在调取测试需求中各元业务对应的测试脚本时,需要对测试需求中的各元业务的条目化格式进行校验,以免后续无法调用各元业务对应的测试脚本或者测试数据。此外,本实施例中,测试系统中还设置有场景案例资产库,其中存储有历史的案例对应的测试脚本,可以依据测试需求在场景案例资产库中查找历史测试脚本,省去测试人员对测试脚本的编写时间。
一种可能的情况中,案例资产库还包括:功能案例资产库和通用脚本模板库,功能案例资产库用于存储脚本库中各测试脚本和元业务的映射关系,通用脚本模板库用于存储测试脚本的公共域部分;则在针对待测场景下的每个元业务,查询场景案例资产库中是否存在元业务对应的测试脚本之后(即步骤S1032之后),还包括以下步骤,如图4所示,图4为本申请实施例提供的第二种测试脚本及测试数据的获取方法的流程示意图。在图3的实施例基础上,该方法还包括:
S1034、若场景案例资产库中不存在元业务对应的测试脚本,则查询功能案例资产库中是否存在元业务对应的映射关系;
S1035、若功能案例资产库中存在元业务对应的映射关系,则基于元业务对应的映射关系,从脚本库中调用元业务对应的测试脚本。
示例性地,测试系统中还包括有功能案例资产库,且功能案例资产库中存储有脚本库中各测试脚本和元业务的映射关系,使得当在场景案例资产库中无法调取出元业务对应测试脚本时,可以去功能案例资产库的映射表中查找该元业务对应的测试脚本。
一种可能的实现方式中,功能案例资产库中的映射标准存储有功能测试自动化案例(接口级)编号、名称、以及元业务标识之间的对应关系。在调取测试脚本时,可以依据元业务的标识,在功能案例资产库中的映射关系中查找出与该元业务对应的自动化案例的编号,然后依据与功能案例资产库关联的自动化案例执行系统中,依据编号等信息在自动化案例执行系统中调用该元业务的测试脚本。
S1036、若功能案例资产库中不存在元业务对应的映射关系,则提取通用脚本模板库中测试脚本的公共域部分,并获取元业务对应的私有域部分,对公共域部分和元业务对应的私有域部分进行拼接,获得元业务对应的测试脚本。
示例性地,在测试系统中还包括有通用脚本模板库,其中存储有测试脚本的公共域部分,其中测试脚本的公共域部分为测试脚本在编写过程中一些通用的测试框架或者测试协议脚本。当在映射表中无法查到与其对应的脚本信息时,可以调用通用脚本模板中测试脚本的公共域部分,然后,将编写好的测试脚本中的私有域部分以及测试脚本的公共域部分进行拼接后得到与该元业务对应的完整的测试脚本。
本实施例中的,为了获取测试脚本,减少人工编写测试脚本的用时时长,本测试系统中还设置有功能测试案例库,可以依据功能测试案例库中预先存储的映射关系在自动化案例执行系统中调用元业务对应的测试脚本。当不存在该元业务的映射关系时,可以直接在通用脚本模板库中调取测试脚本的公共域,进而通过将测试脚本的公共域以及私有域及逆行拼接进而得到完整的测试脚本。通过上述方法,减少了测试人员在进行测试前对测试脚本的准备时间。
在一种可能的情况中,测试系统包括配置库,配置库用于存储各类环境的搭建信息、以及各类环境对应的配置项。图5为本申请实施例提供的一种测试环境的配置方法的流程示意图。在进行测试系统的环境配置时,可以包括以下步骤:
S201、根据待测场景在生产环境下的运行环境指标,确定测试环境;
S202、若当前具备测试环境,则调取配置库中测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备;
S203、若当前不具备测试环境,则调取配置库中测试环境的搭建信息,执行测试环境的搭建后,调取配置库中测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备。
示例性地,在配置测试环境时,首先要依据待测场景在生产环境下的运行指标,确定当前待测场景的环境信息。具体的,在测试系统中的运行分析数据模块,可以对生产环境进行监控,进而获取在不同待测场景下的生产环境的运行指标,确定测试环境。若当前测试系统中具备当前测试所需的测试环境时,可以在配置库中查找与确定出的测试环境相匹配的配置项,依据查找得到的配置项直接对测试环境进行配置,使得完成测试环境的准备。
当测试系统中不具备测试环境时,则可以在配置库中调取与该测试环境对应的搭建信息,在测试系统中重新搭建一个测试环境,其中该测试环境可以为虚拟的测试环境,并且在申请环境搭建信息时,也可以直接访问环境调度平台进行环境申请,之后在测试环境搭建好之后再对测试环境进行配置,以完成测试准备。
本实施例中,在进行测试环境准备时,首先会依据待测场景下真实的生产运行环境指标,确定该待测场景下的测试环境。之后检查当前的测试系统中是否具备测试环境,若具备,则直接依据确定出的测试环境查找与该测试环境对应的配置项,依据配置项对测试环境进行配置。若不具备测试环境,则首先搭建测试环境,例如在测试系统中分配出一块运行资源以便后续用于测试,之后再对搭建的测试环境进行配置。进而通过上述方法,可以实现对测试环境的自动化配置,减少测试所消耗的人力。
一种可能的实施方式中,为了获取测试数据,测试系统包括数据仓储模块,数据仓储模块用于存储不同元业务对应的测试数据需求表单以及已建立的测试数据;在调用待测场景下各元业务对应的测试数据时(即在执行步骤S103时),可以采用如图6所示的方法。图6为本申请实施例提供的第三种测试脚本及测试数据的获取方法的流程示意图。该方法包括:
S301、针对待测场景下的每个元业务,若数据仓储模块中存在元业务对应的测试数据,则调取元业务对应的测试数据;
S302、若数据仓储模块中不存在元业务对应的测试数据,或者数据仓储模块中存储的测试数据的数据量不满足元业务对应的测试数据的数据量,则从数据仓储模块获取元业务对应的测试数据需求表单;
S303、基于测试数据需求表单,从生产数据中获取对应的原始数据,通过数据仓储模块对原始数据进行脱敏处理,获得元业务对应的测试数据。
示例性地,在本实施例中,在测试系统中还设置数据仓储模块,该模块中存储有不同元业务对应的测试数据需求表单以及已建立的测试数据。当接收到测试需求之后,可以依据测试需求中各元业务在数据仓储模块中查找出与各元业务对应的测试数据。当不存在该元业务对应的测试数据或者该元业务对应的测试数据量不够时,此时,则依据数据仓储模块中的测试数据需求表单,依据需求表单中元业务与生产数据之间的对应关系在存储有生产数据的运行分析数据模块中查找出与该元业务对应的真实的生产数据。之后,依据数据仓储库中预先存储的数据脱敏规则库中的规则,对得到的真实的生产数据进行脱敏处理,以便后续用于测试。
如图7为本申请实施例提供的一种数据脱敏和导入的流程示意图。当确认该数据为未脱敏状态时,在数据脱敏规则库中确认出于该数据类型对应的脱敏规则,执行对应的脱敏文件以得到测试数据。之后再将脱敏后的测试数据导入至测试系统。
本实施例中,在获取测试数据时,可以去预先设定的数据仓储库中寻找,当查找不到或者查找出的数据不足时,可以依据预设的需求表单在运行分析模块查找对应的真实的生产数据,并在脱敏处理后用于测试。
图8为本申请实施例提供一种获取测试结果的流程示意图,如图8所示,该方法包括:
S401、对待测场景下各元业务对应的测试脚本进行脚本数据文件配置,以完成待测场景下各元业务的测试脚本和测试顺序的配置;
S402、按照预定的发压策略,进行发压方式的配置,发压策略包括梯度发压方式或者线性发压方式;
S403、按照待测场景下各元业务的测试顺序,根据经过配置的测试脚本和测试数据,在测试环境下,执行对待测场景的测试,获得测试结果。
示例性地,在获取到测试脚本之后,对各测试脚本进行脚本数据配置,并且将个脚本之间顺序关联,以使得脚本按照测试顺序执行。之后,按照测试需求中预定的发压策略,选择发压方式后,在测试环境中顺序执行各元业务对应的测试脚本以及测试顺序以获取测试结果。
一个示例中,测试系统包括结果分析模块和运行分析数据模块,结果分析模块包括准则库,准则库用于存储预先设定的目标运行标准;则步骤S403中获得测试结果,包括:若执行测试获得的执行结果满足目标运行标准,则确定测试结果为达标;否则,确定测试结果为未达标。
一个示例中,结果分析模块用于存储达标的历史执行结果;结果分析模块还包括:调优规则库,调优规则库用于规则化存储历史的调优策略;则步骤S403中获得测试结果之后,还包括:若测试结果为未达标,将执行结果输入结果分析模块,以使结果分析模块查询待测场景对应的历史执行结果,确定出执行结果中与历史执行结果不一致的第一指标;将第一指标输入调优规则库,确定出第一指标对应的调优策略。即,通过于相同待测场景的历史执行结果进行比较之后,确认出该测试结果中出现问题的第一指标,并且第一指标为关键词,在调优库中查找于该第一指标对应的调优策略,并将该策略返回给用户。
一个示例中,运行分析数据模块还用于存储生产运行标准;则步骤S403中获得测试结果之后,还包括:若测试结果为未达标,则将执行结果输入运行分析数据模块,以使运行分析数据模块,确定出执行结果中不满足生产运行标准的第二指标;将第二指标输入调优规则库,确定出第二指标对应的调优策略。
一个示例中,在得到分析结果之后,也可以结合上述两个示例中的方式,即分别于历史执行结果以及生产运行标准进行比较,从而得到最终的调优策略。
在本实施例中,获取到的执行结果可以于预先设置的通过准则进行对比,以确定测试结果为通过或者不通过。当测试结果不通过时,则可以通过对比历史执行结果和/或生产运行标准确定出执行结果中的问题指标,依据问题指标向用户推送该问题指标对应的调优策略。
图9为本申请实施例提供的又一种测试方法的流程示意图。如图9所示,当待测场景的数量为多个时,测试方法主要包括以下步骤:
S501、接收测试需求,测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本。
S502、将待测场景下各元业务的调用关系输入运行分析数据模块,以使运行分析数据模块分析获得待测场景下各元业务的测试顺序。
示例性地,步骤S501-S502的具体原理与步骤S101-S102的原理类似,此处不再赘述。
S503、将各待测场景的调用关系输入运行分析数据模块,以使运行分析数据模块分析获得各待测场景的测试顺序。
示例性地,当测试场景中包括有多个测试场景时,例如对于银行系统而言在同一时刻可以同时并发多种场景的情况,例如转账、支出、收入、用户登录、身份验证等场景。在进行多个场景测试时,在测试需求中可以提前设置各场景之间的调用关系,并将上述调用关系输入运行分析数据模块中,以使该模块确定出各待测场景之间的测试顺序。可选的,在不同场景下,也可以设置不同场景的业务数量。例如,多少笔支出、多少笔收入并发等。
一个示例中,多个待测场景中存在相同的第一待测场景;测试策略还包括业务配比;则该步骤可以通过以下方式执行:将各待测场景的调用关系输入运行分析数据模块,以使运行分析数据模块分析获得各待测场景的测试顺序以及业务配比;其中,业务配比为第一待测场景的数量在多个待测场景的总数量中所占的比重。
具体地,当多个待测场景中有多个相同的第一待测场景时,例如,当用户登录后,执行的多次转账的场景下,则在该场景下,需要依据场景之间的调用关系,确定出场景之间的测试顺序,以及在第一待测场景的数量在多个待测场景的总数量中所占的比重。例如,用户在一次登录与一次退出之间,用户转账的次数为转账场景的数量,该转账场景的数量与用户登录退出以及转账数量之和的比值,可以作为业务配比。
S504、针对每个待测场景,调用待测场景下各元业务对应的测试脚本以及测试数据并准备测试环境。
示例性地,本步骤与步骤S103-S104原理类似,此处不再赘述。
S505、按照测试策略中各待测场景的测试顺序,针对每个待测场景,执行对待测场景的测试,获得测试结果。
示例性地,针对多个待测场景,按照各待测场景的测试顺序依次对每一待测场景进行测试,具体的,上述执行测试具体包括:按照测试策略中待测场景下各元业务的测试顺序,根据待测场景下各元业务对应的测试脚本和测试数据,在测试环境下执行测试。
一个示例中,当在多个待测场景中包括有多个相同的第一待测场景时,在执行测试过程时,需要依据测试策略中各待测场景的测试顺序和测试次数,针对每个待测场景,执行对待测场景的测试,获得测试结果,其中各待测场景的测试次数基于业务配比确定。
本实施例中,在进行测试时,可以测试场景中可以包括有多个待测场景,在对多个待测场景进行测试时,需要依据测试需求确定出多个待测场景之间的场景测试顺序,针对待测场景中的各待测场景中元业务的执行顺序可以依据上述实施例中的方法确定,进而在执行测试时,依据场景顺序以及元业务之间顺序,执行测试流程。此外,当多个测试场景中包括有多个相同的第一场景时,还可以提前设置第一场景的业务配比,确定在第一场景对应脚本的测试次数。通过上述测试方法,当测试场景中包括有多个测试场景时,使得该测试更能模拟出符合真实的生产运行的状态,获得的测试结果更加准确。
图10为本申请实施例提供的一种测试装置的结构示意图。如图10所示,该装置包括:
接收单元61,用于接收测试需求,测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本;
获取单元62,用于根据待测场景下各元业务的调用关系,获得测试策略,测试策略包括测试流程中待测场景下各元业务的测试顺序;
调用单元63,用于调用待测场景下各元业务对应的测试脚本以及测试数据;
准备单元64,用于准备测试环境;
执行单元65,用于按照测试策略,根据待测场景下各元业务对应的测试脚本和测试数据,在测试环境下执行测试,获得测试结果。
本实施例提供的装置,用于实现上述方法提供的技术方案,其实现原理和技术效果类似,不再赘述。
图11为本申请实施例提供的又一种测试装置的结构示意图。在图10所示的装置结构的基础上,测试系统包括案例资产库;案例资产库包括场景案例资产库和需求条目化规则库;场景案例资产库用于存储已建立的测试脚本;需求条目化规则库用于存储条目化需求的规则;待测场景的测试需求为条目化格式;调用单元63,包括:
校验模块631,用于基于需求条目化规则库中存储的规则,对待测场景的测试需求进行规则校验;
第一查询模块632,用于若规则校验通过,则针对待测场景下的每个元业务,查询场景案例资产库中是否存在元业务对应的测试脚本;
第一调用模块633,用于若场景案例资产库中存在元业务对应的测试脚本,则从场景案例资产库中调用元业务对应的测试脚本。
在一种可能的实现方式中,案例资产库还包括功能案例资产库和通用脚本模板库,功能案例资产库用于存储脚本库中各测试脚本和元业务的映射关系,通用脚本模板库用于存储测试脚本的公共域部分;装置,还包括:
第二查询模块634,用于在第一查询模块632针对待测场景下的每个元业务,查询场景案例资产库中是否存在元业务对应的测试脚本之后,若场景案例资产库中不存在元业务对应的测试脚本,则查询功能案例资产库中是否存在元业务对应的映射关系;
第二调用模块635,用于若功能案例资产库中存在元业务对应的映射关系,则基于元业务对应的映射关系,从脚本库中调用元业务对应的测试脚本;
第三调用模块636,用于若功能案例资产库中不存在元业务对应的映射关系,则提取通用脚本模板库中测试脚本的公共域部分,并获取元业务对应的私有域部分,对公共域部分和元业务对应的私有域部分进行拼接,获得元业务对应的测试脚本。
在一种可能的实现方式中,测试系统包括配置库,配置库用于存储各类环境的搭建信息、以及各类环境对应的配置项;准备单元64,包括:
确定模块641,用于根据待测场景在生产环境下的运行环境指标,确定测试环境;
第一调取模块642,用于若当前具备测试环境,则调取配置库中测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备;
第二调取模块643,用于若当前不具备测试环境,则调取配置库中测试环境的搭建信息,执行测试环境的搭建后,调取配置库中测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备。
在一种可能的实现方式中,测试系统包括数据仓储模块,数据仓储模块用于存储不同元业务对应的测试数据需求表单以及已建立的测试数据;调用单元63,包括:
第四调用模块637,用于针对待测场景下的每个元业务,若数据仓储模块中存在元业务对应的测试数据,则调取元业务对应的测试数据;
获取模块638,用于若数据仓储模块中不存在元业务对应的测试数据,或者数据仓储模块中存储的测试数据的数据量不满足元业务对应的测试数据的数据量,则从数据仓储模块获取元业务对应的测试数据需求表单;基于测试数据需求表单,从生产数据中获取对应的原始数据,通过数据仓储模块对原始数据进行脱敏处理,获得元业务对应的测试数据。
在一种可能的实现方式中,获取单元62,具体用于:
将待测场景下各元业务的调用关系输入运行分析数据模块,以使运行分析数据模块分析获得待测场景下各元业务的测试顺序。
在一种可能的实现方式中,执行单元65,包括:
第一配置模块651,用于对待测场景下各元业务对应的测试脚本进行脚本数据文件配置,以完成待测场景下各元业务的测试脚本和测试顺序的配置;
第二配置模块652,用于按照预定的发压策略,进行发压方式的配置,发压策略包括梯度发压方式或者线性发压方式;
执行模块653,用于按照待测场景下各元业务的测试顺序,根据经过配置的测试脚本和测试数据,在测试环境下,执行对待测场景的测试,获得测试结果。
在一种可能的实现方式中,测试系统包括结果分析模块和运行分析数据模块,结果分析模块包括准则库,准则库用于存储预先设定的目标运行标准;执行单元65,具体用于:
若执行测试获得的执行结果满足目标运行标准,则确定测试结果为达标;否则,确定测试结果为未达标。
在一种可能的实现方式中,结果分析模块用于存储达标的历史执行结果;结果分析模块还包括:调优规则库,调优规则库用于规则化存储历史的调优策略;装置还包括:
第一比较单元66,用于若测试结果为未达标,将测试结果输入结果分析模块,以使结果分析模块查询待测场景对应的历史执行结果,确定出执行结果中与历史执行结果不一致的第一指标;
第一调优单元67,用于将第一指标输入调优规则库,确定出第一指标对应的调优策略。
在一种可能的实现方式中,运行分析数据模块还用于存储生产运行标准;装置还包括:
第二比较单元68,用于若测试结果为未达标,则将执行结果输入运行分析数据模块,以使运行分析数据模块,确定出执行结果中不满足生产运行标准的第二指标;
第二调优单元69,用于将第二指标输入调优规则库,确定出第二指标对应的调优策略。
本实施例提供的装置,用于实现上述方法提供的技术方案,其实现原理和技术效果类似,不再赘述。
图12为本申请实施例中提供的一种电子设备的结构示意图,如图12所示,该电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器294中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面任一项的方法。
本申请一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现如第一方面中任一项的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (14)

1.一种测试方法,其特征在于,应用于测试系统,所述方法包括:
接收测试需求,所述测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本;
根据所述待测场景下各元业务的调用关系,获得测试策略,所述测试策略包括测试流程中所述待测场景下各元业务的测试顺序;
调用所述待测场景下各元业务对应的测试脚本以及测试数据;准备测试环境;
按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果;
所述测试系统包括案例资产库;所述案例资产库包括场景案例资产库和需求条目化规则库;所述场景案例资产库用于存储已建立的测试脚本;所述案例资产库还包括功能案例资产库和通用脚本模板库,所述功能案例资产库用于存储脚本库中各测试脚本和元业务的映射关系,所述通用脚本模板库用于存储测试脚本的公共域部分;所述需求条目化规则库用于存储条目化需求的规则;所述待测场景的测试需求为条目化格式;
所述调用所述待测场景下各元业务对应的测试脚本,包括:
基于所述需求条目化规则库中存储的规则,对所述待测场景的测试需求进行规则校验;
若规则校验通过,则针对所述待测场景下的每个元业务,查询所述场景案例资产库中是否存在所述元业务对应的测试脚本;
若所述场景案例资产库中存在所述元业务对应的测试脚本,则从所述场景案例资产库中调用所述元业务对应的测试脚本;
若所述场景案例资产库中不存在所述元业务对应的测试脚本,则查询所述功能案例资产库中是否存在所述元业务对应的映射关系;
若所述功能案例资产库中存在所述元业务对应的映射关系,则基于所述元业务对应的映射关系,从所述脚本库中调用所述元业务对应的测试脚本;
若所述功能案例资产库中不存在所述元业务对应的映射关系,则提取所述通用脚本模板库中测试脚本的公共域部分,并获取所述元业务对应的私有域部分,对所述公共域部分和所述元业务对应的私有域部分进行拼接,获得所述元业务对应的测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述测试系统包括配置库,所述配置库用于存储各类环境的搭建信息、以及各类环境对应的配置项;所述准备测试环境,包括:
根据所述待测场景在生产环境下的运行环境指标,确定测试环境;
若当前具备所述测试环境,则调取所述配置库中所述测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备;
若当前不具备所述测试环境,则调取所述配置库中所述测试环境的搭建信息,执行测试环境的搭建后,调取所述配置库中所述测试环境对应的配置项,对当前环境进行配置,以完成测试环境的准备。
3.根据权利要求1所述的方法,其特征在于,所述测试系统包括数据仓储模块,所述数据仓储模块用于存储不同元业务对应的测试数据需求表单以及已建立的测试数据;所述调用所述待测场景下各元业务对应的测试数据,包括:
针对所述待测场景下的每个元业务,若所述数据仓储模块中存在所述元业务对应的测试数据,则调取所述元业务对应的测试数据;
若所述数据仓储模块中不存在所述元业务对应的测试数据,或者所述数据仓储模块中存储的测试数据的数据量不满足所述元业务对应的测试数据的数据量,则从所述数据仓储模块获取所述元业务对应的测试数据需求表单;基于所述测试数据需求表单,从生产数据中获取对应的原始数据,通过所述数据仓储模块对所述原始数据进行脱敏处理,获得所述元业务对应的测试数据。
4.根据权利要求1所述的方法,其特征在于,所述测试系统包括运行分析数据模块,所述根据所述待测场景下各元业务的调用关系,获得测试策略,包括:
将所述待测场景下各元业务的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述待测场景下各元业务的测试顺序。
5.根据权利要求1所述的方法,其特征在于,所述按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果,包括:
对所述待测场景下各元业务对应的测试脚本进行脚本数据文件配置,以完成所述待测场景下各元业务的测试脚本和测试顺序的配置;
按照预定的发压策略,进行发压方式的配置,所述发压策略包括梯度发压方式或者线性发压方式;
按照所述待测场景下各元业务的测试顺序,根据经过配置的测试脚本和测试数据,在所述测试环境下,执行对所述待测场景的测试,获得测试结果。
6.根据权利要求1所述的方法,其特征在于,所述测试系统包括结果分析模块和运行分析数据模块,所述结果分析模块包括准则库,所述准则库用于存储预先设定的目标运行标准;所述获得测试结果,包括:
若执行测试获得的执行结果满足所述目标运行标准,则确定测试结果为达标;否则,确定测试结果为未达标。
7.根据权利要求6所述的方法,其特征在于,所述结果分析模块用于存储达标的历史执行结果;所述结果分析模块还包括:调优规则库,所述调优规则库用于规则化存储历史的调优策略;所述方法还包括:
若所述测试结果为未达标,将所述执行结果输入所述结果分析模块,以使所述结果分析模块查询所述待测场景对应的历史执行结果,确定出所述执行结果中与所述历史执行结果不一致的第一指标;
将所述第一指标输入所述调优规则库,确定出所述第一指标对应的调优策略。
8.根据权利要求6所述的方法,其特征在于,所述结果分析模块还包括:调优规则库;所述运行分析数据模块还用于存储生产运行标准;所述方法还包括:
若所述测试结果为未达标,则将所述执行结果输入所述运行分析数据模块,以使所述运行分析数据模块,确定出所述执行结果中不满足所述生产运行标准的第二指标;
将所述第二指标输入所述调优规则库,确定出所述第二指标对应的调优策略。
9.根据权利要求4所述的方法,其特征在于,所述待测场景的数量为多个;所述测试需求还包括各待测场景的调用关系,所述测试策略还包括测试流程中各待测场景的测试顺序;所述方法还包括:
将所述各待测场景的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述各待测场景的测试顺序;
所述调用所述待测场景下各元业务对应的测试脚本以及测试数据,包括:
针对每个待测场景,调用所述待测场景下各元业务对应的测试脚本以及测试数据;
所述按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果,包括:
按照所述测试策略中各待测场景的测试顺序,针对每个待测场景,执行对所述待测场景的测试,获得测试结果;其中,所述对所述待测场景的测试包括:
按照所述测试策略中所述待测场景下各元业务的测试顺序,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试。
10.根据权利要求9所述的方法,其特征在于,多个待测场景中存在相同的第一待测场景;所述测试策略还包括业务配比;所述将所述各待测场景的调用关系输入所述运行分析数据模块,包括:
将所述各待测场景的调用关系输入所述运行分析数据模块,以使所述运行分析数据模块分析获得所述各待测场景的测试顺序以及所述业务配比;其中,所述业务配比为第一待测场景的数量在所述多个待测场景的总数量中所占的比重;
所述按照所述测试策略中各待测场景的测试顺序,针对每个待测场景,执行对所述待测场景的测试,获得测试结果,包括:
按照所述测试策略中各待测场景的测试顺序和测试次数,针对每个待测场景,执行对所述待测场景的测试,获得测试结果;所述各待测场景的测试次数基于所述业务配比确定。
11.一种测试装置,其特征在于,应用于测试系统,所述装置包括:
接收单元,用于接收测试需求,所述测试需求包括待测场景下各元业务的调用关系,其中每个元业务对应独立的测试脚本;
获取单元,用于根据所述待测场景下各元业务的调用关系,获得测试策略,所述测试策略包括测试流程中所述待测场景下各元业务的测试顺序;
调用单元,用于调用所述待测场景下各元业务对应的测试脚本以及测试数据;
准备单元,用于准备测试环境;
执行单元,用于按照所述测试策略,根据所述待测场景下各元业务对应的测试脚本和测试数据,在所述测试环境下执行测试,获得测试结果;
所述测试系统包括案例资产库;所述案例资产库包括场景案例资产库和需求条目化规则库;所述场景案例资产库用于存储已建立的测试脚本;所述案例资产库还包括功能案例资产库和通用脚本模板库,所述功能案例资产库用于存储脚本库中各测试脚本和元业务的映射关系,所述通用脚本模板库用于存储测试脚本的公共域部分;所述需求条目化规则库用于存储条目化需求的规则;所述待测场景的测试需求为条目化格式;
所述调用单元,包括:
校验模块,用于基于需求条目化规则库中存储的规则,对待测场景的测试需求进行规则校验;
第一查询模块,用于若规则校验通过,则针对待测场景下的每个元业务,查询场景案例资产库中是否存在元业务对应的测试脚本;
第一调用模块,用于若场景案例资产库中存在元业务对应的测试脚本,则从场景案例资产库中调用元业务对应的测试脚本;
所述装置,还包括:
第二查询模块,用于在第一查询模块针对待测场景下的每个元业务,查询场景案例资产库中是否存在元业务对应的测试脚本之后,若所述场景案例资产库中不存在所述元业务对应的测试脚本,则查询所述功能案例资产库中是否存在所述元业务对应的映射关系;
若所述功能案例资产库中存在所述元业务对应的映射关系,则基于所述元业务对应的映射关系,从所述脚本库中调用所述元业务对应的测试脚本;
若所述功能案例资产库中不存在所述元业务对应的映射关系,则提取所述通用脚本模板库中测试脚本的公共域部分,并获取所述元业务对应的私有域部分,对所述公共域部分和所述元业务对应的私有域部分进行拼接,获得所述元业务对应的测试脚本。
12.一种电子设备,其特征在于,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器,用于根据所述可执行指令执行如权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-10任一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。
CN202110681530.7A 2021-06-18 2021-06-18 测试方法、测试装置、电子设备及存储介质 Active CN113220597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110681530.7A CN113220597B (zh) 2021-06-18 2021-06-18 测试方法、测试装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110681530.7A CN113220597B (zh) 2021-06-18 2021-06-18 测试方法、测试装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113220597A CN113220597A (zh) 2021-08-06
CN113220597B true CN113220597B (zh) 2024-04-16

Family

ID=77080626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110681530.7A Active CN113220597B (zh) 2021-06-18 2021-06-18 测试方法、测试装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113220597B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174428A (zh) * 2022-06-23 2022-10-11 一汽奔腾轿车有限公司 一种以太网pma测试方法及测试装置
CN116610497B (zh) * 2023-07-13 2024-04-09 深圳市木浪云科技有限公司 容灾策略编排方法、系统及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851665A (zh) * 2005-11-07 2006-10-25 华为技术有限公司 一种利用测试套完成产品自动化测试的方法
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN108108297A (zh) * 2016-11-25 2018-06-01 腾讯科技(深圳)有限公司 自动化测试的方法和装置
CN110245064A (zh) * 2018-03-08 2019-09-17 北京京东尚科信息技术有限公司 对象测试方法及其系统、计算机系统及计算机可读介质
CN110347559A (zh) * 2019-07-18 2019-10-18 浪潮商用机器有限公司 一种服务器功耗的测试方法、装置、设备及可读存储介质
US10496532B1 (en) * 2019-08-14 2019-12-03 Capital One Services, Llc Automatically reconfiguring a performance test environment
CN112286779A (zh) * 2019-07-23 2021-01-29 腾讯科技(深圳)有限公司 测试任务处理方法、装置、存储介质和计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101989802B1 (ko) * 2017-02-28 2019-06-18 주식회사 스패로우 테스트 케이스를 이용하여 테스트를 수행하는 방법 및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851665A (zh) * 2005-11-07 2006-10-25 华为技术有限公司 一种利用测试套完成产品自动化测试的方法
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN108108297A (zh) * 2016-11-25 2018-06-01 腾讯科技(深圳)有限公司 自动化测试的方法和装置
CN110245064A (zh) * 2018-03-08 2019-09-17 北京京东尚科信息技术有限公司 对象测试方法及其系统、计算机系统及计算机可读介质
CN110347559A (zh) * 2019-07-18 2019-10-18 浪潮商用机器有限公司 一种服务器功耗的测试方法、装置、设备及可读存储介质
CN112286779A (zh) * 2019-07-23 2021-01-29 腾讯科技(深圳)有限公司 测试任务处理方法、装置、存储介质和计算机设备
US10496532B1 (en) * 2019-08-14 2019-12-03 Capital One Services, Llc Automatically reconfiguring a performance test environment

Also Published As

Publication number Publication date
CN113220597A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN111897724B (zh) 一种适用于云平台的自动化测试方法及装置
CN113220597B (zh) 测试方法、测试装置、电子设备及存储介质
CN107943694B (zh) 一种测试数据生成方法及装置
CN109783346B (zh) 基于关键字驱动的自动化测试方法、装置及终端设备
CN112306855B (zh) 接口自动化测试方法、装置、终端和存储介质
CN111522728A (zh) 自动化测试用例的生成方法、电子设备及可读存储介质
CN101388254B (zh) 存储装置的测试方法
CN114218568B (zh) 一种应用于云服务的大数据攻击处理方法及系统
CN110968437A (zh) 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质
CN108897686B (zh) 全分录自动化测试方法和装置
CN107357721B (zh) 测试系统的方法及装置
CN113010413A (zh) 一种接口自动化测试方法和装置
CN111061733A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN111352997A (zh) 一种测试环境校验方法及系统
CN113868141A (zh) 数据测试方法、装置、电子设备及存储介质
US20080004827A1 (en) Externalized metric calculation engine
CN112597040A (zh) 一种界面自动化测试方法、装置及电子设备
Zhang Research on software development and test environment automation based on android platform
CN112819554B (zh) 基于页面操作的业务处理方法、装置、计算机设备
CN110177006B (zh) 基于接口预测模型的节点测试方法及装置
CN113434409A (zh) 微服务测试方法及装置
CN112559331A (zh) 测试方法和装置
CN113220595A (zh) 测试方法及设备
CN115529250A (zh) 流量回放方法、装置、电子设备及存储介质
CN112131133A (zh) Ipo账户验证方法、装置、计算机设备和存储介质

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