一种软件压力测试方法及系统、电子设备技术方案

技术编号:21891494 阅读:22 留言:0更新日期:2019-08-17 14:21
本发明专利技术涉及测试技术领域,揭示了一种软件压力测试方法及系统、电子设备。该方法包括:根据测试接口文档在Mock系统中创建Mock类对象,该测试接口文档至少包括测试请求参数、返回参数、测试接口支持的通讯协议以及该测试接口对应的会话对象;根据测试接口的历史用户数据,确定该测试接口的压力测试指标;根据历史用户数据生成压力测试数据,并根据该压力测试数据生成测试接口的调用请求;以上述调用请求访问Mock类对象,获得返回数据;根据该返回数据进行Mock压力测试,以确定压力测试指标的数值,获得该测试接口的压力测试结果。实施本发明专利技术实施例,能够基于Mock系统模拟软件压力测试所需的测试环境,并完成软件压力测试。

A Software Pressure Testing Method, System and Electronic Equipment

【技术实现步骤摘要】
一种软件压力测试方法及系统、电子设备
本专利技术涉及测试
,特别涉及一种软件压力测试方法及系统、电子设备。
技术介绍
软件压力测试是软件测试工作中十分重要的一部分,软件压力测试的目的是了解软件能够承受的压力。比如,对于被测应用程序(Application,APP)而言,可以是APP同时能够承受的用户访问量、最多支持多少用户同时访问某个功能等。而对于用户而言,从点击一个按钮、链接或发出一条指令开始,到APP把结果以用户可以感知的形式展示出来为止,这个过程所消耗的时间是用户对软件性能的直观印象。用户量庞大的APP在同一时间需要处理大量用户的访问请求,因此需要对APP进行压力测试以保证用户在单点、高并发等情况下使用APP也能够得到快速、正常的响应。金融类APP线上用户庞大,更加需要测试APP在足够大的用户量并发下是否能够正常运行。但是,金融类APP一般与一些外部环境系统(如银行、法院等)存在关联,这些关联方系统一般不为APP的压力测试提供支持。此时,可以利用Mock技术构建虚拟对象,通过虚拟对象模拟关联方系统,然而,目前的市面上的Mock工具一般只能提供基本的模拟返回功能,且仅支持超文本传输协议(HyperTextTransferProtocol,HTTP),难以模拟APP压力测试所需的测试环境。
技术实现思路
为了解决相关技术中存在的Mock工具难以模拟APP压力测试所需的测试环境的问题,本专利技术提供了一种软件压力测试方法及系统、电子设备。本专利技术实施例第一方面公开了一种软件压力测试方法,所述方法包括:根据测试接口文档在Mock系统中创建Mock类对象,所述测试接口文档至少包括测试请求参数、返回参数、测试接口支持的通讯协议以及所述测试接口对应的会话对象;根据所述测试接口的历史用户数据,确定所述测试接口的压力测试指标;根据所述历史用户数据生成压力测试数据,并根据所述压力测试数据生成所述测试接口的调用请求;以所述调用请求访问所述Mock类对象,获得返回数据;根据所述返回数据进行Mock压力测试,以确定所述压力测试指标的数值,获得所述测试接口的压力测试结果。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述根据所述历史用户数据生成压力测试数据,包括:滤除所述历史用户数据中的敏感数据,获得目标历史用户数据;将所述目标历史用户数据导入测试系统中作为所述压力测试数据。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述根据所述历史用户数据生成压力测试数据,包括:根据所述测试接口的预设业务规则逻辑,生成模拟用户数据;将所述模拟用户数据导入测试系统中作为所述压力测试数据。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述以所述调用请求访问所述Mock类对象,获得返回数据,包括:根据所述Mock类对象模拟的系统对应的系统类型确定响应延时;以所述调用请求访问所述Mock类对象,并在经过所述响应延时后获得所述返回数据。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述方法还包括:将所述响应延时以及所述测试接口文档中的目标信息配置于Web界面,所述目标信息至少包括所述返回参数和所述通讯协议;检测用户在所述Web界面输入的自定义返回参数、自定义通讯协议以及自定义响应延时中的至少一个;根据检测到的所述自定义返回参数和/或所述自定义通讯协议更新所述测试接口文档,并根据更新的测试接口文档更新所述Mock类对象;根据检测到的所述自定义响应延时更新所述响应延时。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述以所述调用请求访问所述Mock类对象,获得返回数据,包括:以所述调用请求访问所述Mock类对象,获取根据所述预设业务规则逻辑生成的所述Mock类对象的模拟返回数据;判断所述模拟返回数据的数据类型是否与所述返回参数对应的数据类型相同;若是,将所述模拟返回数据作为所述返回数据。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述以所述调用请求访问所述Mock类对象,获得返回数据,包括:检测所述调用请求的访问对象;当所述访问对象为所述Mock类对象时,以所述调用请求访问所述Mock类对象,获得所述返回数据;当所述访问对象为外部环境系统中的真实对象时,以所述调用请求访问所述真实对象,获得真实返回数据,并修改所述真实返回数据以获得所述返回数据。本专利技术实施例第二方面公开了一种软件压力测试系统,所述系统包括:创建单元,用于根据测试接口文档在Mock系统中创建Mock类对象,所述测试接口文档至少包括测试请求参数、返回参数、测试接口支持的通讯协议以及所述测试接口对应的会话对象;确定单元,用于根据所述测试接口的历史用户数据,确定所述测试接口的压力测试指标;生成单元,用于根据所述历史用户数据生成压力测试数据,并根据所述压力测试数据生成所述测试接口的调用请求;访问单元,用于以所述调用请求访问所述Mock类对象,获得返回数据;测试单元,用于根据所述返回数据进行Mock压力测试,以确定所述压力测试指标的数值,获得所述测试接口的压力测试结果。本专利技术实施例第三方面公开了一种电子设备,所述电子设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现本专利技术实施例第一方面公开的软件压力测试方法。本专利技术实施例第四方面公开了一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行本专利技术实施例第一方面公开的软件压力测试方法。本专利技术的实施例提供的技术方案可以包括以下有益效果:本专利技术所提供的一种基于Mock系统的压力测试方法包括如下步骤:根据测试接口文档在Mock系统中创建Mock类对象,该测试接口文档至少包括测试请求参数、返回参数、测试接口支持的通讯协议以及该测试接口对应的会话对象;根据测试接口的历史用户数据,确定该测试接口的压力测试指标;根据历史用户数据生成压力测试数据,并根据该压力测试数据生成测试接口的调用请求;以上述调用请求访问Mock类对象,获得返回数据;根据该返回数据进行Mock压力测试,以确定压力测试指标的数值,获得该测试接口的压力测试结果。此方法下,通过测试接口文档在Mock系统中创建Mock类对象,Mock类对象可以模拟外部环境系统,其中测试接口文档中包括了测试接口支持的通讯协议,即Mock系统支持的通讯协议不限于HTTP;根据测试接口的历史用户数据生成压力测试数据,并根据该压力测试数据生成测试接口的调用请求,以该调用请求访问Mock类对象,即模拟用户行为,得到Mock类对象的返回数据,再利用返回数据进行Mock压力测试,即可以获得该测试接口的压力测试结果。可见,实施本专利技术实施例,能够基于Mock系统模拟软件压力测试所需的测试环境,并完成软件压力测试。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1是本专利技术实施例公开的一种装置的结构示意图;图2是本专利技术实施例公开的一种软件压力测试方法的流程图;图3是本专利技术实施例公开的另一种软件压力测试方法的流程图;图4是本专利技术实施例公开的又一种软件压力测试方法的流程图;图5是本专利技术实施例公开的一种本文档来自技高网...

