CN113037589A - 网关设备的压力测试方法、装置、测试平台及存储介质 - Google Patents
网关设备的压力测试方法、装置、测试平台及存储介质 Download PDFInfo
- Publication number
- CN113037589A CN113037589A CN202110225749.6A CN202110225749A CN113037589A CN 113037589 A CN113037589 A CN 113037589A CN 202110225749 A CN202110225749 A CN 202110225749A CN 113037589 A CN113037589 A CN 113037589A
- Authority
- CN
- China
- Prior art keywords
- pressure
- gateway device
- cloud platform
- maximum pressure
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
Abstract
本发明公开了一种网关设备的压力测试方法、装置、测试平台及存储介质。其中,方法包括:获取当前网关设备下所有网络设备的接口;获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令;将压力测试指令发送至云端平台,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令对网络设备进行控制;获取云端平台的接口调用日志信息和网关设备的内部进程消息队列日志信息,并生成测试报告。通过本方法,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
Description
技术领域
本发明涉及网关压力测试技术领域,尤其涉及一种网关设备的压力测试方法、装置、测试平台及存储介质。
背景技术
压力测试是软件产品测试中常用的方案,其原理主要通过对软件接口多并发调用,使接口达到一定量的负载,从而检测软件处于高并发、高使用率的情况下是否能够正常运行。
针对网关设备,目前的压力测试产品可以通过Jmeter(一种基于Java的压力测试工具)或LoadRunner(一种预测系统行为和性能的负载测试工具)等工具调用接口,直观的检测接口的并发情况,但是其无法获知网关设备内部消息队列的承压情况。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种网关设备的压力测试方法,该方法能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种网关设备的压力测试装置。
本发明的第四个目的在于提出一种网关设备测试平台。
为达到上述目的,本发明第一方面实施例提出了一种网关设备的压力测试方法,云端平台与网关设备进行通信以对网关设备进行控制,方法包括以下步骤:获取当前网关设备下所有网络设备的接口;获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令,其中,压力测试指令包括网络设备的接口指令和控制指令;将压力测试指令发送至云端平台,其中,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制;获取云端平台的接口调用日志信息和网关设备的内部进程消息队列日志信息,并根据接口调用日志信息和内部进程消息队列日志信息生成测试报告。
根据本发明实施例的网关设备的压力测试方法,通过获取当前网关设备下所有网络设备的接口,并获取网关设备的性能测试需求,以及根据性能测试需求生成压力测试指令,包括网络设备的接口指令和控制指令,而后将压力测试指令发送至云端平台,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制,最后获取云端平台的接口调用日志信息和网关设备的内部进程消息队列日志信息,并根据接口调用日志信息和内部进程消息队列日志信息生成测试报告。由此,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
根据本发明的一个实施例,获取当前网关设备下所有网络设备的接口,包括:接收用户登录网关设备的账号和密码;对账号和密码进行校验,并在校验通过后,通过获取账号下的网络设备的接口以获得当前网关设备下所有网络设备的接口,其中,预先通过账号将网络设备添加至网关设备下。
根据本发明的一个实施例,性能测试需求包括每次测试时的线程数和持续时间、测试循环次数、以及采用分布式压力测试时所需的负载机数量中的一种或多种。
根据本发明的一个实施例,上述的网关设备的压力测试方法还包括:利用随机模糊算法对测试报告中云端平台的接口调用结果进行分析,以获得云端平台的承压能力;利用随机模糊算法对测试报告中内部进程消息队列的数据收发结果进行分析,以获得内部进程消息队列的承压能力。
根据本发明的一个实施例,利用随机模糊算法对测试报告中云端平台的接口调用结果进行分析,以获得云端平台的承压能力,包括:从云端平台的接口调用结果中获取满足预设条件的多个样本;对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率;根据每个样本的概率和每个样本的可信性测度获取当前最大承压值;判断当前最大承压值是否大于之前计算获得的最大承压值;如果当前最大承压值大于等于之前计算获得的最大承压值,则根据当前最大承压值对之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤;如果当前最大承压值小于之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤;判断随机模拟次数是否达到预设次数;如果随机模拟次数未达到预设次数,则返回从云端平台的接口调用结果中获取满足预设条件的多个样本的步骤;如果随机模拟次数达到预设次数,则输出最终获得的最大承压值,以获得云端平台的承压能力。
根据本发明的一个实施例,按照如下方式从云端平台的接口调用结果中获取满足预设条件的多个样本:
其中,θk为第k个样本,Cr{θk}为样本θk的可信性测度,ε为大于零且无限接近于零的常量。
根据本发明的一个实施例,按照如下方式对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率:
g(θk)=Pos{f(ξ(θk))≤0}
其中,g(θk)为样本θk的概率,Pos{f(ξ(θk))≤0}为事件f(ξ(θk))≤0发生的概率,ξ(θk)为样本θk的随机模糊量,ξ(θk)服从正态分布,uk为ξ(θk)的数学期望值,σ为ξ(θk)的方差根。
根据本发明的一个实施例,按照如下方式根据每个样本的概率和每个样本的可信性测度获取当前最大承压值:
其中,r为当前最大承压值,vk=(2Cr{θk})∧1,Cr{θk}为所述样本θk的可信性测度,vk|g(θk)为从vk集合里面取g(θk)的值,α为预设概率。
根据本发明的一个实施例,利用随机模糊算法对测试报告中内部进程消息队列的数据收发结果进行分析,以获得内部进程消息队列的承压能力,包括:从内部进程消息队列的数据收发结果中获取满足预设条件的多个样本;对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率;根据每个样本的概率和每个样本的可信性测度获取当前最大承压值;判断当前最大承压值是否大于之前计算获得的最大承压值;如果当前最大承压值大于等于之前计算获得的最大承压值,则根据当前最大承压值对之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤;如果当前最大承压值小于之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤;判断随机模拟次数是否达到预设次数;如果随机模拟次数未达到预设次数,则返回从内部进程消息队列的数据收发结果中获取满足预设条件的多个样本的步骤;如果随机模拟次数达到预设次数,则输出最终获得的最大承压值,以获得内部进程消息队列的承压能力。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有网关设备的压力测试程序,该网关设备的压力测试程序被处理器执行时实现如第一方面实施例的网关设备的压力测试方法。
根据本发明实施例的计算机可读存储介质,通过上述的网关设备的压力测试方法,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
为达到上述目的,本发明第三方面实施例提出了一种网关设备的压力测试装置,云端平台与网关设备进行通信以对网关设备进行控制,装置包括:获取模块,用于获取当前网关设备下所有网络设备的接口;指令生成模块,用于获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令,其中,压力测试指令包括网络设备的接口指令和控制指令;控制模块,用于将压力测试指令发送至云端平台,其中,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制;控制模块,还用于获取云端平台的接口调用日志信息和网关设备的内部进程消息队列日志信息,并根据接口调用日志信息和内部进程消息队列日志信息生成测试报告。
根据本发明实施例的网关设备的压力测试装置,通过获取模块获取当前网关设备下所有网络设备的接口,并通过指令生成模块获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令,包括网络设备的接口指令和控制指令,以及通过控制模块将压力测试指令发送至云端平台,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制,并获取云端平台的接口调用网关设备的内部进程消息队列日志信息,以及根据接口调用日志和内部进程消息队列日志信息生成测试报告。由此,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
为达到上述目的,本发明第四方面实施例提出一种网关设备测试平台,包括如第三方面实施例的网关设备的压力测试装置。
根据本发明实施例的网关设备测试平台,通过上述的网关设备的压力测试装置,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本发明一个实施例的网关设备的压力测试方法的流程图;
图2为根据本发明一个实施例的网关设备的测试示意图;
图3为根据本发明一个实施例对云端平台接口调用结果进行随机模糊算法分析的流程图;
图4为根据本发明一个实施例对内部进程消息队列的数据收发结果进行随机模糊算法分析的流程图;
图5为根据本发明一个实施例的网关设备的压力测试装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例提出的网关设备的压力测试方法、装置、测试平台和存储介质。
图1为根据本发明一个实施例的网关设备的压力测试方法的流程图。如图1所示,该网关设备的压力测试方法包括以下步骤:
步骤S101,获取当前网关设备下所有网络设备的接口。
在本申请中,如图2所示,云端平台与网关设备进行通信以对网关设备进行控制,例如云端平台对网关设备进行参数设置、网络设备添加以及网络设备调用等。
在对网关设备进行压力测试时,可先按照图2所示搭建测试环境,并将测试用网络设备添加至网关设备下。可选的,可先建立工具平台与云端平台和网关设备的通信连接,其中,网关设备和工具平台处于同一局域网内或者利用远程调试技术将工具平台与网关设备进行通信连接,同时建立移动终端与云端平台的通信连接,在通信连接建立成功后,通过移动终端将测试用网络设备添加至网关设备下。
具体来说,在通信连接建立成功后,可先将网关设备的工作模式切换至调试模式。例如,测试人员通过移动终端(内置有相关应用程序)进行网关设备账号登录,云端平台根据账号登录结果进行安全授权确认,以确认当前账号是否有调试权限,如果有,则安全授权通过;否则,安全授权不通过,此时禁止用户进行网关设备的压力测试。在安全授权通过后,测试人员可通过移动终端发送调试模式指令至云端平台,云端平台在接收到调试模式指令后,将该指令发送至网关设备,以使网关设备由其它模式切换至调试模式。在网关设备完成模式切换后,测试人员可通过移动终端网关网联添加测试用网络设备,例如,测试人员通过移动终端将各种开关面板的标识信息发送至云端平台,由云端平台将各种开关面板添加至网关设备下,其中,开关面板的个数和类型可根据测试需求设置,如当网关设备为zigbee网关设备时,开关面板为zigbee开关面板。
在将测试用网络设备添加至网关设备下后,启动工具平台工作,此时工具平台获取当前网关设备下所有网络设备的接口。
可选的,获取当前网关设备下所有网络设备的接口,包括:接收用户登录网关设备的账号和密码;对账号和密码进行校验,并在校验通过后,通过获取账号下的网络设备的接口以获得当前网关设备下所有网络设备的接口,其中,预先通过账号将网络设备添加至网关设备下。
也就是说,使用已添加网络设备的账号和密码登录工具平台,形成安全校验,并通过工具平台自动搜索出该账号下的全部网络设备,以获得当前网关设备下的所有网络设备。
具体来说,在测试人员通过移动终端进行网关设备账号登录,并通过该账号将测试用网络设备添加至网关设备下后,测试人员可在工具平台上输入该账号和密码以进行工具平台登录,工具平台在接收到账号和密码后,对其进行校验,并在校验通过后,获取该账号下的所有网络设备,从而获得当前网关设备下的所有网络设备。具体可以是,工具平台通过查询云端平台接口(如,/device/lis)将每个网络设备的数据全部统一导出,该数据包括每个网络设备的接口信息。进一步地,在获得当前网关设备下的所有网络设备后,可将所有网络设备的打开操作打包整合成一个场景接口,关闭操作打包整合成另一个场景接口,从而形成两个接口。例如,当网络设备为开关面板时,工具平台可从云端平台数据设备列表中搜索出全部开关面板的开关接口,具体的,每个开关面板上报信息时均有一个model标志,根据该标志等于light即可搜索出全部开关面板的开关接口,而后将全部接口整合成灯光全开场景和灯光全关场景两个接口,为后续压力测试做准备。
步骤S102,获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令,其中,压力测试指令包括网络设备的接口指令和控制指令。
其中,性能测试需求包括每次测试时的线程数和持续时间、测试循环次数、以及采用分布式压力测试时所需的负载机数量中的一种或多种。
具体来说,可由测试人员按照性能测试需求标准,在工具平台上输入进行压力测试的线程数(相当于用户访问数)、持续时间、循环次数等信息,以及是否需要使用分布式压力测试,若需要使用分布式压力测试,则输入负载机的数量等信息。工具平台在接收到上述性能测试需求后,可调用相应的服务器(或直接内部处理),对步骤S101中整理好的网络设备的两个接口发起压力测试指令。
步骤S103,将压力测试指令发送至云端平台,其中,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制。
步骤S104,获取云端平台的接口调用日志信息和网关设备的内部进程消息队列日志信息,并根据接口调用日志信息和内部进程消息队列日志信息生成测试报告。
云端平台在接收到压力测试指令后,根据接口指令进行接口调用,以将控制指令发送给网关设备,并将接口调用数据如接口调用日志信息实时传输到工具平台上。网关设备在接收到控制指令后,根据控制指令通过内部进程消息队列(包括发送进程和接收进程)对相应网络设备进行控制,具体地,网关设备按照队列的方式逐个对网络设备进行控制,并将内部进程消息队列数据(包括发送进程数据和接收进程数据)如内部进程消息队列日志信息实时传输到工具平台上。
工具平台在接收到云端平台的接口调用数据和网关设备的内部进程消息队列数据后,对这些数据进行实时存储和展示,以便实时可见相对应的测试结果,并在压力测试结束后生成相应的测试报告并导出。其中,测试报告可包括云端平台的接口调用成功数量或失败数量,以及网关设备的收发消息成功率和通过率,需要说明的是,进程消息队列每接收一条指令并成功发送,则认定此操作为成功操作。
由此,基于本发明的网关设备的压力测试方法,通过一个工具平台即可同时获得云端平台接口数据和网关设备内部进程消息队列数据,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
在本发明的一些实施例中,上述的网关设备的压力测试方法还包括:利用随机模糊算法对测试报告中云端平台的接口调用结果进行分析,以获得云端平台的承压能力;利用随机模糊算法对测试报告中内部进程消息队列的数据收发结果进行分析,以获得内部进程消息队列的承压能力。
本实施例中,将基于不确定的失败阈值进行建模,利用随机模糊算法对测试结果进行可靠性分析,最后对云端平台接口调用以及网关设备内部进程消息队列收发数据所能承受压力的大小进行预测估算。
此处需要说明的是,本申请仅对涉及到的随机模糊算法原理做简单介绍,而不对随机模糊算法的推算过程做详细的解释。
具体地,设Pos{X}表征事件X发生的可能性,θ表示非空集合,p(θ)表示原集合中所有的子集(包括全集和空集)构成的集族(即非空集合θ的幂集),当Pos满足如下所示四项条件中的1)、2)和3)时,则认为Pos为概率测度,(θ,p(θ),Pos)为概率空间:
Pos{θ}=1;
Pos{Φ}=0;
在前文所述假设仍成立的情况下,必要性测度与可信性测度的定义为:
必要性测度是当(θ,p(θ),Pos)为概率空间,且当X是p(θ)中的一个元素时,那么认为事件X的必要性测度为Nec{X},其表达式为:
Nec{X}=1-Pos{Xc} (1)
可信性测度为可信性表征可能性与必要性的平均值,则当(θ,p(θ),Pos)为概率空间,且当集合X是p(θ)中的一个元素时,那么事件X的可信性测度为Cr{X},其表达式为:
在一个实施例中,如图3所示,利用随机模糊算法对测试报告中云端平台的接口调用结果进行分析,以获得云端平台的承压能力,包括:
步骤S201,从云端平台的接口调用结果中获取满足预设条件的多个样本。
具体的,可先获取测试报告中云端平台的接口调用成功数量或失败数量,并将承压值HI的初值赋为0,以及将模拟次数上限设定为N。而后,均匀地从云端平台接口调用结果即接口调用成功数量或失败数量中获取满足如下所示条件的多个样本θk;
其中,θk为第k个样本,Cr{θk}为样本θk的可信性测度,ε为大于零且无限接近于零的常量。
步骤S202,对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率。
可选的,可以按照如下方式对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率:
g(θk)=Pos{f(ξ(θk))≤0} (4)
其中,g(θk)为样本θk的概率,Pos{f(ξ(θk))≤0}为事件f(ξ(θk))≤0发生的概率,ξ(θk)为样本θk的随机模糊量,ξ(θk)服从正态分布,uk为ξ(θk)的数学期望值,σ为ξ(θk)的方差根。
步骤S203,根据每个样本的概率和每个样本的可信性测度获取当前最大承压值。
可选的,按照如下方式根据每个样本的概率和每个样本的可信性测度获取当前最大承压值:
其中,r为当前最大承压值,vk=(2Cr{θk})∧1,Cr{θk}为样本θk的可信性测度,vk|g(θk)为从vk集合里面取g(θk)的值,α为预设概率。
需要说明的是,通过上述公式(2)获得的r为一个范围,在此处需进一步获取该范围的最大值以作为当前最大承压值。
步骤S204,判断当前最大承压值是否大于之前计算获得的最大承压值。
需要说明的是,在首次循环判断上述所得的当前最大承压值与之前计算获得的最大承压值的大小时,将承压值HI的初值零当做之前计算获得的最大承压值。
步骤S205,如果当前最大承压值大于等于之前计算获得的最大承压值,则根据当前最大承压值对之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤即步骤S207。
具体的,如果当前最大承压值大于等于之前计算获得的最大承压值,即r≥HI,则将当前最大承压值r赋值到HI上。
步骤S206,如果当前最大承压值小于之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤即步骤S207。
步骤S207,判断随机模拟次数是否达到预设次数。
步骤S208,如果随机模拟次数未达到预设次数,则返回从云端平台的接口调用结果中获取满足预设条件的多个样本的步骤即步骤S202。
步骤S209,如果随机模拟次数达到预设次数,则输出最终获得的最大承压值,以获得云端平台的承压能力。
根据本发明实施例的对云端平台接口调用结果进行随机模糊算法分析,可以基于测试报告利用随机模糊算法自动生成云端平台接口承压能力。
在一个实施例中,如图4所示,利用随机模糊算法对测试报告中内部进程消息队列的数据收发结果进行分析,以获得内部进程消息队列的承压能力,包括:
步骤S301,从内部进程消息队列的数据收发结果中获取满足预设条件的多个样本。
步骤S302,对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率。
步骤S303,根据每个样本的概率和每个样本的可信性测度获取当前最大承压值。
步骤S304,判断当前最大承压值是否大于之前计算获得的最大承压值。
步骤S305,如果当前最大承压值大于等于之前计算获得的最大承压值,则根据当前最大承压值对之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤。
步骤S306,如果当前最大承压值小于之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤。
步骤S307,判断随机模拟次数是否达到预设次数。
步骤S308,如果随机模拟次数未达到预设次数,则返回从内部进程消息队列的数据收发结果中获取满足预设条件的多个样本的步骤。
步骤S309,如果随机模拟次数达到预设次数,则输出最终获得的最大承压值,以获得内部进程消息队列的承压能力。
需要说明的是,关于本申请中对于内部进程消息队列的数据收发结果进行随机模糊算法分析方法的具体描述,请参考本申请中对于云端平台接口调用结果进行随机模糊算法分析的的具体描述,具体这里不再赘述。
根据本发明实施例的对内部进程消息队列的数据收发结果进行随机模糊算法分析,可以基于测试报告利用随机模糊算法自动生成内部进程消息队列的承压能力。
综上所述,根据本发明实施例的网关设备的压力测试方法,不仅能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,并将云端平台接口数据和网关设备内部进程消息队列数据实时展示,而且可以基于获得的数据确定出云端平台和网关设备的承压情况,对云端平台接口和网关设备所能承受压力大小做出更加精准的预测估算,得到更全面直观的测试结果,对产品进行更全面评估。
图5为根据本发明一个实施例的网关设备的压力测试装置的结构示意图。如图5所示,该网关设备的压力测试装置40包括:获取模块401、指令生成模块402以及控制模块403。
其中,获取模块401用于获取当前网关设备下所有网络设备的接口。指令生成模块402用于获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令,其中,压力测试指令包括网络设备的接口指令和控制指令。控制模块403用于将压力测试指令发送至云端平台,其中,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制。进一步的,控制模块403还用于获取云端平台的接口调用日志信息和网关设备的内部进程消息队列日志信息,并根据接口调用日志信息和内部进程消息队列日志信息生成测试报告。
在一些实施例中,获取模块401在获取当前网关设备下所有网络设备的接口时,具体用于:接收用户登录网关设备的账号和密码;对账号和密码进行校验,并在校验通过后,通过获取账号下的网络设备的接口以获得当前网关设备下所有网络设备的接口,其中,预先通过账号将网络设备添加至网关设备下。
在一些实施例中,性能测试需求包括每次测试时的线程数和持续时间、测试循环次数、以及采用分布式压力测试时所需的负载机数量中的一种或多种。
在一些实施例中,上述的网关设备的压力测试装置还包括:分析模块(图中未具体示出),利用随机模糊算法对测试报告中云端平台的接口调用结果进行分析,以获得云端平台的承压能力,并利用随机模糊算法对测试报告中内部进程消息队列的数据收发结果进行分析,以获得内部进程消息队列的承压能力。
在一些实施例中,分析模块在利用随机模糊算法对测试报告中云端平台的接口调用结果进行分析,以获得云端平台的承压能力时,具体用于:从云端平台的接口调用结果中获取满足预设条件的多个样本;对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率;根据每个样本的概率和每个样本的可信性测度获取当前最大承压值;判断当前最大承压值是否大于之前计算获得的最大承压值;如果当前最大承压值大于等于之前计算获得的最大承压值,则根据当前最大承压值对之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤;如果当前最大承压值小于之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤;判断随机模拟次数是否达到预设次数;如果随机模拟次数未达到预设次数,则返回从云端平台的接口调用结果中获取满足预设条件的多个样本的步骤;如果随机模拟次数达到预设次数,则输出最终获得的最大承压值,以获得云端平台的承压能力。
在一些实施例中,分析模块具体用于按照如下方式从云端平台的接口调用结果中获取满足预设条件的多个样本:
其中,θk为第k个样本,Cr{θk}为样本θk的可信性测度,ε为大于零且无限接近于零的常量。
在一些实施例中,分析模块具体用于按照如下方式对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率:
g(θk)=Pos{f(ξ(θk))≤0}
其中,g(θk)为样本θk的概率,Pos{f(ξ(θk))≤0}为事件f(ξ(θk))≤0发生的概率,ξ(θk)为样本θk的随机模糊量,ξ(θk)服从正态分布,uk为ξ(θk)的数学期望值,σ为ξ(θk)的方差根。
在一些实施例中,分析模块具体用于按照如下方式根据每个样本的概率和每个样本的可信性测度获取当前最大承压值:
其中,r为当前最大承压值,vk=(2Cr{θk})∧1,Cr{θk}为样本θk的可信性测度,vk|g(θk)为从vk集合里面取g(θk)的值,α为预设概率。
在一些实施例中,分析模块在利用随机模糊算法对测试报告中内部进程消息队列的数据收发结果进行分析,以获得内部进程消息队列的承压能力时,具体用于:从内部进程消息队列的数据收发结果中获取满足预设条件的多个样本;对多个样本中的每个样本进行随机模拟计算以获得每个样本的概率;根据每个样本的概率和每个样本的可信性测度获取当前最大承压值;判断当前最大承压值是否大于之前计算获得的最大承压值;如果当前最大承压值大于等于之前计算获得的最大承压值,则根据当前最大承压值对之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤;如果当前最大承压值小于之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤;判断随机模拟次数是否达到预设次数;如果随机模拟次数未达到所述预设次数,则返回从内部进程消息队列的数据收发结果中获取满足预设条件的多个样本的步骤;如果随机模拟次数达到预设次数,则输出最终获得的最大承压值,以获得内部进程消息队列的承压能力。
需要说明的是,本申请中关于网关设备的压力测试装置的描述,请参考本申请中关于网关设备的压力测试方法的描述,具体这里不再赘述。
根据本发明实施例的网关设备的压力测试装置,通过获取模块获取当前网关设备下所有网络设备的接口,并通过指令生成模块获取网关设备的性能测试需求,并根据性能测试需求生成压力测试指令,包括网络设备的接口指令和控制指令,以及通过控制模块将压力测试指令发送至云端平台,云端平台根据接口指令进行接口调用以将控制指令发送至网关设备,以使网关设备根据控制指令通过内部进程消息队列对相应网络设备进行控制,并获取云端平台的接口调用网关设备的内部进程消息队列日志信息,以及根据接口调用日志和内部进程消息队列日志信息生成测试报告。由此,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
另外,本发明的实施例还提供一种计算机可读存储介质,其上存储有网关设备的压力测试程序,该网关设备的压力测试程序被处理器执行时实现如前述实施例所述的网关设备的压力测试方法。
根据本发明实施例的计算机可读存储介质,通过上述的网关设备的压力测试方法,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
此外,本发明的实施例还提供一种网关设备测试平台,包括如前述实施例的网关设备的压力测试装置。
根据本发明实施例的网关设备测试平台,通过上述的网关设备的压力测试装置,能够同时获得云端平台接口数据和网关设备内部进程消息队列数据,进而基于获得的数据能够同时确定出云端平台和网关设备的承压情况,有效弥补了目前压力测试产品仅能对接口情况进行直观检测的缺陷。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种网关设备的压力测试方法,其特征在于,云端平台与所述网关设备进行通信以对所述网关设备进行控制,所述方法包括以下步骤:
获取当前所述网关设备下所有网络设备的接口;
获取所述网关设备的性能测试需求,并根据所述性能测试需求生成压力测试指令,其中,所述压力测试指令包括所述网络设备的接口指令和控制指令;
将所述压力测试指令发送至所述云端平台,其中,所述云端平台根据所述接口指令进行接口调用以将所述控制指令发送至所述网关设备,以使所述网关设备根据所述控制指令通过内部进程消息队列对相应网络设备进行控制;
获取所述云端平台的接口调用日志信息和所述网关设备的内部进程消息队列日志信息,并根据所述接口调用日志信息和所述内部进程消息队列日志信息生成测试报告。
2.根据权利要求1所述的网关设备的压力测试方法,其特征在于,所述获取当前所述网关设备下所有网络设备的接口,包括:
接收用户登录所述网关设备的账号和密码;
对所述账号和密码进行校验,并在校验通过后,通过获取所述账号下的网络设备的接口以获得当前所述网关设备下所有网络设备的接口,其中,预先通过所述账号将所述网络设备添加至所述网关设备下。
3.根据权利要求1所述的网关设备的压力测试方法,其特征在于,所述性能测试需求包括每次测试时的线程数和持续时间、测试循环次数、以及采用分布式压力测试时所需的负载机数量中的一种或多种。
4.根据权利要求1-3中任一项所述的网关设备的压力测试方法,其特征在于,还包括:
利用随机模糊算法对所述测试报告中所述云端平台的接口调用结果进行分析,以获得所述云端平台的承压能力;
利用随机模糊算法对所述测试报告中所述内部进程消息队列的数据收发结果进行分析,以获得所述内部进程消息队列的承压能力。
5.根据权利要求4所述的网关设备的压力测试方法,其特征在于,所述利用随机模糊算法对所述测试报告中所述云端平台的接口调用结果进行分析,以获得所述云端平台的承压能力,包括:
从所述云端平台的接口调用结果中获取满足预设条件的多个样本;
对所述多个样本中的每个样本进行随机模拟计算以获得所述每个样本的概率;
根据所述每个样本的概率和所述每个样本的可信性测度获取当前最大承压值;
判断所述当前最大承压值是否大于之前计算获得的最大承压值;
如果所述当前最大承压值大于等于所述之前计算获得的最大承压值,则根据所述当前最大承压值对所述之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤;
如果所述当前最大承压值小于所述之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤;
判断随机模拟次数是否达到预设次数;
如果所述随机模拟次数未达到所述预设次数,则返回从所述云端平台的接口调用结果中获取满足预设条件的多个样本的步骤;
如果所述随机模拟次数达到所述预设次数,则输出最终获得的最大承压值,以获得所述云端平台的承压能力。
9.根据权利要求4所述的网关设备的压力测试方法,其特征在于,所述利用随机模糊算法对所述测试报告中所述内部进程消息队列的数据收发结果进行分析,以获得所述内部进程消息队列的承压能力,包括:
从所述内部进程消息队列的数据收发结果中获取满足预设条件的多个样本;
对所述多个样本中的每个样本进行随机模拟计算以获得所述每个样本的概率;
根据所述每个样本的概率和所述每个样本的可信性测度获取当前最大承压值;
判断所述当前最大承压值是否大于之前计算获得的最大承压值;
如果所述当前最大承压值大于等于所述之前计算获得的最大承压值,则根据所述当前最大承压值对所述之前计算获得的最大承压值进行更新,并进入判断随机模拟次数是否达到预设次数的步骤;
如果所述当前最大承压值小于所述之前计算获得的最大承压值,则直接进入判断随机模拟次数是否达到预设次数的步骤;
判断随机模拟次数是否达到预设次数;
如果所述随机模拟次数未达到所述预设次数,则返回从所述内部进程消息队列的数据收发结果中获取满足预设条件的多个样本的步骤;
如果所述随机模拟次数达到所述预设次数,则输出最终获得的最大承压值,以获得所述内部进程消息队列的承压能力。
10.一种计算机可读存储介质,其特征在于,其上存储有网关设备的压力测试程序,该网关设备的压力测试程序被处理器执行时实现如权利要求1-9中任一项所述的网关设备的压力测试方法。
11.一种网关设备的压力测试装置,其特征在于,云端平台与所述网关设备进行通信以对所述网关设备进行控制,所述装置包括:
获取模块,用于获取当前所述网关设备下所有网络设备的接口;
指令生成模块,用于获取所述网关设备的性能测试需求,并根据所述性能测试需求生成压力测试指令,其中,所述压力测试指令包括所述网络设备的接口指令和控制指令;
控制模块,用于将所述压力测试指令发送至所述云端平台,其中,所述云端平台根据所述接口指令进行接口调用以将所述控制指令发送至所述网关设备,以使所述网关设备根据所述控制指令通过内部进程消息队列对相应网络设备进行控制;
所述控制模块,还用于获取所述云端平台的接口调用日志信息和所述网关设备的内部进程消息队列日志信息,并根据所述接口调用日志信息和所述内部进程消息队列日志信息生成测试报告。
12.一种网关设备测试平台,其特征在于,包括如权利要求11所述的网关设备的压力测试装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110225749.6A CN113037589B (zh) | 2021-03-01 | 2021-03-01 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110225749.6A CN113037589B (zh) | 2021-03-01 | 2021-03-01 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113037589A true CN113037589A (zh) | 2021-06-25 |
CN113037589B CN113037589B (zh) | 2022-04-22 |
Family
ID=76466305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110225749.6A Active CN113037589B (zh) | 2021-03-01 | 2021-03-01 | 网关设备的压力测试方法、装置、测试平台及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113037589B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113624482A (zh) * | 2021-07-12 | 2021-11-09 | 广东睿住智能科技有限公司 | 水阀的性能测试方法、装置、电子设备及存储介质 |
CN113709793A (zh) * | 2021-08-10 | 2021-11-26 | 广东睿住智能科技有限公司 | 智能灯的配网测试方法和系统 |
CN114153679A (zh) * | 2021-12-08 | 2022-03-08 | 南方电网数字电网研究院有限公司 | 一种基于模拟环境的变电网关附属设备测试方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868573A (zh) * | 2012-09-12 | 2013-01-09 | 北京航空航天大学 | Web服务负载云测试方法和装置 |
US20180081730A1 (en) * | 2016-09-20 | 2018-03-22 | Tata Consultancy Services Limited | SYSTEMS AND METHODS FOR PREDICTING PERFORMANCE OF APPLICATIONS ON AN INTERNET OF THINGS (IoT) PLATFORM |
CN109491894A (zh) * | 2018-10-25 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 一种接口测试的方法及设备 |
CN110245078A (zh) * | 2019-05-24 | 2019-09-17 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
CN110971478A (zh) * | 2018-09-30 | 2020-04-07 | 北京奇虎科技有限公司 | 云平台服务性能的压测方法、装置及计算设备 |
CN111625469A (zh) * | 2020-06-11 | 2020-09-04 | 深圳前海微众银行股份有限公司 | 压力测试方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-03-01 CN CN202110225749.6A patent/CN113037589B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868573A (zh) * | 2012-09-12 | 2013-01-09 | 北京航空航天大学 | Web服务负载云测试方法和装置 |
US20180081730A1 (en) * | 2016-09-20 | 2018-03-22 | Tata Consultancy Services Limited | SYSTEMS AND METHODS FOR PREDICTING PERFORMANCE OF APPLICATIONS ON AN INTERNET OF THINGS (IoT) PLATFORM |
CN110971478A (zh) * | 2018-09-30 | 2020-04-07 | 北京奇虎科技有限公司 | 云平台服务性能的压测方法、装置及计算设备 |
CN109491894A (zh) * | 2018-10-25 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 一种接口测试的方法及设备 |
CN110245078A (zh) * | 2019-05-24 | 2019-09-17 | 平安国际智慧城市科技股份有限公司 | 一种软件的压力测试方法、装置、存储介质和服务器 |
CN111625469A (zh) * | 2020-06-11 | 2020-09-04 | 深圳前海微众银行股份有限公司 | 压力测试方法、装置、设备及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113624482A (zh) * | 2021-07-12 | 2021-11-09 | 广东睿住智能科技有限公司 | 水阀的性能测试方法、装置、电子设备及存储介质 |
CN113709793A (zh) * | 2021-08-10 | 2021-11-26 | 广东睿住智能科技有限公司 | 智能灯的配网测试方法和系统 |
CN114153679A (zh) * | 2021-12-08 | 2022-03-08 | 南方电网数字电网研究院有限公司 | 一种基于模拟环境的变电网关附属设备测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113037589B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037589B (zh) | 网关设备的压力测试方法、装置、测试平台及存储介质 | |
CN107294808B (zh) | 接口测试的方法、装置和系统 | |
CN112019401B (zh) | 一种车联网应用安全测试方法、装置、系统和电子设备 | |
US11144632B2 (en) | Methods and apparatuses for validating supply chain for electronic devices using side-channel information in a signature analysis | |
JP6932494B2 (ja) | 集約されたケーブル試験結果データを適用するためのシステム及び方法、並びにクラウドベースのコンピュータサーバ | |
US10872140B2 (en) | Methods and apparatuses for validating supply chain for electronic devices using side-channel information in a signature analysis | |
KR102648764B1 (ko) | 전지 성능 평가 방법 및 전지 성능 평가 장치 | |
KR20090038189A (ko) | 단말 사용자 관리 장치 및 방법 | |
CN115529258B (zh) | 一种快速定位带宽最优值的方法、系统、装置及介质 | |
CN116303069A (zh) | 一种车载终端的测试方法、装置、上位机、系统及介质 | |
CN115952098A (zh) | 一种性能测试调优方案推荐方法及系统 | |
CN114610599A (zh) | 测试方法以及系统 | |
CN109116835A (zh) | 一种船用功能插件测试方法及装置 | |
CN110865939B (zh) | 应用程序质量监测方法、装置、计算机设备和存储介质 | |
CN105740822B (zh) | 一种机械故障诊断优化方法及系统 | |
CN114021126A (zh) | 一种侧信道检测硬件木马的方法、装置及计算机 | |
CN112307271A (zh) | 一种配电自动化系统遥控业务的安全监测方法及装置 | |
CN106979794B (zh) | 传感器测试方法及装置 | |
CN116861428B (zh) | 一种基于关联文件的恶意检测方法、装置、设备及介质 | |
CN111817908B (zh) | 基于强化学习的节点渗透测试方法、设备和存储介质 | |
CN117651003B (zh) | Erp信息传输安全监控系统 | |
CN113010409B (zh) | 智能合约测试方法及装置、电子设备、存储介质 | |
CN113886780B (zh) | 客户信息校验方法、装置、介质及电子设备 | |
CN117294833A (zh) | 摄像头芯片的测试方法及相关设备 | |
CN115913697A (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 | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Pressure testing methods, devices, testing platforms, and storage media for gateway devices Effective date of registration: 20230914 Granted publication date: 20220422 Pledgee: Industrial and Commercial Bank of China Limited Foshan Beijiao sub branch Pledgor: Guangdong Ruizhu Intelligent Technology Co.,Ltd. Registration number: Y2023980056856 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |