CN112711521A - 一种自动化性能测试方法及系统 - Google Patents
一种自动化性能测试方法及系统 Download PDFInfo
- Publication number
- CN112711521A CN112711521A CN202110316828.8A CN202110316828A CN112711521A CN 112711521 A CN112711521 A CN 112711521A CN 202110316828 A CN202110316828 A CN 202110316828A CN 112711521 A CN112711521 A CN 112711521A
- Authority
- CN
- China
- Prior art keywords
- test
- terminal
- performance
- data
- target application
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 354
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 30
- 230000002035 prolonged effect Effects 0.000 claims abstract description 8
- 230000015654 memory Effects 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 11
- 238000012384 transportation and delivery Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011056 performance test Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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
-
- 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/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种自动化性能测试方法及系统,该方法包括:根据预先配置的触发信息,自动启动及管理测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试,实现不同场景下的性能消耗;监测、采集并记录对应测试场景下所述测试终端的性能数据;根据所述测试终端的性能数据,计算并判断所述目标应用程序是否通过所述测试场景下的各相关测试项;在所述测试项未在预设时间内通过测试时,预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间,监测并判断延长执行时间后的测试项是否通过。实施本发明的技术方案能够自动升级版本,以及自动化性能测试。
Description
技术领域
本发明涉及数据处理技术,尤其涉及一种自动化性能测试方法及系统。
背景技术
随着视频会议的快速发展和大规模应用,用户对应会议终端的需求也越来越多,这给快速、持续、高质量地交付终端系统带来挑战。
目前,一般的测试方式是在系统版本发测后,测试人员手动进行升级,然后,在测试过程中观察是否存在画面、走标卡顿,甚至是在应用崩溃后,才发现存在系统性能问题。另外,在出现问题后,排查问题往往需要耗费大量时间和人力。
发明内容
有鉴于此,本发明实施例披露一种自动化性能测试方法及系统,能够自动升级版本,以及自动化性能测试,实现快速持续的终端系统交付,以至少解决现有技术中存在的以上技术问题。
根据本发明的第一方面,披露一种自动化性能测试方法,该方法包括:
根据预设的配置及触发信息,自动启动测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试;
监测、采集并记录对应测试场景下所述测试终端的性能数据;根据所述测试终端的性能数据,计算并判断所述目标应用程序占用的中央处理器CPU和内存与测试时间的关系是否符合预设的线性模型,若不符合所述线性模型,则该测试项测试通过;若符合所述线性模型,则预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间;
计算延长执行时间后的实际采集数据和预测数据之间的标准差,并判断所述标准差是否超过测试阈值,若超过则不符合该线性模型,该测试项通过,否则不通过,记录该测试项失败,存在性能溢出问题;然后执行下一个测试项,直到完成本次测试。
作为本发明的一种实施方式,上述自动化性能测试方法还可包括:记录、存储和/或输出测试数据,所述测试数据包括所述测试终端的日志信息、所述测试终端的性能数据、所述目标应用程序的版本信息、以及测试项结果。
作为本发明的一种实施方式,上述自动化性能测试方法还可包括:合所述测试场景,动态扩展所述测试程序的功能测试项。
作为本发明的一种实施方式,上述自动化性能测试方法还可包括:所述测试程序兼容不同操作系统的测试终端,至少包括安卓操作系统和Linux操作系统的测试终端。
作为本发明的一种实施方式,上述自动化性能测试方法还可包括:自动监测所述目标应用程序的更新版本,并在检测到所述更新版本的安装程序包时,对应更新所述测试终端的目标应用程序;所述测试终端的目标应用程序完成更新之后,自动启动测试程序。
作为本发明的一种实施方式,上述自动化性能测试方法还可包括:在用户交互WebUI界面上,显示所述测试终端的性能数据、所述目标应用程序的版本信息、测试项结果、和/或实时测试数据。
作为本发明的一种实施方式,上所述测试终端的性能数据包括:采集系统整体的CPU和内存占用、各进程消耗的CPU、内存和句柄数。
作为本发明的一种实施方式,所述预测所述测试终端的性能瓶颈时间包括预测CPU占用达到80%、和/或内存占用到90%的瓶颈时间。
作为本发明的一种实施方式,所述预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间,进一步包括:
计算出CPU占比增长至80%、内存消耗增长至90%的预测时间;
监测所述测试终端上运行的所述目标应用程序占用的CPU和内存状态数据,计算CPU和内存的采集值和预测值之间的标准差,所述标准差小于0.1时,则符合所述线性模型,对应的测试项不通过。
根据本发明的第二方面,本公开披露一种自动化性能测试系统,该系统包括:
测试管理模块,用于根据预设的配置及触发信息,自动启动及管理测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试,实现不同场景下的性能消耗;
性能监测模块,用于监测、采集并记录对应测试场景下所述测试终端的性能数据;以及,用于根据所述测试终端的性能数据,计算并判断所述目标应用程序是否通过所述测试场景下的各相关测试项;
延长测试模块,用于在所述测试项未在预设时间内通过测试时,预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间;以及,用于监测并判断延长执行时间后的测试项是否通过。
作为本发明的一种实施方式,上述自动化性能测试系统还可包括:版本升级模块,用于自动监测所述目标应用程序的更新版本,并在检测到所述更新版本的安装程序包时,在对应的测试终端上更新目标应用程序。
作为本发明的一种实施方式,上述自动化性能测试系统还可包括:自动触发模块,用于在所述测试终端的目标应用程序完成更新之后,自动启动测试程序。
作为本发明的一种实施方式,上述自动化性能测试系统还可包括:数据收集模块,用于记录、存储和/或输出测试数据;其中,所述测试数据包括:所述测试终端的日志信息、所述测试终端的性能数据、所述目标应用程序的版本信息、以及测试项结果;所述测试终端的性能数据包括:系统整体的CPU和内存占用、各进程消耗的CPU、内存和句柄数。
作为本发明的一种实施方式,上述自动化性能测试系统还可包括:业务管理模块,用于在用户交互WebUI界面上,显示所述测试终端的性能数据、所述目标应用程序的版本信息、测试项结果、和/或实时测试数据。
作为本发明的一种实施方式,上述自动化性能测试系统还可包括:测试程序更新模块,用于结合所述测试场景,动态扩展所述测试程序的功能测试项。
作为本发明的一种实施方式,上述自动化性能测试系统还可包括:测试终端群,用于执行所述测试程序,各版本型号的会议终端实体设备群,至少包括安卓操作系统和/或Linux操作系统的测试终端设备
与现有技术相比,本发明披露的技术方案具有以下有益的技术效果:
通过实施本发明的技术方案,可实现自动检测目标应用程序版本信息,并在版本发测后,基于测试配置信息,自动在对应的测试终端上进行版本升级,在测试过程中监测测试数据,支持不同设备的系统自动升级,并对对应终端进行自动化性能测试,能够及时暴露版本问题,实现快速持续、高质量的终端系统交付。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本公开实施例的自动化性能测试方法的流程示意图;
图2为本公开实施例的自动化性能测试系统的架构示意图;
图3为本公开实施例的自动化性能测试系统的组成框图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
方法实施例:
为提升对应用程序的测试效率,提高版本迭代的效率,本公开实施例披露一种自动化性能测试方法,该方法包括以下步骤:
S101:根据预先配置的触发信息,自动启动测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试;
例如,测试终端的目标应用程序升级完成,可以作为预先配置的触发信息,版本升级完成,自动触发启动测试程序,开始对特定测试场景下的终端性能数据进行测试。
又如,目标应用程序以视频会议系统为例,若系统版本在第一次测试与第二次测试,前后一致时,则可跳过版本升级,即测试终端的视频会议系统版本不作升级时,可手动触发自动测试程序。这种情况的话webUI(网页用户交互)界面上也会设置有手动点击触发测试选项的手动触发模块。
S102:监测、采集并记录对应测试场景下测试终端的性能数据;
S103:根据测试终端的性能数据,计算并判断目标应用程序占用的CPU和内存与测试时间的关系是否符合预设的线性模型,若不符合线性模型y=at+b,则该测试项测试通过,执行S104;若符合线性模型,则执行S105;
本步骤中,线性模型y=at+b,y表示CPU或内存的消耗数据,t对应消耗的测试时间。
例如:本实施例可预先根据根据自变量t和因变量y的相关关系,建立y与t的线性方程,式中:
y表示因变量的值,这里表示内存或者CPU占用的值
t表示自变量的值,这里表示时间值
a、b代表一元线性方程的参数,根据性能监测历史数据中,抽取的样本数据训练得到。
S104:运行下一个测试项,直到完成本次测试;
S105:预测测试终端的性能瓶颈时间,并对应延长该测试项的执行时间;
例如:性能瓶颈时间包括:分别计算CPU占用达到80%、和/或内存占用到90%的瓶颈时间。
S106:计算延长执行时间后的实际采集数据和预测数据之间的标准差,并判断标准差是否超过测试阈值,若超过则不符合该线性模型,该测试项通过,否则不通过,执行S107;
本步骤中,根据计算出的线性模型来预测y=at+b,计算出CPU占比增长至80%、内存
增长至90%的瓶颈时间,以此来增加对应测试时间。计算延长测试时间后内存占用的实际采
集值y和线性模型预测的预测值的标准差,测试阈值可通过训练线性模型来获得,根据实
际需要设置具体参数值,例如,在一测试项中该测试阈值可设置为0.1,那么,当标准差大于
0.1时,则不符合线性模型,那么该测试项通过测试。其中,表示线性模型预测的CPU或内存
的消耗数据,t对应消耗的测试时间。
需要说明的是,CPU占用达到80%、内存占用到90%两者中任一个符合该线性模型,则为不通过,也就是说该测试项不通过。
S107:记录该测试项失败,存在性能溢出问题;然后执行S104。
本实施例中,通过自动执行测试程序,实现快速持续、高质量的终端系统并在测试过程中,预测性能瓶颈时间验证对应测试程序时间来判断存在性能问题。本实施例的测试方法不仅可以及时暴露版本问题,还能够实现快速持续、高质量的终端系统交付。
作为一种可选的实现方式,上述自动化性能测试方法还可包括以下步骤:
S100:自动监测目标应用程序的更新版本,并在检测到更新版本的安装程序包时,对应更新测试终端的目标应用程序;
本步骤中,测试终端的目标应用程序完成更新之后,执行S101:自动启动测试程序。
本实施例中,可实现自动检测目标应用程序版本信息,并在版本发测后,基于测试配置信息,自动在对应的测试终端上进行版本升级,在测试过程中监测测试数据,例如是否存在画面、走标卡顿;以及,在出现应用崩溃后自动发现存在系统性能问题。支持不同设备的系统自动升级,并对对应终端进行自动化性能测试。
在一可选实施例中,上述S105,预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间,进一步包括以下步骤:
S1051:计算出CPU占比增长至80%、内存消耗增长至90%的预测时间;
S1052:监测测试终端上运行的所述目标应用程序占用的CPU和内存状态数据,计算CPU和内存的采集值和预测值之间的标准差。例如,当标准差小于0.1时,则符合上述线性模型,对应的测试项不通过。
在一可选实施例中,上述自动化性能测试方法还可包括以下步骤:
S108:记录、存储和/或输出测试数据;
其中,测试数据包括测试终端的日志信息、测试终端的性能数据、目标应用程序的版本信息、以及测试项结果。
在一可选实施例中,上述自动化性能测试方法还可包括以下步骤:
S109:结合测试场景,动态扩展测试程序的功能测试项。
在一可选实施例中,上述自动化性能测试方法还可包括以下步骤:
S110:测试程序兼容不同操作系统的测试终端,至少包括安卓操作系统和Linux操作系统的测试终端。
本实施例中的测试方法对安卓、Linux两个不同操作系统的测试终端都适用,不仅及时暴露版本问题,还可以实现快速持续、高质量的终端应用程序交付。
在一可选实施例中,上述自动化性能测试方法还可包括以下步骤:
S111:在用户交互WebUI界面上,显示测试终端的性能数据、目标应用程序的版本信息、测试项结果、和/或实时测试数据。
在一可选实施例中,上述测试终端的性能数据进一步包括:采集系统整体的CPU和内存占用、各进程消耗的CPU、内存和句柄数。
下面结合图1,对上述自动化性能测试方法作示例性说明,本示例中,目标应用程序以视频会议应用程序为例,该自动化性能测试方法包括以下步骤:
S10:检测存在新版本包时,通知对应版本的测试终端进行视频会议系统升级。
S11:升级完成后,启动测试程序。
S12:启动性能监测,开始采集对应测试场景下的终端性能数据。
例如,采集系统整体的CPU和内存数据,及各进程消耗的CPU、内存和句柄数。
S13:当一个测试场景结束时,计算并判断系统的CPU和内存与时间之间是否符合线性模型y=at+b。
S14:在符合线性模型时,预测出到达瓶颈时间,如CPU占用达到80%,内存占用到90%的时间,触发测试程序延长该测试程序执行时间;
S15:将终端上的日志信息和测试结果进行收集和存储。
S15:可在webUI界面上,显示测试结果、具体性能数据、版本信息,以测试和研发人员查看。
本示例披露的自动化性能测试方法具有有益效果如下:
本示例的测试方法可自动检测版本并实现测试终端自动升级新系统包,并自动监测视频会议测试运行期间的系统性能。并且,自动执行测试程序,在过程中预测瓶颈时间验证对应测试程序时间来判断存在性能问题。此外,对不同系统终端都能适用,可及时暴露版本问题,实现快速持续、高质量的终端系统交付。
产品实施例:
为实现上述方法,本实施例披露一种自动化性能测试系统,如图2所示,该测试系统包括以下组成:
测试管理模块,用于根据预设的配置及触发信息,自动启动及管理测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试,实现不同场景下的性能消耗;
性能监测模块,用于监测、采集并记录对应测试场景下测试终端的性能数据;以及,用于根据测试终端的性能数据,计算并判断目标应用程序是否通过测试场景下的各相关测试项;
延长测试模块,用于在测试项未在预设时间内通过测试时,预测测试终端的性能瓶颈时间,并对应延长该测试项的执行时间;以及,用于监测并判断延长执行时间后的测试项是否通过。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:
版本升级模块,用于自动监测目标应用程序的更新版本,并在检测到更新版本的安装程序包时,在对应的测试终端上更新目标应用程序。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:
自动触发模块,用于在测试终端的目标应用程序完成更新之后,自动启动测试程序。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:
手动触发模块,用于通过webUI界面上设置的手动点击触发测试选项,启动自动测试程序。
例如,以视频会议系统为例,若系统版本在第一次测试与第二次测试,前后一致时,则可跳过版本升级,即测试终端的视频会议系统版本不作升级时,可手动触发自动测试程序。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:数据收集模块,用于记录、存储和/或输出测试数据;
其中,测试数据包括:测试终端的日志信息、测试终端的性能数据、目标应用程序的版本信息、以及测试项结果;测试终端的性能数据包括:系统整体的CPU和内存占用、各进程消耗的CPU、内存和句柄数。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:业务管理模块,用于在用户交互WebUI界面上,显示测试终端的性能数据、目标应用程序的版本信息、测试项结果、和/或实时测试数据。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:
测试程序更新模块,用于结合测试场景,动态扩展测试程序的功能测试项。
作为一种可选的实现方式,上述自动化性能测试系统还可包括以下组成:
测试终端群,用于执行测试程序,各版本型号的会议终端实体设备群,至少包括安卓操作系统和/或Linux操作系统的测试终端设备。
这里结合图3,对上述自动化性能测试系统作示例性说明,本示例的自动化性能测试系统包括:业务管理层和测试管理层、以及测试用会议终端群。
业务管理层可采用webUI界面,主要用于各终端性能数据展示、日志查看和会议终端设备管理。
测试管理层对以下4个模块进行管理和调度,包括:系统升级模块、测试模块、性能监测模块和日志收集模块。
系统升级模块用于下载最新的版本包,并在对应终端上进行升级。
测试模块用于管理和执行测试程序,实现不同场景下的性能消耗。
性能监测模块用于可针对不同系统的会议终端设备,采集系统整体的CPU和内存占用、各进程消耗的CPU、内存和句柄数,并对采集数据进行存储。
日志收集模块用于收集会议终端上的升级日志和测试执行日志,反馈升级、测试结果。
会议终端群:各版本型号的会议终端实体设备群,主要可分为两大类:安卓系统终端和linux系统终端。
上述实施例中,测试管理层检测存在新版本包时,通知升级模块进行对应版本终
端的系统升级。升级完成后,测试管理层通知测试模块,启动测试程序。测试模块通知性能
监测模块,开始采集对应测试场景下的终端性能数据。性能监测模块采集系统整体的CPU和
内存数据,及各进程消耗的CPU、内存和句柄数;一个测试场景结束时计算系统的CPU和内存
与时间之间的关系是否符合线性模型,不符合通过,若符合则性能监测模块采集
系统整体的CPU和内存数据,并对存在瓶颈时间进行预测,延长对应测试用例执行时间来判
断是否存在性能溢出问题,通知测试模块延长该测试程序执行时间;并通过标准差来判断是否符合该线性模型,其中,表示线性模型预测的CPU或内存
的消耗数据,t对应消耗的测试时间。若符合则通知日志模块该测试用例失败,存在性能溢
出问题,否则成功。日志收集模块将终端上的日志和测试结果统一进行收集和存储。测试和
研发人员可在webUI界面上,查看测试结果、具体性能数据、版本信息。
本实施例的自动化性能测试方法,可自动检测版本并更新,自动执行测试程序,并在过程中预测瓶颈时间验证对应测试程序时间来判断存在性能问题,对两个不同系统终端都能适用,及时暴露版本问题,实现快速持续、高质量的终端系统交付。
这里需要指出的是:以上实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种自动化性能测试方法,其特征在于,包括:
根据预设先配置的触发信息,自动启动测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试;
监测、采集并记录对应测试场景下所述测试终端的性能数据;根据所述测试终端的性能数据,计算并判断所述目标应用程序占用的中央处理器CPU和内存与测试时间的关系是否符合预设的线性模型,若不符合所述线性模型,则该测试项测试通过;若符合所述线性模型,则预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间;
计算延长执行时间后的实际采集数据和预测数据之间的标准差,并判断所述标准差是否超过测试阈值,若超过则不符合该线性模型,该测试项通过,否则不通过,记录该测试项失败,存在性能溢出问题;然后执行下一个测试项,直到完成本次测试。
2.根据权利要求1所述的自动化性能测试方法,其特征在于,还包括:
记录、存储和/或输出测试数据,所述测试数据包括所述测试终端的日志信息、所述测试终端的性能数据、所述目标应用程序的版本信息、以及测试项结果;和/或,
结合所述测试场景,动态扩展所述测试程序的功能测试项;和/或,所述测试程序兼容不同操作系统的测试终端,至少包括安卓操作系统和Linux操作系统的测试终端。
3.根据权利要求1或2所述的自动化性能测试方法,其特征在于,还包括:
自动监测所述目标应用程序的更新版本,并在检测到所述更新版本的安装程序包时,对应更新所述测试终端的目标应用程序;所述测试终端的目标应用程序完成更新之后,自动启动测试程序;和/或,
在用户交互WebUI界面上,显示所述测试终端的性能数据、所述目标应用程序的版本信息、测试项结果、和/或实时测试数据。
4.根据权利要求3所述的自动化性能测试方法,其特征在于:
所述测试终端的性能数据包括:采集系统整体的CPU和内存占用、各进程消耗的CPU、内存和句柄数;和/或,
所述预测所述测试终端的性能瓶颈时间包括预测CPU占用达到80%、以及内存占用到90%的瓶颈时间。
5.根据权利要求4所述的自动化性能测试方法,其特征在于,所述预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间,进一步包括:
计算出CPU占比增长至80%、内存消耗增长至90%的预测时间;
监测所述测试终端上运行的所述目标应用程序占用的CPU和内存状态数据,分别计算CPU和内存的采集值和预测值之间的标准差,所述标准差小于0.1时,则符合所述线性模型,对应的测试项不通过。
6.一种自动化性能测试系统,其特征在于,包括:
测试管理模块,用于根据预设的配置及触发信息,自动启动及管理测试程序,运行预设测试场景下的相关测试项,对测试终端上运行的目标应用程序进行测试,实现不同场景下的性能消耗;
性能监测模块,用于监测、采集并记录对应测试场景下所述测试终端的性能数据;以及,用于根据所述测试终端的性能数据,计算并判断所述目标应用程序是否通过所述测试场景下的各相关测试项;
延长测试模块,用于在所述测试项未在预设时间内通过测试时,预测所述测试终端的性能瓶颈时间,并对应延长该测试项的执行时间;以及,用于监测并判断延长执行时间后的测试项是否通过。
7.根据权利要求6所述的自动化性能测试系统,其特征在于,还包括:
版本升级模块,用于自动监测所述目标应用程序的更新版本,并在检测到所述更新版本的安装程序包时,在对应的测试终端上更新目标应用程序;和/或,
自动触发模块,用于在所述测试终端的目标应用程序完成更新之后,自动启动测试程序。
8.根据权利要求6或7所述的自动化性能测试系统,其特征在于,还包括:
数据收集模块,用于记录、存储和/或输出测试数据;
其中,所述测试数据包括:所述测试终端的日志信息、所述测试终端的性能数据、所述目标应用程序的版本信息、以及测试项结果;所述测试终端的性能数据包括:系统整体的中央处理器CPU和内存占用、各进程消耗的CPU、内存和句柄数。
9.根据权利要求8所述的自动化性能测试系统,其特征在于,还包括:
业务管理模块,用于在用户交互WebUI界面上,显示所述测试终端的性能数据、所述目标应用程序的版本信息、测试项结果、和/或实时测试数据。
10.根据权利要求9所述的自动化性能测试系统,其特征在于,还包括:
测试程序更新模块,用于结合所述测试场景,动态扩展所述测试程序的功能测试项;和/或,
测试终端群,用于执行所述测试程序,各版本型号的会议终端实体设备群,至少包括安卓操作系统和/或Linux操作系统的测试终端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110316828.8A CN112711521A (zh) | 2021-03-25 | 2021-03-25 | 一种自动化性能测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110316828.8A CN112711521A (zh) | 2021-03-25 | 2021-03-25 | 一种自动化性能测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112711521A true CN112711521A (zh) | 2021-04-27 |
Family
ID=75550262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110316828.8A Pending CN112711521A (zh) | 2021-03-25 | 2021-03-25 | 一种自动化性能测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711521A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238973A (zh) * | 2021-07-13 | 2021-08-10 | 统信软件技术有限公司 | 定位操作系统性能瓶颈的方法、计算设备以及存储介质 |
CN118331834A (zh) * | 2024-03-29 | 2024-07-12 | 上海源斌电子科技有限公司 | 一种基于大数据的电源芯片测试数据处理系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807877A (zh) * | 2016-09-08 | 2018-03-16 | 北京京东尚科信息技术有限公司 | 一种代码性能测试的方法和装置 |
CN108287790A (zh) * | 2017-12-29 | 2018-07-17 | 五八有限公司 | 终端的应用程序性能测试方法、装置及电子设备 |
CN107977318B (zh) * | 2017-12-25 | 2020-07-03 | 暨南大学 | 一种Android应用程序的能耗和性能测试方法 |
-
2021
- 2021-03-25 CN CN202110316828.8A patent/CN112711521A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807877A (zh) * | 2016-09-08 | 2018-03-16 | 北京京东尚科信息技术有限公司 | 一种代码性能测试的方法和装置 |
CN107977318B (zh) * | 2017-12-25 | 2020-07-03 | 暨南大学 | 一种Android应用程序的能耗和性能测试方法 |
CN108287790A (zh) * | 2017-12-29 | 2018-07-17 | 五八有限公司 | 终端的应用程序性能测试方法、装置及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238973A (zh) * | 2021-07-13 | 2021-08-10 | 统信软件技术有限公司 | 定位操作系统性能瓶颈的方法、计算设备以及存储介质 |
CN118331834A (zh) * | 2024-03-29 | 2024-07-12 | 上海源斌电子科技有限公司 | 一种基于大数据的电源芯片测试数据处理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240886B (zh) | 异常处理方法、装置、计算机设备以及存储介质 | |
CN112711521A (zh) | 一种自动化性能测试方法及系统 | |
CN103392176B (zh) | 用于预测网络事件泛滥的装置和方法 | |
CN112395616B (zh) | 漏洞处理的方法、装置及计算机设备 | |
US9715409B2 (en) | Job delay detection method and information processing apparatus | |
CA2389253A1 (en) | Method and system for remotely managing communication of data used for predicting malfunctions in a plurality of machines | |
GB2456619A (en) | Managing errors generated in an apparatus | |
CN112994952B (zh) | 分布式基站升级处理方法及系统 | |
CN105354042A (zh) | 应用安装的处理方法及装置 | |
CN106209412B (zh) | 资源监控系统与其方法 | |
CN111858482A (zh) | 一种攻击事件追踪溯源方法、系统、终端及存储介质 | |
CN112306802A (zh) | 系统的数据获取方法、装置、介质和电子设备 | |
CN109783284A (zh) | 信息获取方法、系统及服务器、计算机可读存储介质 | |
CN105577472A (zh) | 一种数据采集测试方法和装置 | |
CN115640233A (zh) | 录制流量自动降噪方法、电子设备及计算机可读存储介质 | |
CN116755891A (zh) | 基于多线程的事件队列处理方法和系统 | |
CN116069367A (zh) | 批量更新应用程序的方法、终端、计算机设备及存储介质 | |
CN116521414A (zh) | 故障代码定位方法、云端服务器、系统及存储介质 | |
CN108984396B (zh) | 自动测试的方法及系统、测试终端 | |
CN115827451A (zh) | 测试缺陷的检测方法和装置、存储介质及电子装置 | |
CN111142898B (zh) | 一种基于群体智能模式的数据防泄漏终端升级方法及系统 | |
CN114328262A (zh) | 测序数据处理流程的监控方法以及装置 | |
JP2005301379A (ja) | ソフトウェア資源管理方法およびシステム | |
CN114116357A (zh) | 一种硬盘的自动测试方法、装置和工具 | |
CN112882856A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210427 |