【技术保护点】
1.一种软件压力测试方法,其特征在于,所述方法包括:根据测试接口文档在Mock系统中创建Mock类对象,所述测试接口文档至少包括测试请求参数、返回参数、测试接口支持的通讯协议以及所述测试接口对应的会话对象;根据所述测试接口的历史用户数据,确定所述测试接口的压力测试指标;根据所述历史用户数据生成压力测试数据,并根据所述压力测试数据生成所述测试接口的调用请求;以所述调用请求访问所述Mock类对象,获得返回数据;根据所述返回数据进行Mock压力测试,以确定所述压力测试指标的数值,获得所述测试接口的压力测试结果。

【技术特征摘要】
1.一种软件压力测试方法,其特征在于,所述方法包括:根据测试接口文档在Mock系统中创建Mock类对象,所述测试接口文档至少包括测试请求参数、返回参数、测试接口支持的通讯协议以及所述测试接口对应的会话对象;根据所述测试接口的历史用户数据,确定所述测试接口的压力测试指标;根据所述历史用户数据生成压力测试数据,并根据所述压力测试数据生成所述测试接口的调用请求;以所述调用请求访问所述Mock类对象,获得返回数据;根据所述返回数据进行Mock压力测试,以确定所述压力测试指标的数值,获得所述测试接口的压力测试结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述历史用户数据生成压力测试数据,包括:滤除所述历史用户数据中的敏感数据,获得目标历史用户数据;将所述目标历史用户数据导入测试系统中作为所述压力测试数据。3.根据权利要求1所述的方法,其特征在于,所述根据所述历史用户数据生成压力测试数据,包括:根据所述测试接口的预设业务规则逻辑,生成模拟用户数据;将所述模拟用户数据导入测试系统中作为所述压力测试数据。4.根据权利要求1至3任一项所述的方法,其特征在于,所述以所述调用请求访问所述Mock类对象,获得返回数据,包括:根据所述Mock类对象模拟的系统对应的系统类型确定响应延时;以所述调用请求访问所述Mock类对象,并在经过所述响应延时后获得所述返回数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述响应延时以及所述测试接口文档中的目标信息配置于Web界面,所述目标信息至少包括所述返回参数和所述通讯协议;检测用户在所述Web界面输入的自定义返回参数、自定义通讯协议以及自定义响应延时中的至少一个;根据检测到的所述自定义返回参数和/或所述自定义通讯协议更新所述测试接口文档,并根据更新的测试接口文档更新所述Mock类对象;根据检测到的所述自定义响应...

【专利技术属性】
技术研发人员:文琦
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东,44

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

1