一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种互联网应用软件性能测试方法、系统及电子设备与流程

2022-07-16 11:50:47 来源:中国专利 TAG:


1.本发明涉及智能支付领域,特别是涉及一种互联网应用软件性能测试方法、系统及电子设备。


背景技术:

2.在数字化浪潮背景下,随着互联网技术的发展,开发的软件项目越来越多,越来越多的技术(例如:大数据、云计算、微服务)被应用,而在软件项目工程中性能测试是一项非常重要的业务测试环节。性能测试多用于c端系统的压力测试,是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
3.目前做性能测试时,主要以单接口的性能压力测试为主。业务及产品对性能测试的意义了解不足,性能指标含义不清晰,在性能测试中常常以某一单一指标作为性能测试结果标准,无法清晰通过得到明确的负载及压力值,导致性能测试目的难以实现。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种互联网应用软件性能测试方法、系统及电子设备,用于解决现有技术中的以上问题。
5.为实现上述目的及其他相关目的,本发明提供一种互联网应用软件性能测试方法,所述方法包括:预设初始进程数量,将所述初始进程数量作为第一测试进程数量,通过所述数量创建初始进程数量个测试进程,启动性能测试;根据预设性能指标通过第一脚本动态采集性能测试数据,将第一脚本断言与断言预期进行比对判断性能数据是否处于预设压力范围;根据比对结果做出测试执行动作,当所述性能测试数据不在预设压力范围时输出性能测试报告,当所述性能测试数据处于预设压力范围时将第一测试进程数量根据预设增量数据增加测试进程数量作为第一测试进程数量,重复步骤1、步骤2、步骤3。
6.于本发明一实施例中,所述方法还包括:通过第一脚本yaml.load方法读取压测接口列表中接口url、请求方式、传参生成变量;分析所述接口业务场景生成业务流接口测试用例。
7.于本发明一实施例中,所述方法还包括:预设初始进程数量为n,通过自动化脚本生成的变量关联性能工具;根据第一脚本动态循环读取的接口url、请求方式、传参对应生成脚本的环境变量:将断言的预期结果以固定文件的格式传输到代码存储服务器;通过所述固定文件格式的字段读取方法遍历读取接口序列化格式中对应预期结果和第二脚本生成的实际结果;采用第三脚本进行断言性能指标监测。
8.于本发明一实施例中,所述方法还包括:在所述测试进程中通过第一脚本执行调用拓展文件,启动性能测试;在所述断言中调用所述固定文件中的预设指标,完善所述第一脚本并执行性能测试。
9.于本发明一实施例中,所述方法中还包括:所述初始进程数量为预设值n由事务处理系统数量的m%取整获取作为第一测试进程数量,所述事务处理系统数量=预测每日使
用用户数*k%/(l%*活跃时间*60*60),k%为满足业务量的百分比,l%为常用时间的l%。
10.于本发明一实施例中,所述方法还包括:根据所述预设性能指标通过第一脚本调用第二脚本,采集所述性能测试数据;比对所述第一脚本断言与通过第一脚本固定文件中断言预期,通过比对结果判断所述性能测试数据是否处于预设压力范围。
11.于本发明一实施例中,所述方法还包括:当所述性能测试数据处于预设压力范围时,以第一测试进程数量按照预设进程增量自动调整测试进程数量作为第一测试进程数量,根据所述第一测试进程数量执行性能测试;当所述性能测试数据超出预设压力范围时,通过所述性能测试报告或日志记录第一测试进程数量为h,采用数量h-1替换第二脚本中负载测试进程数量,进行负载测试并输出负载测试结果;以第一测试进程数量h按照预设进程增量自动调整测试进程数量作为第一测试进程数量进行性能测试,当性能测试数据不满足业务场景时通过第一脚本断言将所述业务场景变更变量,通过所述变量执行负载测试,当第一测试进程数量为h j所有业务场景超出预设压力值时,停止执行负载测试。根据模板输出对应性能测试报告。
12.为实现上述目的及其他相关目的,本发明提供互联网应用软件性能测试系统,所述系统包括:测试启动模块,用于预设初始进程数量,将所述初始进程数量作为第一测试进程数量,通过所述数量创建初始进程数量个测试进程,启动性能测试;数据采集模块,用于根据预设性能指标通过第一脚本动态采集性能测试数据;判断模块,用于将所述第一脚本断言与断言预期进行比对判断性能数据是否处于预设压力范围;数据处理模块:用于在所述性能测试数据处于预设压力范围时将第一测试进程数量根据预设增量数据增加测试进程数量作为第一测试进程数量继续执行性能测试;报告输出模块:用于在所述性能测试数据不在预设压力范围时输出性能测试报告。
13.为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的互联网应用软件性能测试方法。
14.为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器、存储器及通信接口;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的互联网应用软件性能测试方法;所述通信接口用于实现访问装置与其他设备之间的通信。
15.如上所述,本发明提供的一种互联网应用软件性能测试方法、系统及电子设备,能够将测试压力自适应地保持在设定范围,提高性能测试的准确性及性能测试结果清晰化,最终能够提高性能测试的效率。
附图说明
16.图1显示为本发明一实施例中的互联网应用软件性能测试方法的流程示意图。
17.图2显示为本发明一实施例中的互联网应用软件性能测试系统的模块示意图。
18.图3显示为本发明一实施例中的电子设备的结构示意图。
具体实施方式
19.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书
所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
21.为了解决现有技术中因在互联网应用软件性能测试过程中无法清晰通过得到明确的负载及压力值去评判性能指标的问题,本发明提供一种互联网应用软件性能测试方法、系统及电子设备。
22.如图1所示,本实施例提供一种互联网应用软件性能测试方法,该方法包括如下步骤:
23.s11:预设初始进程数量,将所述初始进程数量作为第一测试进程数量,通过所述数量创建初始进程数量个测试进程,启动性能测试。
24.具体地,首先通过python脚本yaml.load方法从svn或者git等代码管理服务器中yaml文件的接口列表中读取读取压测接口列表中接口url、请求方式、传参生成变量。需要说明的是,yaml文件是一般将word文档或markdown文档中接口的url、请求方式、传参以yaml文件上传到代码管理服务器。yaml文件内容一般包括功能列表及对应接口文档,即接口名称、接口类、请求方法、接口地址、请求参数及说明、返回数据及说明。
25.进一步地,分析所述接口业务场景生成业务流接口测试用例。
26.进一步地,预设初始进程数量为n,通过自动化脚本生成的变量关联性能工具,例如如jmeter脚本,生成自动化测试python脚本,其中,初始进程数量为预设值n由事务处理系统数量的m%取整获取,事务处理系统数量=预测每日使用用户数*k%/(l%*活跃时间*60*60),k%为满足业务量的百分比,l%为常用时间的l%,例如,初始进程数量默认从tps的10%数量取整,tps即事务处理系统,又根据二八原则:tps=n*80%/(20%*活跃时间*60*60),n为预测每日使用用户数,20%常用时间,满足80%业务量,活跃时间一般为8小时。
27.进一步地,通过python脚本将循环读取的接口url、请求方式、传参对应生成脚本的环境变量,并将断言的预期结果以csv文件的格式传输到代码存储服务器。通过python脚本的csv.dictreader遍历读取接口yaml中对应的预期结果与jmeter脚本中生成的实际结果。最后使用python的pytest框架中assert进行断言性能指标监测。
28.进一步地,根据预设初始进程数量,创建初始进程数量个测试进程,并在每个测试进程中通过python脚本执行调用执行如jmeter非gui脚本jmx文件,启动性能测试。
29.s12:根据预设性能指标通过第一脚本动态采集性能测试数据,将第一脚本断言与断言预期进行比对判断性能数据是否处于预设压力范围。
30.具体地,根据所有预设性能指标通过python脚本调用jmeter脚本进行采集性能测试数据,通过脚本断言与通过python脚本csv中断言预期进行比对判断性能测试数据是否处于预设压力范围。
31.s13:根据比对结果做出测试执行动作,当所述性能测试数据不在预设压力范围时输出性能测试报告,当所述性能测试数据处于预设压力范围时将第一测试进程数量根据预设增量数据增加测试进程数量作为第一测试进程数量,重复步骤1、步骤2、步骤3。
32.具体地,当性能测试数据处于预设压力范围时,在下一次执行性能测试时在当前进程数自增a个进程数量作为测试进程数量,例如,a为1。然后在断言中调用csv中的预设性能指标,指标包括但不限于通过率、响应时间、错误率、cpu占用率、内存使用率、缓存命中率,例如,可以将以上指标预设为:通过率100%、响应时间2/5/10、错误率小于万分之一、cpu占用率达到70%为好,85%为坏,90% 为很差、内存使用率小于80%、缓存命中率大于85%,其次完善性能测试脚本并执行性能测试。在性能测试脚本的执行过程中根据进程数的累加,进行持续采集输出当前进程数量及性能测试指标是否满足预设压力范围的结果。最后通过测试报告及日志记录最后一次所有场景均满足预设压力时的进程数量,并使用此数量替换jmter的负载测试进程数,进行负载测试,并输出负载测试结果。
33.进一步地,当性能测试数据超出预设压力范围时,继续在测试进程数量的基础上进行进程数自增a个进程数量的性能测试。每出现一个业务场景不满足时记录通过脚本断言,将出现不满足的业务场景提取到变量中,通过变量执行负载测试,直到所有业务场景均无法满足预设压力值的进程数即停止脚本运行,最后根据模板输出对应的性能测试报告。
34.实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
35.参阅图2,本实施例提供一种互联网应用软件性能测试系统20,作为一款软件搭载于电子设备中,以在运行时执行前述方法实施例所述的互联网应用软件性能测试方法。由于本系统实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。
36.本实施例的互联网应用软件性能测试系统20具体包括:测试启动模块21、数据采集模块22、判断模块23、数据处理模块24、报告输出模块25。测试启动模块21用于预设初始进程数量,将所述初始进程数量作为第一测试进程数量,通过所述数量创建初始进程数量个测试进程,启动性能测试;数据采集模块22用于根据预设性能指标通过第一脚本动态采集性能测试数据;判断模块23用于将所述第一脚本断言与断言预期进行比对判断性能数据是否处于预设压力范围;数据处理模块24用于在所述性能测试数据处于预设压力范围时将第一测试进程数量根据预设增量数据增加测试进程数量作为第一测试进程数量继续执行性能测试;报告输出模块25用于在所述性能测试数据不在预设压力范围时输出性能测试报告。
37.本领域技术人员应当理解,图2实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,数据处理模块24可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形
式存储于存储器中,由某一个处理元件调用并执行数据处理模块24的功能。其它模块的实现与之类似。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
38.参阅图3,本实施例提供一种电子设备,电子设备可以是便携式电脑、智能手机、平板电脑等设备。详细的,电子设备至少包括通过总线31连接的:存储器32、处理器33,通信接口34,其中,通信接口34用于用于实现数据访问装置与其他设备之间的通信其中,存储器32用于存储计算机程序,处理器33用于执行存储器32存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
39.上述提到的系统总线可以是外设部件互连标准(peripheral pomponent interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
40.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
41.综上所述,本发明提供的一种互联网应用软件性能测试方法、系统及电子设备,通过梳理清晰的业务场景构建完整的自动化性能测试框架,然后对性能测试的预设性能指标进行定期动态采集判断性能数据是否处于预设压力范围,在所有性能数据均处于预设压力范围的情况下,使用增量及减量的方式来获取接口满足不同业务场景时压力和负载的各峰值数据,得到性能测试结果。本方法能够提高性能测试的效率,并能够将测试压力自适应地保持在设定范围,提高性能测试的准确性及性能测试结果清晰化。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
42.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献