掌桥专利:专业的专利平台
掌桥专利
首页

基于性能测试迭代组件的电力信息系统测试方法、系统、装置及介质

文献发布时间:2024-04-18 19:58:30


基于性能测试迭代组件的电力信息系统测试方法、系统、装置及介质

技术领域

本发明属于性能测试技术领域,涉及一种基于性能测试迭代组件的电力信息系统测试方法、系统、装置及介质。

背景技术

由于电力行业需求变化,业务量持续增长,各类信息应用系统不断出现,应用系统数量随之不断增多。信息系统、移动app的用户群体逐步增多,研发趋于规模大、复杂程度高等特性发展,用户对信息系统、移动app的性能效率要求也越来越高。为了保障各类信息系统性能稳定,速度优良,需在上线前对其进行性能测试,通过使用自主研发的测试工具来模拟事务同时请求信息系统,同时观察信息系统的表现,用于评估信息系统的稳定性、时效性、可靠性。而现在遇到的问题为性能测试数据不准确,如:web bench只负责发送请求,不接受返回值,所以数据统计准确性很差。无法支持复杂多变的业务。如:apachebench只可以发送单个请求,对于多业务、多事务的组合无法支持。部分场景性能测试脚本编写复杂。如:jmeter可以通过setUp线程组、普通线程组、tearDown线程组进行复杂业务测试,其运行顺序为:setUp线程组->普通线程组(N次)->tearDown线程组。虽然可以实现复杂的业务场景,但是跨线程组的cookie共享和参数传递需要通过高级函数+beanshell来实现,对于测试人员来说使用门槛较高。用户参数与多线程无法一一绑定。如:jmeter的用户参数化策略仅支持顺序读取,其读取顺序是取决于本地线程启动的速度,由于每次迭代运行线程启动速度取决于CPU的调度,所以就会导致多个线程进行数据脏读,无法按照顺序将用户参数与线程进行绑定。兼容性较差,支持浏览器、操作系统版本较低。如:loadrunner的迭代组件目前仅支持Chrome49浏览器、Windows7及以下操作系统,对最新的chrome浏览器、Windows10、Windows11系统均不支持。

发明内容

本发明的目的在于解决现有技术中性能测试数据不准确、无法支持复杂多变的业务、部分场景性能测试脚本编写复杂、用户参数与多线程无法一一绑定和兼容性较差的问题,提供一种基于性能测试迭代组件的电力信息系统测试方法、系统、装置及介质。

为达到上述目的,本发明采用以下技术方案予以实现:

基于性能测试迭代组件的电力信息系统测试方法,包括:

基于代理服务器拦截的请求消息,获取原始脚本;

对原始脚本的内容进行编辑,获取逻辑控制组件;

将原始脚本中请求消息进行分类,获取不同类型的请求消息;

将所获取的不同类型请求消息设置在对应的逻辑控制组件中的操作组件中,配置逻辑控制组件性能测试执行策略;

运行逻辑控制组件性能测试执行策略,得到测试结果。

本发明的进一步改进在于:

进一步的,基于代理服务器拦截的请求消息,获取原始脚本,具体为:代理服务器拦截测试人员操作目标网站所发送的HTTP请求,并将请求数据记录下来保存到逻辑控制组件,获取原始脚本。

进一步的,在代理服务器拦截的请求消息之前,还包括:配置代理服务器、设置浏览器的代理和配置请求消息过滤策略。

进一步的,对原始脚本的内容进行编辑,获取逻辑控制组件,具体为:所述对原始脚本的内容进行编辑包括:单场景下,对原始脚本内容编辑和混合场景下,对原始脚本内容编辑;在单场景的条件下,对原始脚本内容编辑,创建逻辑控制组件为1个;在混合场景的条件下,对原始脚本内容编辑,创建若干个逻辑控制组件。

进一步的,将原始脚本中请求消息进行分类,获取不同类型的请求消息,具体为:在单场景的条件下,创建逻辑控制组件为1个,辑控制组件包括初始化组件、操作组件和退出组件;对原始脚本中的请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求和退出请求,将其对应存放在初始化组件、操作组件和退出组件进行管理。

进一步的,将原始脚本中请求消息进行分类,获取不同类型的请求消息,还包括:在混合场景的条件下,创建若干个逻辑控制组件,每个逻辑控制组件均包括初始化组件、操作组件和退出组件;对原始脚本中的请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求和退出请求,将其对应存放在初始化组件、操作组件和退出组件进行管理。

进一步的,配置逻辑控制组件性能测试执行策略,具体为:设置并发用户总数、初始化耗时的上限、运行错误后是否继续运行、执行电力运行模式或非电力运行模式、是否顺序执行场景和压测时长参数。

进一步的,在单场景的条件下,进行逻辑控制组件性能测试时,初始化组件和退出组件均执行1次,操作组件执行若干次。

进一步的,在混合场景的条件下,进行逻辑控制组件性能测试时,每个逻辑控制组件中初始化组件和退出组件均执行1次,操作组件执行若干次;多个逻辑控制组件可选择并行/串行运行模式。

基于性能测试迭代组件的电力信息系统测试系统,包括:

获取模块,所述获取模块基于代理服务器拦截的请求消息,获取原始脚本;

编辑模块,所述编辑模块对原始脚本的内容进行编辑,获取逻辑控制组件;

分类模块,所述分类模块将原始脚本中请求消息进行分类,获取不同类型的请求消息;

配置模块,所述配置模块将所获取的不同类型请求消息设置在对应的逻辑控制组件中的操作组件中,配置逻辑控制组件性能测试执行策略;

测试模块,所述测试模块运行逻辑控制组件性能测试执行策略,得到测试结果。

一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。

与现有技术相比,本发明具有以下有益效果:

本发明通过将原始脚本的内容进行编辑,获取逻辑控制组件;并将所获取的不同类型请求消息设置在对应的逻辑控制组件中的操作组件中,配置逻辑控制组件性能测试执行策略;运行逻辑控制组件性能测试执行策略,得到测试结果。本发明通过在逻辑控制组件中的初始化组件、操作组件、退出组件实现性能测试脚本的结构和调试的需求,操作简便。在一体化性能测试平台上传脚本后,选择电力运行模式后,配置性能运行策略进行性能测试。实现了模拟用户真实操作行为的性能测试方式。简化了测试人员性能测试步骤,提升了性能测试的工作效率。同时本发明提供友好的图形界面,操作简单方便,提高测试工作效率的同时也无任何工具使用的学习成本;测试结果更为精准,可有效评估信息系统的性能;支持复杂多变的业务场景,支持单场景、混合场景的测试;实现了用户参数与线程的绑定,解决了数据脏读的问题;测试人员不需要专业的语言基础,有效的减少测试人员的学习成本;且兼容主流浏览器(IE/chrome/firefox)及操作系统(Windows/All),兼容性更好。

附图说明

为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明的基于性能测试迭代组件的电力信息系统测试方法的一种流程示意图;

图2为本发明的基于性能测试迭代组件的电力信息系统测试系统的结构示意图;

图3为本发明的基于性能测试迭代组件的电力信息系统测试方法的另一种流程示意图;

图4为性能测试迭代组件的工作界面示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。

在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

下面结合附图对本发明做进一步详细描述:

参见图1,本发明公布了一种基于性能测试迭代组件的电力信息系统测试方法,包括:

S101,基于代理服务器拦截的请求消息,获取原始脚本。

代理服务器拦截测试人员操作目标网站所发送的HTTP请求,并将请求数据记录下来保存到逻辑控制组件,获取原始脚本。

在代理服务器拦截的请求消息之前,还包括:配置代理服务器、设置浏览器的代理和配置请求消息过滤策略。

S102,对原始脚本的内容进行编辑,获取逻辑控制组件。

对原始脚本的内容进行编辑包括:单场景下,对原始脚本内容编辑和混合场景下,对原始脚本内容编辑;在单场景的条件下,对原始脚本内容编辑,创建逻辑控制组件为1个;在混合场景的条件下,对原始脚本内容编辑,创建若干个逻辑控制组件。

S103,将原始脚本中请求消息进行分类,获取不同类型的请求消息。

在单场景的条件下,创建逻辑控制组件为1个,辑控制组件包括初始化组件、操作组件和退出组件;对原始脚本中的请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求和退出请求,将其对应存放在初始化组件、操作组件和退出组件进行管理。

将原始脚本中请求消息进行分类,获取不同类型的请求消息,还包括:在混合场景的条件下,创建若干个逻辑控制组件,每个逻辑控制组件均包括初始化组件、操作组件和退出组件;对原始脚本中的请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求和退出请求,将其对应存放在初始化组件、操作组件和退出组件进行管理。

S104,将所获取的不同类型请求消息设置在对应的逻辑控制组件中的操作组件中,配置逻辑控制组件性能测试执行策略。

配置逻辑控制组件性能测试执行策略,具体为:设置并发用户总数、初始化耗时的上限、运行错误后是否继续运行、执行电力运行模式或非电力运行模式、是否顺序执行场景和压测时长参数。

S105,运行逻辑控制组件性能测试执行策略,得到测试结果。

