CN113688041B - 压力测试方法、系统、存储介质及终端 - Google Patents
压力测试方法、系统、存储介质及终端 Download PDFInfo
- Publication number
- CN113688041B CN113688041B CN202110976083.8A CN202110976083A CN113688041B CN 113688041 B CN113688041 B CN 113688041B CN 202110976083 A CN202110976083 A CN 202110976083A CN 113688041 B CN113688041 B CN 113688041B
- Authority
- CN
- China
- Prior art keywords
- random number
- module
- functional
- function
- modules
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明提供了一种压力测试方法、系统、存储介质及终端,方法包括:根据设备标识确定与待测设备对应的功能模块信息,功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值;针对M个功能模块中的任意一个功能模块,计算功能模块的预设占比值与M个功能模块的预设占比值的和之间的比值,得到功能模块的实际占比值;根据M个功能模块的实际占比值,确定每个功能模块对应的随机数区间;接收来自测试主机的随机事件,随机事件包括随机数;执行随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果,本发明的方法能够有效适应不同场景下对设备的功能测试,提高测试效果。
Description
技术领域
本发明涉及设备测试技术领域,尤其涉及一种压力测试方法、系统、存储介质及终端。
背景技术
传统意义上的随机压力测试(monkey testing)是安卓(Android)中的一个命令行工具,可以运行在模拟器和实际设备里,它通过向系统发送伪随机的用户事件流(比如按键输入,触摸屏输入,手势入等)实现对正在开发的应用程序进行压力测试,通过随机事件尽可能的覆盖到所有可能出现的情况,在测试领域通常指代任何人任何长时间的操作,系统都不会出错,搞怪测试(monkey testing)是一种为了测试软件的稳定性,健壮性的有效快速的方法。
而对于搭载嵌入式实时系统的物联网设备而言,在应用处理器(ApplicationProcessor,AP)以迷你实时操作系统内核(Free Real-time Operating System,FreeRTOS)为内核的实时操作系统为例,操作系统内核(kernel)是作为最底层的业务,影响整个AP最核心的模块,对平台系统稳定性的影响最大,因此平台系统稳定性的测试重点就围绕kernel的主要业务流程开展设计。而FreeRTOS是一个迷你的实时操作系统内核,作为一个轻量级的操作系统,功能包括:任务管理、线程通信、内存管理、时间管理、软件定时器等,线程通信比如信号量和消息队列等,可基本满足较小系统的需要。平台的稳定性测试围绕FreeRTOS的特点开展设计,从系统测试角度,直接可以通过各种平台业务场景去覆盖,由此可以设计一种基于RTOS的测试方法,通过不同的平台场景去覆盖系统功能,测试系统的稳定性和健壮性。
在设备研发项目周期中,平台测试会针对嵌入式设备各个模块分别进行功能测试和压力测试,保证各模块功能达标,但是目前的测试过程容易忽略对各个模块功能组合随机调用的场景覆盖,并且针对不同产品形态的设备,其关键用户场景也会有所差异,显然现有的固定组合的测试无法满足实际测试要求。
因此,有必要提供一种新型的压力测试方法、系统、存储介质及终端以解决现有技术中存在的上述问题。
发明内容
本发明的目的在于提供一种压力测试方法、系统、存储介质及终端,有效适应不同场景下对设备的功能测试。
第一方面,为实现上述目的,本发明的所述一种压力测试方法,所述方法包括:
根据设备标识确定与待测设备对应的功能模块信息,所述功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值,其中,功能模块被调用次数越多,预设占比值越大,M为正整数;
针对M个功能模块中的任意一个功能模块,计算所述功能模块的预设占比值与所述M个功能模块的预设占比值的和之间的比值,得到所述功能模块的实际占比值;
根据所述M个功能模块的实际占比值,确定每个功能模块对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大;
接收来自测试主机的随机事件,所述随机事件包括随机数;
执行所述随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果。
本发明所述的压力测试方法的有益效果在于:在不同的测试场景下,通过确定与待测设备对应的功能模块信息,接收来自测试主机的随机事件,并执行所述随机事件的随机数落入的随机数区间对应的功能模块,获取所述功能模块的调用结果,从而完成在不同测试场景下对待测设备的功能模块的测试功能,不仅可以自由匹配不同场景下的功能测试,自由组合功能测试,而且能够对测试后的功能模块的调用结果进行记录,能够充分适应不同场景下的测试要求。
在一些可能的实施方式中,所述随机事件是通过伪随机函数生成的,所述随机数落入所述随机数整体区间;所述随机事件用于调用所述随机数所落入的随机数区间对应的功能模块。
在一些可能的实施方式中,获取所述功能模块的调用结果之后,还包括:
重复接收来自测试主机的随机事件,执行所述随机数所落入的随机数区间对应的功能模块;
直至功能模块总出错的次数达到出错阈值,或者功能模块的执行次数达到执行阈值。其有益效果在于:通过不断重复接收来自测试主机的随机事件,以对各个模块进行充分测试,以保证最终测试结果的准确性。
在一些可能的实施方式中,不同的所述功能模块对应的随机数区间不重叠,M个功能模块对应的随机数区间的并集等于所述随机数整体区间。其有益效果在于:使得M个功能模块之间不会出现相互重叠,保证在根据随机数执行功能模块的时候,不会出现单个随机数同时对应多个功能模块而出现干扰的情况。
在一些可能的实施方式中,所述调用结果还包括出错时间和出错模块名称的至少一种。其有益效果在于:便于记录功能模块执行时的出错时间以及出错的功能模块的名称。
在一些可能的实施方式中,在执行所述获取所述功能模块的调用结果之后,所述方法还包括:
统计所述功能模块的错误累计次数和测试累计次数,根据所述功能模块的所述错误累计次数和所述测试累计次数之间的比值,计算所述功能模块的通过率。其有益效果在于:通过计算每个功能模块的错误累计次数和测试累计次数,即可计算得到功能模块的通过率,从而准确了解到各个功能模块的测试情况。
第二方面,本发明还公开了一种压力测试系统,包括:
信息确认模块,用于确定与待测设备对应的功能模块信息,所述功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值,其中,功能模块被调用次数越多,预设占比值越大,M为正整数;
占比计算模块,用于针对M个功能模块中的任意一个功能模块,计算所述功能模块的预设占比值与所述M个功能模块的预设占比值的和之间的比值,得到所述功能模块的实际占比值;
区间确定模块,用于根据所述M个功能模块的实际占比值,确定每个功能模块对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大;
接收模块,用于接收来自测试主机的随机事件,所述随机事件包括随机数;
执行测试模块,用于执行所述随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果。
本发明所述的压力测试系统的有益效果在于:在不同的测试场景下,通过信息确认模块确定与待测设备对应的功能模块信息,在接收模块接收来自测试主机的随机事件之后,执行测试模块执行所述随机事件的随机数落入的随机数区间对应的功能模块,获取所述功能模块的调用结果,从而完成在不同测试场景下对待测设备的功能模块的测试功能,不仅可以自由匹配不同场景下的功能测试,自由组合功能测试,而且能够对测试后的功能模块的调用结果进行记录,能够充分适应不同场景下的测试要求。
在一些可能的实施方式中,所述执行测试模块还用于:
重复接收来自测试主机的随机事件,执行所述随机数所落入的随机数区间对应的功能模块;
直至功能模块总出错的次数达到出错阈值,或者功能模块的执行次数达到执行阈值。
在一些可能的实施方式中,所述执行测试模块还用于:
统计所述功能模块的错误累计次数和测试累计次数,根据所述功能模块的所述错误累计次数和所述测试累计次数之间的比值,计算所述功能模块的通过率。
第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
第四方面,本发明公开了一种终端,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的方法。
第三方面和第四方面的有益效果参见第一方面、第二方面有益效果的描述,此处不再赘述。
附图说明
图1为本发明实施例的压力测试方法的流程图;
图2为本发明实施例的压力测试方法的测试场景结构框图;
图3为本发明实施例的压力测试系统的结构框图;
图4为本发明实施例的终端设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
在详细介绍本发明实施例之前,以下先对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
Monkey(捣蛋)测试原理:Monkey是Android(安卓)中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
针对现有技术存在的问题,本发明的实施例提供了一种压力测试方法,如图1所示,所述方法包括如下步骤:
S101、确定与待测设备对应的功能模块信息,所述功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值,其中,功能模块被调用次数越多,预设占比值越大,M为正整数;
S102、针对M个功能模块中的任意一个功能模块,计算所述功能模块的预设占比值与所述M个功能模块的预设占比值的和之间的比值,得到所述功能模块的实际占比值;
S103、根据所述M个功能模块的实际占比值,确定每个功能模块对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大;
S104、接收来自测试主机的随机事件,所述随机事件包括随机数;
S105、执行所述随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果。
本发明的测试场景如图2所示,在上述测试方法中,针对在不同场景下的不同的待测设备,在确定了待测设备对应的功能模块信息之后,功能模块信息包括待测设备的M个功能模块的名称和每个功能模块对应的预设占比值,根据每一个功能模块的预设占比值与M个功能模块的预审占比值的和之间的比值,从而得到每一个功能模块的实际占比值,由于每一个功能模块在测试过程中需要被测试的概率越高,则被调用的次数就越多,预设占比值也就越大,从而计算出来的每一个功能模块的实际占比值也越大,之后根据每一个功能模块的实际占比值确定出每个功能模块对应的随机数区间,当待测设备接收到来自测试主机的随机事件的时候,根据随机数的大小确定随机数落在哪个随机数区间之中,之后对应执行该随机数区间对应的功能模块,并获取该功能模块执行时的调用结果,从而完成对待测设备的功能测试。
由于在上述的测试过程中,功能模块的名称和预设占比值是在不同的场景下对应确定的,使得上述测试方法能够有效应对不同的测试场景,自由组合功能测试,对不同测试场景下的待测设备进行压力测试,以适应不同测试场景的测试要求。
在一些实施例中,所述随机事件是通过伪随机函数生成的,所述随机数落入所述随机数整体区间;所述随机事件用于调用所述随机数所落入的随机数区间对应的功能模块。
在通过伪随机函数生成随机事件之后,根据随机事件的随机数落在随机数整体区间的范围,确定随机数对应的随机数区间所对应的功能模块,使得待测设备对应执行功能模块,从而完成测试。
在又一些实施例中,获取所述功能模块的调用结果之后,还包括:
重复接收来自测试主机的随机事件,执行所述随机数所落入的随机数区间对应的功能模块;
直至功能模块总出错的次数达到出错阈值,或者功能模块的执行次数达到执行阈值。
在根据测试主机发送的随机事件来执行功能模块的过程中,考虑到执行次数的限制,通过设置出错阈值和接收阈值,当功能模块的总出错的次数达到出错阈值的时候,或者在整个测试过程中,测试主机发送随机事件使得功能模块执行次数达到执行阈值,从而判断整个测试过程完成,即可结束测试过程。
在另一些实施例中,不同的所述功能模块对应的随机数区间不重叠,M个功能模块对应的随机数区间的并集等于所述随机数整体区间。
通过将不同的功能模块的随机数区间不重叠,且每一个功能模块对应的随机数区间的并集等于随机数整体区间,使得所有的功能模块对应的随机数区间刚好组成完整的随机数整体区间,在后续根据随机数对应调用功能模块进行测试的时候,既可以避免单个随机数同时对应多个随机数区间的情况,又可以避免局部随机数无法对应到随机数区间的情况,保证每一个生成的随机数都可以有对应的功能模块可以执行进行测试,保证了测试过程的完整性。
在一些实施例中,所述调用结果还包括出错时间和出错模块名称的至少一种,在调用测试之后,通过记录出错时间和出错的功能模块的名称,以便于后续在查询的时候,准确了解测试过程中的出错情况。
在又一些实施例中,在执行所述获取所述功能模块的调用结果之后,所述方法还包括:
统计所述功能模块的错误累计次数和测试累计次数,根据所述功能模块的所述错误累计次数和所述测试累计次数之间的比值,计算所述功能模块的通过率。
通过统计功能模块的测试累计次数和功能模块的错误累计次数,就可以计算功能模块的通过率。
其中,通过率既包括单个功能模块的单个通过率,也包括所有功能模块的整体通过率,单个通过率是单个功能模块测试时发生错误的次数和单个功能模块在测试过程中执行的次数的比值,整体通过率是所有功能模块测试时发生错误的次数之和与所有功能模块在测试过程中执行的次数之和的比值,此处不再赘述。
为了进一步对本方案进行具体说明,如图2所示,以实施例具体进行说明。
在测试之前,针对不同场景下的不同待测设备型号,通过预先定义设置功能模块信息,比如功能模块列表,不同场景下的不同待测设备型号对应不同的功能模块列表,其中包含功能模块的名称和预设占比值,而预设占比值表示该功能模块被调用的概率,预设占比值越大,表示该功能模块被调用的概率越高。
在本实施例中,测试主机通过向待测设备发送已有的查询命令,比如发送实时操作系统RTOS实现的计划命令(Attention,AT),如查询设备厂商信息、序列号(SN)等信息,通过对返回值的判断,确认当前测试项目型号,即可得到当前待测设备的测试场景和设备型号。
而在得到当前待测设备的测试场景和设备型号之后,即可对应得到包含功能模块的名称和预设占比值的功能模块列表,而在这之后,根据各个功能模块的预设占比值进行计算,得到每一个功能模块在整体中的实际占比值:
其中,所述功能模块的实际占比值的计算过程如下:
实际占比值=(预设占比值/累计预设占比值之和)*100%
而在计算得到每一个功能模块的实际占比值之后,根据实际占比值确定每个功能模块在随机数整体区间中对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大。
而为了避免多个功能模块的随机数区间出现重叠,将每一个功能模块的随机数区间的下界值设为开区间,将每一个功能模块的随机数区间的上界值设为封闭区间,即随机数区间的组成为(下界值,上界值],“(”表示左端为开区间,“]”表示右端为闭区间。
其中,初始的功能模块的下界值设置为0,而当前的功能模块的下界值设置为前一个功能模块的随机数区间的上界值,当前的功能模块的上界值设置为前一个功能模块的随机数区间的上界值与当前的功能模块的实际占比值与随机数整体区间的大小的乘积。
在本实施例中,待测设备包括A、B、C三个功能模块,其预设占比值分别为2、3、5,则在功能模块信息中存储的信息分别为A、B、C;2、3、5。
之后根据这三个功能模块的预设占比值计算每一个功能模块的实际占比值:
功能模块A的实际占比值=2/(2+3+5)*100%=20%
功能模块B的实际占比值=3/(2+3+5)*100%=30%
功能模块C的实际占比值=5/(2+3+5)*100%=50%
将整个随机数整体区间设置为[1,100]中的自然数,则将功能模块A的随机数区间设置为(0,20],则将功能模块B的随机数区间设置为(20,50],则将功能模块A的随机数区间设置为(50,100]。
通过上述设置的区间,能够有效的将[1,100]中的自然数完全覆盖且每一个区间不会发生重叠。
在后续进行测试的时候,当待测设备接收到测试主机发出的随机事件之后,根据随机事件中的随机数落在随机数区间的位置,使得待测设备对随机数区间对应的功能模块进行执行调用,并记录下每一次功能模块的调用执行情况,记录发生错误的功能模块的名称以及错误时间,便于后续查询错误情况。
同时,在执行的过程中,统计测试的测试累计次数和功能模块发生错误的错误累计次数,以统计各个功能模块的通过率。
具体的,例如总的测试次数为100次,其中功能模块A测试次数为20次,功能模块B测试次数为30次,功能模块C测试次数为50次,功能模块A的测试错误次数为2次,功能模块B的测试错误此时为3次,功能模块C的错误次数为4次,则总的通过率为:
通过上述方式即可计算得到各个功能模块的通过率和整体的通过率。
在另一些实施例中,为了限制测试时间和测试次数,在功能模块总的测试次数达到执行阈值的时候就停止对待测设备的测试,或者在功能模块总的出错次数达到出错阈值的时候就停止对待测设备的测试。
另一方面,在一些特定情况下,还可以单独对某个功能模块设置测试次数上限和错误次数上限,在某个功能模块的总的测试次数达到测试次数上限或者出错的次数达到错误次数上限时,停止对测试设备的测试过程,此处不再赘述。
本发明还公开了一种压力测试系统,如图3所示,包括:
信息确认模块301,用于确定与待测设备对应的功能模块信息,所述功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值,其中,功能模块被调用次数越多,预设占比值越大,M为正整数;
占比计算模块302,用于针对M个功能模块中的任意一个功能模块,计算所述功能模块的预设占比值与所述M个功能模块的预设占比值的和之间的比值,得到所述功能模块的实际占比值;
区间确定模块303,用于根据所述M个功能模块的实际占比值,确定每个功能模块对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大;
接收模块304,用于接收来自测试主机的随机事件,所述随机事件包括随机数;
执行测试模块305,用于执行所述随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果。
在一些实施例中,所述执行测试模块305还用于:
重复接收来自测试主机的随机事件,执行所述随机数所落入的随机数区间对应的功能模块;
直至功能模块总出错的次数达到出错阈值,或者功能模块的执行次数达到执行阈值。
在一些实施例中,所述信息确认模块301还用于:
接收来自测试主机的查询命令;
向测试主机发送响应消息,所述响应消息包括待测设备的标识。
在一些实施例中,所述执行测试模块305还用于:
统计所述功能模块的错误累计次数和测试累计次数,根据所述功能模块的所述错误累计次数和所述测试累计次数之间的比值,计算所述功能模块的通过率。
需要说明的是,上述压力测试系统的结构及原理与上述压力测试系统中的步骤一一对应,故在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,选择模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip,简称SOC)的形式实现。
在本申请的另一些实施例中,本申请实施例公开了一种终端设备,如图4所示,该终端设备400可以包括:一个或多个处理器401;存储器402;显示器403;一个或多个应用程序(未示出);以及一个或多个计算机程序404,上述各器件可以通过一个或多个通信总线405连接。其中该一个或多个计算机程序404被存储在上述存储器402中并被配置为被该一个或多个处理器401执行,该一个或多个计算机程序404包括指令。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法。
本发明的存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。所述存储介质包括:只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
在本发明公开的另一个实施例中,本发明还提供一种芯片系统,芯片系统与存储器耦合,用于读取并执行所述存储器中存储的程序指令,以执行上述方法的步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (11)
1.一种压力测试方法,其特征在于,所述方法包括:
确定与待测设备对应的功能模块信息,所述功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值,其中,功能模块被调用次数越多,预设占比值越大,M为正整数;
针对M个功能模块中的任意一个功能模块,计算所述功能模块的预设占比值与所述M个功能模块的预设占比值的和之间的比值,得到所述功能模块的实际占比值;
根据所述M个功能模块的实际占比值,确定每个功能模块对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大;
接收来自测试主机的随机事件,所述随机事件包括随机数;
执行所述随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果,
其中,不同的所述功能模块对应的随机数区间不重叠,M个功能模块对应的随机数区间的并集等于所述随机数整体区间。
2.根据权利要求1所述的方法,其特征在于,所述随机事件是通过伪随机函数生成的,所述随机数落入所述随机数整体区间;所述随机事件用于调用所述随机数所落入的随机数区间对应的功能模块。
3.根据权利要求1或2所述的方法,其特征在于,获取所述功能模块的调用结果之后,还包括:
重复接收来自测试主机的随机事件,执行所述随机数所落入的随机数区间对应的功能模块;
直至功能模块总出错的次数达到出错阈值,或者功能模块的执行次数达到执行阈值。
4.根据权利要求1所述的方法,其特征在于,所述调用结果还包括出错时间和出错模块名称的至少一种。
5.根据权利要求1所述的方法,其特征在于,在执行所述获取所述功能模块的调用结果之后,所述方法还包括:
统计所述功能模块的错误累计次数和测试累计次数,根据所述功能模块的所述错误累计次数和所述测试累计次数之间的比值,计算所述功能模块的通过率。
6.一种压力测试系统,其特征在于,包括:
信息确认模块,用于确定与待测设备对应的功能模块信息,所述功能模块信息包括M个功能模块的名称、与每个功能模块对应的预设占比值,其中,功能模块被调用次数越多,预设占比值越大,M为正整数;
占比计算模块,用于针对M个功能模块中的任意一个功能模块,计算所述功能模块的预设占比值与所述M个功能模块的预设占比值的和之间的比值,得到所述功能模块的实际占比值;
区间确定模块,用于根据所述M个功能模块的实际占比值,确定每个功能模块对应的随机数区间,其中,功能模块的实际占比值越大,功能模块对应的随机数区间占随机数整体区间的比值越大;
接收模块,用于接收来自测试主机的随机事件,所述随机事件包括随机数;
执行测试模块,用于执行所述随机数所落入的随机数区间对应的功能模块,获取所述功能模块的调用结果;
其中,不同的所述功能模块对应的随机数区间不重叠,M个功能模块对应的随机数区间的并集等于所述随机数整体区间。
7.根据权利要求6所述的系统,其特征在于,所述执行测试模块还用于:
重复接收来自测试主机的随机事件,执行所述随机数所落入的随机数区间对应的功能模块;
直至功能模块总出错的次数达到出错阈值,或者功能模块的执行次数达到执行阈值。
8.根据权利要求6所述的系统,其特征在于,所述信息确认模块还用于:
接收来自测试主机的查询命令;
向测试主机发送响应消息,所述响应消息包括待测设备的标识。
9.根据权利要求6所述的系统,其特征在于,所述执行测试模块还用于:
统计所述功能模块的错误累计次数和测试累计次数,根据所述功能模块的所述错误累计次数和所述测试累计次数之间的比值,计算所述功能模块的通过率。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
11.一种终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110976083.8A CN113688041B (zh) | 2021-08-24 | 2021-08-24 | 压力测试方法、系统、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110976083.8A CN113688041B (zh) | 2021-08-24 | 2021-08-24 | 压力测试方法、系统、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688041A CN113688041A (zh) | 2021-11-23 |
CN113688041B true CN113688041B (zh) | 2023-01-31 |
Family
ID=78582273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110976083.8A Active CN113688041B (zh) | 2021-08-24 | 2021-08-24 | 压力测试方法、系统、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688041B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108022357A (zh) * | 2017-11-03 | 2018-05-11 | 链家网(北京)科技有限公司 | 一种抽奖算法设计方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024610B2 (en) * | 2007-05-24 | 2011-09-20 | Palo Alto Research Center Incorporated | Diagnosing intermittent faults |
US10156197B1 (en) * | 2017-06-16 | 2018-12-18 | GM Global Technology Operations LLC | Model predictive control systems and methods for increasing computational efficiency |
CN112181835B (zh) * | 2020-09-29 | 2024-04-26 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
-
2021
- 2021-08-24 CN CN202110976083.8A patent/CN113688041B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108022357A (zh) * | 2017-11-03 | 2018-05-11 | 链家网(北京)科技有限公司 | 一种抽奖算法设计方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113688041A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388509B (zh) | 一种软件测试方法、计算机可读存储介质及终端设备 | |
CN108491122B (zh) | 一种点击事件响应方法、计算机可读存储介质及终端设备 | |
CN110570663B (zh) | 停车时间的处理/提醒方法/系统、介质、终端及服务端 | |
CN110096430A (zh) | 第三方sdk准入测试方法、装置、终端及存储介质 | |
WO2022111278A1 (zh) | 一种并发请求超时的诊断方法及装置、设备、存储介质 | |
CN109634822B (zh) | 一种函数耗时统计方法、装置、存储介质及终端设备 | |
CN110650531A (zh) | 一种基站坐标标定方法、系统、存储介质及设备 | |
CN113688041B (zh) | 压力测试方法、系统、存储介质及终端 | |
CN117076330B (zh) | 一种访存验证方法、系统、电子设备及可读存储介质 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN109725785A (zh) | 任务执行情况追踪方法、装置、设备及可读存储介质 | |
CN107451038B (zh) | 硬件事件采集方法、处理器和计算系统 | |
CN115018383A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN114490321A (zh) | 区块链稳定性测试方法、系统和电子设备 | |
CN114625502A (zh) | 一种投词任务处理方法、装置、存储介质和电子设备 | |
CN111382068A (zh) | 一种大批量数据的层次测试方法及装置 | |
CN113076451A (zh) | 异常行为识别和风险模型库的建立方法、装置及电子设备 | |
CN111967767A (zh) | 一种业务风险识别方法、装置、设备及介质 | |
CN108269004B (zh) | 产品寿命分析方法及终端设备 | |
CN111352825B (zh) | 数据接口的测试方法、装置及服务器 | |
CN117195568B (zh) | 一种基于离散事件的仿真引擎性能分析方法及装置 | |
CN113360356B (zh) | 阅读作弊行为的识别方法、计算设备及计算机存储介质 | |
CN113157583B (zh) | 一种测试方法、装置及设备 | |
CN112650687B (zh) | 引擎调度动作执行优先级的测试方法、装置、设备及介质 | |
CN110020670B (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 |