CN114968741B - 一种基于场景平台化的性能测试方法、系统、设备和介质 - Google Patents

一种基于场景平台化的性能测试方法、系统、设备和介质 Download PDF

Info

Publication number
CN114968741B
CN114968741B CN202210593756.6A CN202210593756A CN114968741B CN 114968741 B CN114968741 B CN 114968741B CN 202210593756 A CN202210593756 A CN 202210593756A CN 114968741 B CN114968741 B CN 114968741B
Authority
CN
China
Prior art keywords
scene
task
execution
performance
performance test
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
CN202210593756.6A
Other languages
English (en)
Other versions
CN114968741A (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.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile 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 Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN202210593756.6A priority Critical patent/CN114968741B/zh
Publication of CN114968741A publication Critical patent/CN114968741A/zh
Application granted granted Critical
Publication of CN114968741B publication Critical patent/CN114968741B/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

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

Abstract

本申请提出一种基于场景平台化的性能测试方法、系统、设备和介质,包括:根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景;根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;对性能参数进行调整前,执行所述待执行任务得到第一执行结果;对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。本申请可极大的提高了性能测试服务的可用性,有效的降低操作难度。

Description

一种基于场景平台化的性能测试方法、系统、设备和介质
技术领域
本发明涉及智能化生产应用领域,尤其涉及一种基于场景平台化的性能测试方法、系统、设备和介质。
背景技术
互联网经历着web服务到app服务再到物联网(5g)的过程。智能化技术的日新月异,带给用户更好的使用体验。
然而现有的测试方法通常通过创建模板的方式来创建脚本,测试脚本跟用户的输入参数有关。基于模板的测试脚本创建方式难以解决复杂场景的可靠性分析,如果同时有较多的用户访问,需要保证每个系统都能够及时作出正确的响应。如何保证请求链路的畅通,保证每个系统的可靠性,可用性,正确性也就是验证系统的性能,是当前迫切需要解决的问题。
发明内容
鉴于以上现有技术存在的问题,本发明提出一种基于场景平台化的性能测试方法、系统、设备和介质,主要解决基于脚本模板的测试方式难以满足复杂场景可靠性分析需求的问题。
为了实现上述目的及其他目的,本发明采用的技术方案如下。
一种基于场景平台化的性能测试方法,包括:
根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个;
根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数;
对性能参数进行调整前,执行所述待执行任务得到第一执行结果;
对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。
在本申请一实施例中,根据用户需求构建性能测试场景,包括:
通过预设的第一交互界面获取用户需求;
根据所述用户需求确定场景特征以及所述场景特征的执行权重,其中,所述场景特征包括协议、路由以及待测参数;
根据所述场景特征匹配预设子场景库中的子场景,并将所述场景特征的执行权重作为匹配的子场景的权重,根据所述匹配的子场景以及对应的权重构建所述性能测试场景。
在本申请一实施例中,根据用户需求构建性能测试场景之后,包括:
将所述性能测试场景转换为场景脚本,并生成对应的场景标签;
将所述场景脚本和对应的场景标签关联后存入预设场景库。
在本申请一实施例中,根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,包括:
通过预设第二交互界面获取输入的待执行任务的执行参数;
对所述待执行参数进行特征提取,根据提取的特征与所述性能测试场景的特征进行相似度比对,获取匹配的性能测试场景作为所述待执行任务的任务场景;
根据不同执行参数的预设权重以及不同执行参数与所述任务场景中各子场景的相似度,调整所述任务场景中各子任务的权重或执行顺序。
在本申请一实施例中,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果,包括:
获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线;
将所述性能参数优化曲线的极大值作为性能优化拐点;
根据所述性能优化拐点确定最优性能参数。
在本申请一实施例中,获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线,包括:
在不同的时间节点对同一性能参数进行调整,每执行一次调整,调用并执行一次待执行任务,得到每次待执行任务的执行结果;
根据所述执行结果以及所述性能参数调整时序,生成性能优化曲线;
将所述性能优化曲线的性能优化拐点之后的性能参数回退到性能优化拐点处的性能参数得到所述最优性能参数。
在本申请一实施例中,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果之前,还包括:
实时监听所述待执行任务的执行情况,并将执行情况输出至预设的用户端界面;
根据所述用户端界面接收的用户请求,将对应的待执行任务的执行结果进行比对,得到任务比对结果。
本申请还提供一种基于场景平台化的性能测试系统,包括:
场景构建模块,用于根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个;
任务创建模块,用于根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数;
任务执行模块,用于对性能参数进行调整前,执行所述待执行任务得到第一执行结果;对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果;
优化比对模块,用于将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。
一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述的方法的基于场景平台化的性能测试步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于场景平台化的性能测试方法的步骤。
如上所述,本申请提出一种基于场景平台化的性能测试方法、系统、设备和介质,具有以下有益效果。
本申请根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个;根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数;对性能参数进行调整前,执行所述待执行任务得到第一执行结果;对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。本申请预先构建场景,基于场景贯通测试链路,并基于任务调用对应场景,只需要修改场景中部分参数便可完成不同任务的配置,提高场景的复用率;根据任务结果比对确定参数优化效果,保证性能优化准确性。
附图说明
图1为本申请一实施例中基于场景平台化的性能测试框架的结构示意图。
图2为本申请一实施例中基于场景平台化的性能测试系统的结构示意图。
图3为本申请一实施例中基于场景平台化的性能测试方法的流程示意图。
图4为本申请一实施例中任务执行结果比对的流程示意图。
图5为本申请另一实施例中基于场景平台化的性能测试的流程示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
目前,相关技术的软件性能测试方法,通常是通过进行脚本测试录制或开发,然后通过稳定性系统进行脚本执行,并对执行过程进行监控的方式。一般而言,其实现方式是利用已有的性能测试工具(如Jmeter)或自主开发系统来实现。
然而,相关技术的性能测试以脚本模板为基础,对于脚本的格式要求较高,通常需要标记特定格式参数或者配置,以便稳定系统采集指标,即使可以使用不同语言编辑或录制脚本,但脚本的格式通常是固定的。并且,普通的自动化测试脚本,因为无法满足稳定性的编写格式,或者未按多进程编程方法进行脚本编写,而无法作为性能测试的脚本,因此如果需要在性能测试中实现多进程并发的场景,通常需要具备较高编程水平的测试人员在脚本中按多进程编程方法进行编写,从而降低了性能测试的效率。
本申请实施例提供一种基于场景平台化的性能测试方法、系统、设备和介质,能够提高性能测试的效率和准确性。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶、电商、社交APP、智能汽车中智能化座舱等。下面说明本申请实施例提供的设备的示例性应用,本申请实施例提供的设备可以实施为智能手机、智能手表、笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能语音交互设备、智能家电和车载终端等各种类型的用户终端,也可以实施为服务器。下面将说明设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的基于场景平台化的性能测试系统的一个可选的架构示意图,终端400(示例性示出了终端400-1与终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400-1归属于测试人员,终端400-1上运行有性能测试客户端410-1,用于构建性能测试场景,对性能测试场景进行调试形成贯通的测试链路后转换为脚本文件,脚本文件通过网络300上传至服务器200。
服务器200,用于将接收到的场景对应的脚本文件保存在数据库中。终端400-2通过网络300从服务器200处调用对应场景的脚本文件,修改对应场景参数创建性能测试任务,并将性能测试任务反馈给服务器200。服务器根据性能测试任务的执行模式生成测试请求。通过包含性能测试任务的测试请求,驱动终端400-2上的性能测试客户端410-2根据性能测试任务执行性能测试操作。
终端400-2,用于对服务器200下发的测试请求进行解析,在性能参数优化前后分别执行对应的性能测试任务,并根据执行结果比对确定优化前后对应性能参数的优化效果。
终端400-2,还用于将任务执行结果发送至服务器200,由服务器200将任务执行结果保存在数据库500中,和/或转发至终端400-1,在终端400-1的性能测试客户端410中显示。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电和车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,终端400-1也可以直接与终端400-2连接,终端400-1根据性能测试场景创性能测试任务,将性能测试任务直接下发至终端400-2,以使终端400-2根据测试任务包含的执行参数以及性能测试脚本执行本申请实施例中的基于场景平台化的性能测试方法。
在一些实施例中,测试人员也可以直接在终端400-2上进行测试任务的配置,以使终端400-2根据测试任务包含的执行参数以及性能测试脚本执行本申请实施例中的基于场景平台化的性能测试方法。或者,在一些实施例中,图1中的终端400-1与终端400-2也可以实施为服务器形式,即对服务器类型的设备进行性能测试。以上几种实施方式可根据实际情况进行选择,本申请实施例不作限定。
参见图2,图2是本申请实施例提供的终端400-2的结构示意图,图2所示的终端400-2包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400-2中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的基于场景平台化的性能测试系统455,其可以是程序和插件等形式的软件,包括以下软件模块:场景构建模块4551、任务创建模块4552、任务执行模块4553和优化比对模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的系统可以采用硬件方式实现,作为示例,本申请实施例提供的系统可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于场景平台化的性能测试方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的基于场景平台化的性能测试方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如社交应用APP或者消息分享APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序或者网页客户端程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面将结合本申请实施例提供的设备的示例性应用和实施,说明本申请实施例提供的基于场景平台化的性能测试方法。
请参阅图3,图3为本申请实施例提供的基于场景平台化的性能测试方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
步骤S01,根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个。
本申请实施例提供的基于场景平台化的性能测试方法可以应用于对设备的软件系统进行自动化测试、压力测试、稳定性测试等场景,具体可根据实际应用需求进行选择,这里不作限制。
在本申请一实施例中,根据用户需求构建所述性能测试场景,包括以下步骤:
通过预设的第一交互界面获取用户需求;
根据所述用户需求确定场景特征以及所述场景特征的执行权重,其中,所述场景特征包括协议、路由以及待测参数;
根据所述场景特征匹配预设子场景库中的子场景,并将所述场景特征的执行权重作为匹配的子场景的权重,根据所述匹配的子场景以及对应的权重构建所述性能测试场景。
具体地,设备可在客户端提供一个交互界面,用于采集用户需求信息。用户可在交互界面输入测试场景对应的协议、路由、待测参数。输入的需求信息可以是一段文本描述也可以是根据交互界面提示逐条录入的参数信息。针对文本描述可通过常规的深度学习神经网络提取文本描述中与场景相关的特征,进而得到场景特征。深度学习神经网络可采用长短期记忆神经网络、生成对抗网络、循环神经网络等,具体网络框架可根据实际应用需求进行设置,这里不作限制。
根据用户需求信息获取场景特征后,可根据场景特征从预设子场景库中匹配子场景。以用户操作购物APP为例,对应的场景访问节点可包括:用户登录APP,点击任意商品,点击加入购物车,结算、退出。对应的场景特征可以为购物,根据购物这一特征可匹配子场景包括产品首页、最受欢迎的产品展示界面、购物车页面以及结算页面等。具体子场景设置可根据实际需求进行配置,这里不作限制。
在本申请一实施例中,考虑用户访问场景的行为习惯,预设各子场景对应场景特征的执行权重,在调用子场景时,可同步确定对应子场景的权重。权重代表用户访问对应产品的概率,示例性地,若用户访问A产品的权重是访问B产品权重的两倍,则可将A产品对应的执行步骤的权重设置为2,B产品对应的执行步骤权重设置为1,以此来模拟用户行为。根据匹配的子场景以及对应权重,可生成性能测试场景,性能测试场景中各子场景按照权重占比进行排序,确定子场景在性能测试中的应用顺序。
在另一实施例中,也可预先存储子场景,设备直接通过客户端调用存储的子场景,对子场景进行组合,一键生成测试用的性能测试场景。
完成性能测试场景设置后,可对性能测试场景进行在线调试,保证整个测试链路的连通性,有利于保障后续性能测试的顺利进行。
在本申请一实施例中,根据用户需求构建性能测试场景之后,包括:将所述性能测试场景转换为场景脚本,并生成对应的场景标签;将所述场景脚本和对应的场景标签关联后存入预设场景库。
在一实施例中,可根据经过调试的性能测试场景生成对应的场景脚本,并为场景脚本打上对应的场景标签。具体的,可将性能测试场景作为一个参数集,自动将参数集转换成python脚本文件,为python脚本文件打上对应的标签,标签可包括权重参数、性能测试场景中执行不同子场景之间的等待时间等。进一步地,将场景脚本以及标签关联存储到预设场景库中。用户可在客户端输入文本匹配场景库中标签来调用对应的性能测试场景。当需要对场景进行变更时,只需要更改性能测试场景中的参数即可,可有效提高场景的重复利用率。
步骤S02,根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数。
在本申请一实施例中,客户端可接收用户输入的任务执行条件作为创建任务的参数。任务执行条件可包括用户请求的执行时间,单位时间内执行的用户增量(即执行梯度)以及模拟并发的用户数。以购物为例,假设在夜间用户访问购物APP的概率更高,可测试夜间某一时间段对应应用的运行性能。具体执行时间可由测试人员根据用户行为特征进行配置,这里不作限制。执行梯度主要是指单位时间内新增的用户访问数量,例如,应用APP中用户访问量以每秒10人的增量递增。模拟并发的用户数主要是指当前同时访问对应场景的用户数。基于并发任务量测试系统运算能力以及响应时间等参数。还可在客户端输入文本匹配场景库中对应性能测试场景的场景脚本,根据场景脚本以及任务执行参数创建对应的待执行任务。
在本申请一实施例中,用户访问对应场景时,会向服务器端发送对应的任务请求,服务器端接收任务请求后将对应任务输出至客户端,驱动客户端执行对应的任务。由于不同用户对场景需求的差异性,测试人员在创建待执行任务时,可基于匹配得到的场景脚本标签对场景中执行权重等参数进行调整,以适配不同需求下的性能测试。设置任务执行条件,可在条件成就时触发对应的待执行任务,输出至客户端执行对应的性能测试,可满足不同条件下的场景性能测试需求,提高场景适用性和针对性。例如,早上8点用户访问梯度较大,可对应触发满足对应梯度的待执行任务,中午并发用户数较多,可对应触发满足对应模拟并发用户数的待执行任务。
在本申请一实施例中,根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,包括:
通过预设第二交互界面获取输入的待执行任务的执行参数;
对所述待执行参数进行特征提取,根据提取的特征与所述性能测试场景的特征进行相似度比对,获取匹配的性能测试场景作为所述待执行任务的任务场景;
根据不同执行参数的预设权重以及不同执行参数与所述任务场景中各子场景的相似度,调整所述任务场景中各子任务的权重或执行顺序。
在一实施例中,以购物页面跳转为例,每个页面对应一个子场景,每个子场景可对应一个执行权重,可按照执行权重对子场景进行排序,按权重顺序对子场景进行重组,重组后通过调试验证以保障重组参数的合理性。
本实施例中基于任务条件调整测试任务参数的的方式,简化场景变更操作,以及测试配置过程,可提高测试任务创建的效率以及场景针对性。
步骤S03,对性能参数进行调整前,执行所述待执行任务得到第一执行结果。
对系统各项性能参数可进行参数值设置和调整,每次完成调整后需要对调整后的性能参数进行测试,则可预先在性能参数调整前调用待执行任务进行测试保留测试结果,将测试结果与调整后的测试结果进行比对。
步骤S04,对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。
在本申请一实施例中,测试人员在针对应用的性能参数进行优化时,为了便于测试人员及时了解优化前后的效果,可针对优化前和优化后的性能参数分别调用对应的待执行任务进行性能测试。
请参阅图4,在本申请一实施例中,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果,包括:
步骤S401,获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线;
步骤S402,将所述性能参数优化曲线的极大值作为性能优化拐点;
步骤S403,根据所述性能优化拐点确定最优性能参数,。
在本申请一实施例中,获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线,包括:
在不同的时间节点对同一性能参数进行调整,每执行一次调整,调用并执行一次待执行任务,得到每次待执行任务的执行结果;
根据所述执行结果以及所述性能参数调整时序,生成性能优化曲线;
将所述性能优化曲线的性能优化拐点之后的性能参数回退到性能优化拐点处的性能参数得到所述最优性能参数。
具体地,可针对性能参数优化前后分别调用同一性能测试场景在不同执行时间下待执行任务,获取对应的性能测试结果。基于执行时间生成性能测试结果中对应性能参数的性能优化曲线。根据曲线求导得到极大值可判断性能优化的拐点。期间可进行多次参数优化,将多次参数优化后的任务执行结果进行比对,得到拐点信息。参数性能先提升后下降,说明以优化达到对应参数的极大值。参数优化后的性能低于前一次优化的参数性能则可进行参数回退,回退到前一次优化的参数,确定最优运行参数。进一步地,可在用户端界面实时展示各任务的执行结果以及比对结果,测试人员可根据显示内容直观判断优化前后的效果。或者由测试人员选择需要进行比对的多个任务的执行结果,进行针对性的比对输出,为测试人员提供直观的数据参考。
在本申请一实施例中,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果之前,还包括:实时监听所述待执行任务的执行情况,并将执行情况输出至预设的用户端界面;根据所述用户端界面接收的用户请求,将对应的待执行任务的执行结果进行比对,得到任务比对结果。
具体地,可通过监听器实时监听任务执行情况,并将任务执行情况实时渲染到用户端界面,渲染数据包括性能测试结果、成功率以及响应时间等,任务执行成功或执行完成后可通过监听器向客户端推送任务相关的消息,以便测试人员及时作出响应。
在本申请一实施例中,将创建的任务上传到服务器中,服务器利用参数化locust命令的形式,启动locust服务同时根据任务的属性完成任务的实时构建,渲染,将系统级别的性能测试渲染到用户页面中。用户可以实时查看任务的执行情况,是否有异常,成功率,请求时间等等。任务执行完成后,用户可以选择不同的时间不同的任务进行比较,从而快速看出不同任务之间的差异。
在本申请一实施例中,为了支持高并发任务请求,可设置多个服务器的主从模式,提高并发响应速度以及运算能力。
请参阅图5,图5为本申请实施例中一种可选的性能测试流程示意图,多个用户可同步执行步骤601编辑场景,完成场景编辑后,将场景对应的参数传输至服务器604,由服务器604执行步骤602生成场景,根据场景参数将对应场景转换为场景脚本等待步骤603调用。步骤603为生成任务步骤,通过该步骤将输入的任务参数与场景关联创建任务,完成任务创建后将任务通过网络传输至服务器604进行统一管理,任务触发后,服务器将任务输出至客户端605执行对应的任务,完成性能测试。
根据上述基于场景平台化的性能测试方法的描述,本申请实施例提供一种可应用于用户场景定制化以及基于任务条件进行场景适应性调整的场景平台化性能测试系统,如图2所示。其中设备上运行有待测软件与性能测试系统,该性能测试系统包括:场景构建模块4551,用于根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个;任务创建模块4552,用于根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数;任务执行模块4553,用于对性能参数进行调整前,执行所述待执行任务得到第一执行结果;对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果;优化比对模块4554,用于将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。
在一实施例中,场景构建模块4551,还用于根据用户需求构建性能测试场景,包括:通过预设的第一交互界面获取用户需求;根据所述用户需求确定场景特征以及所述场景特征的执行权重,其中,所述场景特征包括协议、路由以及待测参数;根据所述场景特征匹配预设子场景库中的子场景,并将所述场景特征的执行权重作为匹配的子场景的权重,根据所述匹配的子场景以及对应的权重构建所述性能测试场景。
在一实施例中,场景构建模块4551还用于根据用户需求构建性能测试场景之后,包括:将所述性能测试场景转换为场景脚本,并生成对应的场景标签;将所述场景脚本和对应的场景标签关联后存入预设场景库。
在一实施例中,任务创建模块4552,还用于根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,包括:通过预设第二交互界面获取输入的待执行任务的执行参数;对所述待执行参数进行特征提取,根据提取的特征与所述性能测试场景的特征进行相似度比对,获取匹配的性能测试场景作为所述待执行任务的任务场景;根据不同执行参数的预设权重以及不同执行参数与所述任务场景中各子场景的相似度,调整所述任务场景中各子任务的权重或执行顺序。
在一实施例中,优化比对模块4554,还用于将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果,包括:获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线;将所述性能参数优化曲线的极大值作为性能优化拐点;根据所述性能优化拐点确定最优性能参数。
在一实施例中,优化比对模块4554,还用于获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线,包括:在不同的时间节点对同一性能参数进行调整,每执行一次调整,调用并执行一次待执行任务,得到每次待执行任务的执行结果;根据所述执行结果以及所述性能参数调整时序,生成性能优化曲线;将所述性能优化曲线的性能优化拐点之后的性能参数回退到性能优化拐点处的性能参数得到所述最优性能参数。
在一实施例中,优化比对模块4554,还用于实时监听所述待执行任务的执行情况,并将执行情况输出至预设的用户端界面;根据所述用户端界面接收的用户请求,将对应的待执行任务的执行结果进行比对,得到任务比对结果。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的基于场景平台化的性能测试方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperTextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请提供的一种基于场景平台化的性能测试方法、系统、设备和介质,可以根据需求的不同,定制不同的场景(例如购物后撤销订单,退换货等等),完成场景构建后,选择执行模式例如定时模式、手动触发模式,任务执行完毕后可以快速对数据预览,对比多次执行的不同,从而寻找到系统的短板所在;模拟用户行为进行场景中权重设置,场景需要变更时,只需要更改场景参数即可,这样有效的提高了场景的重复利用率;根据真实的用户数据来调整权重等参数,同时根据期望值的不同来设置不同的执行数据,极大的提高了性能测试服务的可用性,有效的降低操作难度,同时有效的验证系统的稳定性,进而保证了用户体验。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (8)

1.一种基于场景平台化的性能测试方法,其特征在于,包括:
根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个;根据用户需求构建性能测试场景,包括:通过预设的第一交互界面获取用户需求;根据所述用户需求确定场景特征以及所述场景特征的执行权重,其中,所述场景特征包括协议、路由以及待测参数;根据所述场景特征匹配预设子场景库中的子场景,并将所述场景特征的执行权重作为匹配的子场景的权重,根据所述匹配的子场景以及对应的权重构建所述性能测试场景;
根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数;根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,包括:通过预设第二交互界面获取输入的待执行任务的执行参数;对所述待执行参数进行特征提取,根据提取的特征与所述性能测试场景的特征进行相似度比对,获取匹配的性能测试场景作为所述待执行任务的任务场景;根据不同执行参数的预设权重以及不同执行参数与所述任务场景中各子场景的相似度,调整所述任务场景中各子任务的权重或执行顺序;
对性能参数进行调整前,执行所述待执行任务得到第一执行结果;
对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。
2.根据权利要求1所述的基于场景平台化的性能测试方法,其特征在于,根据用户需求构建性能测试场景之后,包括:
将所述性能测试场景转换为场景脚本,并生成对应的场景标签;
将所述场景脚本和对应的场景标签关联后存入预设场景库。
3.根据权利要求1所述的基于场景平台化的性能测试方法,其特征在于,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果,包括:
获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线;
将所述性能参数优化曲线的极大值作为性能优化拐点;
根据所述性能优化拐点确定最优性能参数。
4.根据权利要求3所述的基于场景平台化的性能测试方法,其特征在于,获取对应同一性能测试场景的不同待执行任务的执行结果,根据执行结果比对确定对应性能参数优化曲线,包括:
在不同的时间节点对同一性能参数进行调整,每执行一次调整,调用并执行一次待执行任务,得到每次待执行任务的执行结果;
根据所述执行结果以及所述性能参数调整时序,生成性能优化曲线;
将所述性能优化曲线的性能优化拐点之后的性能参数回退到性能优化拐点处的性能参数得到所述最优性能参数。
5.根据权利要求1所述的基于场景平台化的性能测试方法,其特征在于,将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果之前,还包括:
实时监听所述待执行任务的执行情况,并将执行情况输出至预设的用户端界面;
根据所述用户端界面接收的用户请求,将对应的待执行任务的执行结果进行比对,得到任务比对结果。
6.一种基于场景平台化的性能测试系统,其特征在于,包括:
场景构建模块,用于根据用户需求构建性能测试场景,其中,所述性能测试场景中包含性能测试的多个关联子场景,所述性能测试场景为多个;根据用户需求构建性能测试场景,包括:通过预设的第一交互界面获取用户需求;根据所述用户需求确定场景特征以及所述场景特征的执行权重,其中,所述场景特征包括协议、路由以及待测参数;根据所述场景特征匹配预设子场景库中的子场景,并将所述场景特征的执行权重作为匹配的子场景的权重,根据所述匹配的子场景以及对应的权重构建所述性能测试场景;
任务创建模块,用于根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,完成任务创建;其中所述执行参数包括:执行时间、单位时间内执行的用户增量以及模拟并发的用户数;根据待执行任务的执行参数匹配性能测试场景,得到任务场景,并根据所述执行参数对所述任务场景中的各子场景进行调整,包括:通过预设第二交互界面获取输入的待执行任务的执行参数;对所述待执行参数进行特征提取,根据提取的特征与所述性能测试场景的特征进行相似度比对,获取匹配的性能测试场景作为所述待执行任务的任务场景;根据不同执行参数的预设权重以及不同执行参数与所述任务场景中各子场景的相似度,调整所述任务场景中各子任务的权重或执行顺序;
任务执行模块,用于对性能参数进行调整前,执行所述待执行任务得到第一执行结果;对所述性能参数进行调整后,执行所述待执行任务得到第二执行结果;
优化比对模块,用于将所述第一执行结果与所述第二执行结果进行比对以确定所述性能参数调整前后的的优化结果。
7.一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202210593756.6A 2022-05-27 2022-05-27 一种基于场景平台化的性能测试方法、系统、设备和介质 Active CN114968741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210593756.6A CN114968741B (zh) 2022-05-27 2022-05-27 一种基于场景平台化的性能测试方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210593756.6A CN114968741B (zh) 2022-05-27 2022-05-27 一种基于场景平台化的性能测试方法、系统、设备和介质

Publications (2)

Publication Number Publication Date
CN114968741A CN114968741A (zh) 2022-08-30
CN114968741B true CN114968741B (zh) 2024-06-18

Family

ID=82957269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210593756.6A Active CN114968741B (zh) 2022-05-27 2022-05-27 一种基于场景平台化的性能测试方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN114968741B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667751B (zh) * 2024-02-01 2024-04-19 道普信息技术有限公司 一种低耦合web服务自动化测试方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984527A (zh) * 2020-07-10 2020-11-24 招联消费金融有限公司 软件的性能测试方法、装置、设备和介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767776B (zh) * 2014-01-07 2019-04-30 腾讯科技(深圳)有限公司 一种实时调整网络路由方法、装置及系统
CN105024873A (zh) * 2014-04-29 2015-11-04 中国科学院沈阳自动化研究所 基于设备和场景模拟的协议一致性测试系统与方法
CN104866424A (zh) * 2015-05-22 2015-08-26 国云科技股份有限公司 一种依据场景分析设计软件测试用例的方法
CN107562613B (zh) * 2016-06-30 2021-02-05 阿里巴巴集团控股有限公司 程序测试方法、装置及系统
CN107918562B (zh) * 2016-10-11 2021-11-26 北京京东尚科信息技术有限公司 一种统一接口管理方法和系统
CN108282377B (zh) * 2017-01-05 2021-12-10 菜鸟智能物流控股有限公司 一种测试物流业务数据的处理方法、装置及服务器
CN111104304A (zh) * 2018-10-25 2020-05-05 武汉斗鱼网络科技有限公司 多任务场景性能测试方法、存储介质、电子设备及系统
CN109726119A (zh) * 2018-12-04 2019-05-07 北京奇艺世纪科技有限公司 测试场景创建方法、申请方法、装置、客户端及服务器
CN112288517A (zh) * 2019-12-23 2021-01-29 北京来也网络科技有限公司 结合rpa与ai的商品推荐方法和装置
US11449415B2 (en) * 2020-10-12 2022-09-20 Amazon Technologies, Inc. Self-service integration and feature testing
CN114138680A (zh) * 2022-01-18 2022-03-04 阿里巴巴新加坡控股有限公司 数据构建、数据查询和测试方法、电子设备以及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984527A (zh) * 2020-07-10 2020-11-24 招联消费金融有限公司 软件的性能测试方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚庚梅.移动网上商城中的压力测试应用.科技信息.2010,(第23期),601-602页. *

Also Published As

Publication number Publication date
CN114968741A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN108319547B (zh) 测试用例生成方法、装置和系统
US7992127B2 (en) Method and system of encapsulating web site transactions for computer-aided generation of web services
CN108170611A (zh) 自动化测试方法及装置、存储介质、电子设备
CN106550038B (zh) 一种数字化控制系统的数据组态诊断系统和方法
CN113505082B (zh) 应用程序测试方法及装置
US20210294976A1 (en) Systems and Methods for Deploying Computerized Conversational Agents
JP2021009665A (ja) ファイル生成方法、装置、デバイス及び記憶媒体
CN109308254A (zh) 一种测试方法、装置及测试设备
CN114138674A (zh) 自动化测试方法、装置及计算机设备
CN114968741B (zh) 一种基于场景平台化的性能测试方法、系统、设备和介质
CN116360735A (zh) 一种表单生成方法、装置、设备和介质
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN110348669B (zh) 智能规则生成方法、装置、计算机设备及存储介质
CN117034230A (zh) 一种数据校验方法、装置、设备及其存储介质
CN111523676A (zh) 辅助机器学习模型上线的方法及装置
Schmid et al. A survey of simulation tools for requirements engineering
CN116166533A (zh) 接口测试方法、装置、终端设备以及存储介质
CN112527278A (zh) 智能表单生成及发布方法、装置、终端及存储介质
Lutfi et al. Virtual reality in model based systems engineering: A review paper
CN112199086B (zh) 自动编程控制系统、方法、装置、电子设备及存储介质
CN117539468B (zh) 一种快速实现业务的低代码开发平台
CN117873486A (zh) 一种前后端代码自动生成方法、装置、设备及存储介质
CN114553688B (zh) 云计算部署方法、装置、设备及计算机可读存储介质
CN116795882A (zh) 数据获取方法、装置、计算机设备及存储介质
CN116737437A (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