在单场景的条件下,进行逻辑控制组件性能测试时,初始化组件和退出组件均执行1次,操作组件执行若干次。在混合场景的条件下,进行逻辑控制组件性能测试时,每个逻辑控制组件中初始化组件和退出组件均执行1次,操作组件执行若干次;多个逻辑控制组件可选择并行/串行运行模式。

参见图2,本发明公布了一种基于性能测试迭代组件的电力信息系统测试系统,包括:

获取模块,所述获取模块基于代理服务器拦截的请求消息,获取原始脚本;

编辑模块,所述编辑模块对原始脚本的内容进行编辑,获取逻辑控制组件;

分类模块,所述分类模块将原始脚本中请求消息进行分类,获取不同类型的请求消息;

配置模块,所述配置模块将所获取的不同类型请求消息设置在对应的逻辑控制组件中的操作组件中,配置逻辑控制组件性能测试执行策略;

测试模块,所述测试模块运行逻辑控制组件性能测试执行策略,得到测试结果。

实施例:

参见图3,本发明公布了一种基于性能测试迭代组件的电力信息系统测试方法,具体步骤为:

1、利用电力性能测试迭代组件创建测试脚本,先进行脚本录制,其原理是通过代理服务器来实现的。通过代理服务器,拦截测试人员操作目标网站所发送的HTTP请求,并将请求数据记录下来保存到逻辑控制组件,就会生成原始脚本。在录制过程中,需要注意一些细节,如配置代理服务器、设置浏览器的代理和配置请求消息过滤策略等。

2、脚本内容编辑。参见图4,考虑到性能测试场景分为单场景、混合场景2种,以下分别介绍:

2.1、单场景:则创建1个逻辑控制组件,并在逻辑控制组件下创建初始化组件、操作组件、退出组件。对原始脚本中的请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求、退出请求,将其对应存放在初始化组件、操作组件、退出组件进行管理,配置逻辑控制组件性能测试执行策略,可设置并发用户总数、初始化耗时、运行错误后策略、执行模式、压测时长。

2.2、混合场景:则创建N个逻辑控制组件(N=混合场景数量),并分别在每个逻辑控制组件下创建初始化组件、操作组件、退出组件。对原始脚本中的请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求、退出请求,将其对应存放在初始化组件、操作组件、退出组件进行管理,配置逻辑控制组件性能测试执行策略,可设置并发用户总数、初始化耗时、运行错误后策略、执行模式、是否顺序执行场景、压测时长。

3、脚本编辑、策略设定完成后,进行测试执行,执行该脚本,可通过组件反馈测试结果。

该组件目前已经在一体化性能测试平台(简称“CEPRI-IPTP”)实施完成,基于电力运行模式的性能测试方式简化了性能脚本的结构,通过在逻辑控制组件中的初始化组件、操作组件、退出组件实现性能测试脚本的结构和调试的需求,操作简便。在一体化性能测试平台上传脚本后,选择电力运行模式后,配置性能运行策略进行性能测试。实现了模拟用户真实操作行为的性能测试方式。简化了测试人员性能测试步骤,提升了性能测试的工作效率。

电力性能测试迭代组件是将一个性能测试场景所包含的全部请求放在一个逻辑控制组件中,并在逻辑控制组件下创建初始化组件、操作组件、退出组件。对全部请求进行分类,按照性能测试业务分类分为三类:初始化请求、业务操作请求、退出请求,其对应存放在初始化组件、操作组件、退出组件进行管理。性能测试脚本增强、参数传递、cookie共享均在线程组内完成,脚本设计简单,减少了测试人员的繁琐的调试步骤。同时实现了一个脚本文件满足运行所有性能测试场景的需求,灵活实现混合场景测试。

电力性能测试迭代组件提供了友好的图形界面,操作简单方便,提高测试工作效率的同时也无任何工具使用的学习成本;测试结果更为精准,可有效评估信息系统的性能;支持复杂多变的业务场景,支持单场景、混合场景的测试;实现了用户参数与线程的绑定,解决了数据脏读的问题;测试人员不需要专业的语言基础,有效的减少测试人员的学习成本;且兼容主流浏览器(IE/chrome/firefox)及操作系统(Windows/All),兼容性更好。

本发明一实施例提供的终端设备。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。

所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。

所述处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。

所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种固态硬盘性能测试方法、系统、装置及可读存储介质
  • 一种系统性能测试方法、装置、设备及存储介质
  • 基于知识图谱的电力信息系统故障检测方法、装置及介质
  • 基于北斗定位的电力无人机性能测试方法及系统
技术分类

06120116505453