CN103577328A - 一种应用的性能分析方法及装置 - Google Patents
一种应用的性能分析方法及装置 Download PDFInfo
- Publication number
- CN103577328A CN103577328A CN201310587103.8A CN201310587103A CN103577328A CN 103577328 A CN103577328 A CN 103577328A CN 201310587103 A CN201310587103 A CN 201310587103A CN 103577328 A CN103577328 A CN 103577328A
- Authority
- CN
- China
- Prior art keywords
- application
- scheduled operation
- performance
- performance data
- operating
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用的性能分析方法及装置。其中所述应用适于在计算设备上运行,并会影响在该计算设备上运行的其他应用的性能,所述方法包括:在计算机设备上构建所述应用的运行环境并运行所述应用;在所述计算设备上执行预定操作;记录执行所述预定操作的操作性能数据;以及基于所述预定操作的操作性能数据来确定所述应用的性能。本发明能够针对应用进行准确、高效的性能测试。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种应用的性能分析方法及装置。
背景技术
测试是开发软件产品的一个环节也是至关重要的一个环节。对于软件产品,除了进行必要的功能测试之外,性能测试也是保证软件产品质量的必要流程。针对不同类型的软件产品,性能测试的方法也不尽相同。稳定性测试、压力测试、甚至崩溃测试都是常用的性能测试方法。例如,对于互联网C\S架构的测试,就是以模拟用户通过网络打开网站页面的方式,高并发的向服务器发送请求,验证服务器在高压力下的运行情况,以确定服务器端软件的性能优劣。
而客户端软件的性能测试关注的点与服务器端的产品不同。客户端软件在用户的计算机上运行,对于计算机的系统资源进行占用,这样就会影响用户的正常操作。用户计算机以及网络服务器中较为关键的系统性能参数包括:CPU(中央处理器)、内存、磁盘IO(输入和输出)以及网络带宽占用等。以其中较为关键的CPU资源为例,每个处理器拥有一个系统空闲进程(System Idle Process),系统空闲进程的CPU占用率越大,表示系统可分配的资源越多。当用户安装客户端软件后,客户端软件作为独立进程,会消耗部分系统资源。如果客户端软件消耗的资源越多,系统空闲进程的CPU占用率越小,用户分配到的系统资源也就越少,用户的体验感受就越差。因此,在确保软件程序能够正常实现其功能的情况下,使其在运行过程中占用的系统资源越少越好。而这需要在软件开发后期通过性能测试反馈来加以优化。因此对软件的性能测试就显得尤为重要。
目前,现有的对客户端软件进行性能测试的方法,大多数没有系统化和集成化,不是科学的测试方法。通常采用的方式是:在硬件配置较差(模拟最普通的用户环境)的计算机上安装客户端软件,然后进行用户的常态操作,例如拷贝文件、下载文件、打开文件以及安装软件等行为,或者根据用户的常态操作行为设计一些用例,进行手动测试,对于测试结果没有科学的衡量标准,主要依赖人为直观感受为主要结果。稍微进步一些的方案是:编写一些自动化脚本,模拟用户行为,通过脚本统计每次运行的数据结果,主要以时间为衡量标准。但是由于无法覆盖多种用户计算机配置,并且在同一个计算机上每次测试的测试环境不尽相同,导致数据结果漂浮不定,无法真正发现软件性能问题。
因此,现有的对客户端软件进行性能测试方法,存在以下主要问题:1)缺乏科学的方法理论,不易于简单重复使用;2)不具备系统化和自动化特点,执行效率低;3)测试环境干扰大,数据不可信;4)发现问题后,无法提供方便的定位手段;5)缺乏长期运行的条件,无法总结软件性能趋势变化。以上仅是以客户端软件为例说明软件性能测试的重要性,本领域技术人员应当理解,上述问题不仅仅存在于客户端软件,有些服务器端的应用软件也存在类似的问题。
发明内容
为解决上述现有技术中存在的一个多个技术问题,本发明提供了一种应用的性能分析方法及装置。
根据本发明的一方面,其提供了一种应用的性能分析方法,该应用适于在计算设备上运行,并会影响在该计算设备上运行的其他应用的性能,该方法包括步骤:
在计算机设备上构建所述应用的运行环境并运行所述应用;
在所述计算设备上执行预定操作;
记录执行所述预定操作的操作性能数据;以及
基于所述预定操作的操作性能数据来确定所述应用的性能。
可选地,在计算机设备上构建所述应用的运行环境并运行所述应用包括:
在所述计算设备上安装适于运行所述应用的操作系统;以及
在所述操作系统中安装并运行所述应用。
可选地,所述预定操作包括以下操作中的一个或者多个:拷贝文件、创建文件、下载文件、打开文件、安装应用程序、通过网络共享方式拷贝文件以及打开网页。
可选地,所述操作性能包括以下中的一个或者多个:完成操作的时间、执行操作期间所述计算设备的CPU使用率、内存使用率、磁盘IO使用率以及网络带宽使用率。
可选地,执行所述预定操作的方式包括:配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合。
可选地,通过监控软件记录所述预定操作的操作性能数据。
可选地,通过执行所述预定操作的相应调试版本文件记录所述操作性能数据。
可选地,基于所述预定操作的操作性能数据来确定所述应用的性能具体包括:
过滤所记录的操作性能数据中的异常数据;
比较所述过滤后的操作性能数据和基准性能数据;
根据比较结果确定所述应用的性能;
其中,所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
根据本发明的另一方面,其提供应用的性能分析装置,该应用适于在计算设备上运行,并会影响在该计算设备上运行的其他应用的性能,该装置包括:
应用运行模块,用于在计算机设备上构建所述应用的运行环境并运行所述应用;
预定操作模块,用于在所述计算设备上执行预定操作;
记录模块,用于记录执行所述预定操作的操作性能数据;
性能确定模块,用于基于所述预定操作的操作性能数据来确定所述应用的性能。
可选地,所述应用运行模块包括:
操作系统安装模块,用于在所述计算设备上安装适于运行所述应用的操作系统;
应用安装及运行模块,用于在所述操作系统中安装及运行所述应用。
可选地,所述预定操作包括以下操作中的一个或者多个:拷贝文件、创建文件、下载文件、打开文件、安装应用程序、通过网络共享方式拷贝文件以及打开网页。
可选地,所述操作性能包括以下中的一个或者多个:完成操作的时间、执行操作期间所述计算设备的CPU使用率、内存使用率、磁盘IO使用率以及网络带宽使用率。
可选地,预定操作模块执行所述预定操作的方式包括:配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合。
可选地,记录模块通过监控软件记录所述预定操作的操作性能数据。
可选地,记录模块通过执行所述预定操作的相应调试版本文件记录所述操作性能数据。
可选地,性能确定模块包括:
过滤模块,用于过滤所记录的操作性能数据中的异常数据;
比较模块,用于比较所述过滤后的操作性能数据和基准性能数据;
确定模块,用于根据比较结果确定所述应用的性能;
其中,所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的上述方案在测试环节通过构建系统化的自动化运行平台,模拟应用的各种运行环境,包括在相同的操作系统和不同的硬件设备、不同的操作系统和相同的硬件设备、以及相同的操作系统和硬件设备但不同的空闲系统资源等等运行环境,并在所模拟的各种运行环境下过执行所述应用程序,并执行一系列预定的操作,通过所执行的预定操作的性能数据确定所述应用在各种运行环境下的性能数据,最终评估应用的性能。本发明提出的方案通过科学的方法模拟用户行为,保证了数据的真实性,提高了测试效率以及准确率;
2、本发明提供的上述方案中,整个应用的性能测试实现了全自动化,不需要人为干预;不同测试产品的测试环境可相同/不同,保证数据的真实可信;硬件设备可以弹性增加,方便提高测试效率;采用科学算法对测试数据进行分析,保证结果正确性;提供定位测试模式,方便定位原因;
3、本发明提供的上述方案,采用手工测试中使用的计算机,在没有增加硬件开销的前提下,同时解放了大量的人力资源,降低了成本;
4、本发明提供的上述方案,通过初始化相同测试环境,同时覆盖不同的硬件设备,数据丰富且准确。
为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式详细说明。
附图说明
图1是本发明提供的一种应用的性能测试方法流程图;
图2是在Windows系统下构建应用软件环境的具体实施方式流程图;
图3是以配置文件为例执行预定操作的具体流程示意图;
图4是本发明中基于所述预定操作的操作性能数据来确定所述应用的性能的具体实施方式流程图;
图5是待测应用对用户体验的影响百分比示意图;
图6是本发明提供的一种应用的性能分析装置的功能模块化结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1示出了本发明提供的一种应用的性能测试方法流程图。如图1所示,所述应用的性能测试方法具体包括如下步骤:
步骤101:在计算机设备上构建所述应用的运行环境并运行所述应用;
步骤102:在所述计算设备上执行预定操作;
步骤103:记录执行所述预定操作的操作性能数据;
步骤104:基于所述预定操作的操作性能数据来确定所述应用的性能。
下面主要以Windows系统为例详细说明本发明提出的应用的性能测试方法所包括的上述各个步骤,本领域技术人员应当知道,该方法不仅限于Windows系统,其还适用于其它任何图形化界面系统。
步骤101:在计算机设备上构建待测应用的运行环境并运行所述待测应用。所述待测应用的运行环境包括硬件环境和软件环境,所述硬件环境主要包括其所运行的计算机的CPU、内存、磁盘IO以及网络带宽等等,而软件环境主要包括操作系统。
可选地,在计算机设备上构建所述应用的运行环境并运行所述应用包括:
在所述计算设备上安装适于运行所述应用的操作系统;以及
在所述操作系统中安装并运行所述应用。
不同用户使用的计算机存在环境差异,主要体现在两点:
第一,计算机硬件配置存在差异。对应用软件进行测试时,测试环境应当覆盖不同硬件配置的计算机,性能测试环境中的计算机硬件配置中CPU可以为单核或者多核,内存大小设置有所不同,网络连接带宽有10M或者100M等,这样尽可能多地覆盖不同用户的硬件环境;
第二,计算机操作系统的类型存在差异。操作系统有多种多样,有些应用是可以跨平台即在不同操作系统上运行,而有些应用只能在特定操作系统下运行,因此计算机操作类型的选择主要根据应用自身的特点进行选择。目前以Windows操作系统为开发平台进行软件开发占大多数,而Windows的系统的版本又有所不同,包括Windows XP、Windows7等等,同时其底层的体系结构又区分为X86和X64两种微处理器的体系结构;其他操作系统也有类似的区分。因此,在构建性能测试环境中的计算机软件环境时,需要尽可能覆盖应用所能适应的不同种类的操作系统以及相应操作系统的不同版本等。
因此,本发明中需要预先根据实际情况搭建多种不同的测试环境,包括在不同的硬件配置上使用不同操作系统等。而这些在特定硬件配置环境下所构建的测试环境可以预先存储起来,以备后续使用。例如,可以将不同的应用测试环境通过使用第三方软件“一键Ghost”进行系统备份等。
在应用的性能测试开始时,首先构建所述应用的运行环境,并在所构建的运行环境下运行所述应用。
图2示出了在Windows系统下构建应用软件环境的具体实施方式的流程图。如图2所示,其包括:
步骤201:在具有相应硬件配置的计算机设备上安装适于运行所述待测应用的操作系统。
可选地,安装所述操作系统可以使用一键GHOST方式恢复到之前预先所备份的应用测试环境;使用一键GHOST恢复到备份的应用测试环境,是借助一键GHOST中的功能,通过读取白定义的Windows boot manager文件,恢复备份的应用测试环境。
步骤202:安装所述待测应用;
本发明实施例中,可选地,提供两种安装所述应用软件的方式:鼠标点击按钮安装和静默安装。其中,鼠标点击安装与用户安装软件的方式一样,首先模拟启动所述应用的可执行程序,之后通过调用系统接口findWindow找到安装按钮,例如“下一步”、“完成”等,然后调用系统接口clickWindow点击所找到的安装按钮,直至安装结束;静默安装是通过在操作系统下自动运行命令“安装文件路径/S”,并等到安装进程消失时,结束安装;
步骤203:运行所述待测应用。其中,可以选择多种方式运行所述待测应用,如直接运行所述应用,或者先替换应用的软件程序中的部分资源文件,以开启或者关闭部分功能,然后再运行所述应用;
在用户将应用软件提交性能测试时,选择性地会附加调试版文件(debug),所述调试版文件为在源代码文件中添加了执行标记点,在应用软件的执行过程中,没遇到一个执行标记点都会相应地输出预先设定好的标记,以便在运行过程中能够定位问题。
本发明实施例中,可选地,在应用软件安装结束后,将发布版(release)即最终的可执行代码文件替换为调试版版文件,以在应用软件执行过程中输出应用软件的行为日志,用于定位问题。在测试结束后,将所述行为日志上传到数据库进行存储。
步骤204:安装第三方监控软件。本发明中,安装第三方监控软件的主要目的是为了用于监控系统行为,例如CPU、内存或者磁盘IO等。
上述构建应用运行环境的具体实施方式仅是示例性地说明其具体操作过程,本领域技术人员应当理解,其不仅限于上述实施方式。比如,步骤203中替换应用对应的软件程序中的部分资源和步骤204可根据实际情况进行选择使用,这两部分主要是在用于定位产品性能问题时使用。
步骤102:在所述计算设备上执行预定操作;即在安装了操作系统以及待测性能的应用,并启动所述应用以后,在此种系统环境下执行一些预定的操作,以测试系统的反应能力。
可选地,所述预定操作包括以下操作中的一个或者多个:拷贝文件、创建文件、下载文件、打开文件、安装应用程序、通过网络共享方式拷贝文件以及打开网页。而上述预定操作的执行行为都在安全软件的保护范围内。
可选地,执行所述预定操作的方式包括:配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合。
下面以测试用例方式执行所述预定操作为例来介绍执行所述预定操作的过程。
本发明实施例中,可以通过一个测试用例模拟用户执行上述预定操作中的一个的行为,不同预定操作对应不同测试用例。为了避免模拟用户执行上述预定操作行为的测试用例在运行时,调用上述测试用例的测试程序本身占用系统资源而影响对上述预定操作的操作性能数据的提取,采用单独编写程序的方式进行模拟,即将上述测试用例和所述测试程序进行分离。
本发明实施例中,采用模拟用户的手动操作来执行上述预定操作,每一个预定操作都对应一个相应的模拟用户行为的测试用例。
下面以Windows操作系统为例说明一下模拟用户执行上述预定操作的测试用例。
1)拷贝和创建文件
用户在Windows操作系统下通过鼠标点击和/或键盘快捷键的方式拷贝文件或新建文件到新目录的操作,所触发使用的是Windows操作系统白带的系统API接口:CopyFile或CreateFile。因此,在编写执行拷贝文件或创建文件操作的测试用例时,其执行程序也通过调用相同的系统API接口即CopyFile或CreateFile,准确模拟用户的行为;
2)打开文件,以word文档为例子说明
用户在Windows操作系统下通过鼠标点击和/或键盘快捷键方式打开一word文档时,其使用Windows office工具的执行文件Winword.exe打开word文档,而当文档全部打开时,因此在编写打开word文档操作的测试用例时,其也是模拟用户操作调用Winword.exe,并将所要打开的word文档的路径传递给Winword.exe程序来实现。该方式与用户双击打开word文档的方式一致。
3)打开网页操作
用户在浏览网页时,当网页内容展现在用户面前时,经过了网络发送HTTP请求,与服务器建立连接,服务器返回网页内容数据,渲染网页等几个阶段。因此,在编写打开网页操作的测试用例时,也通过模拟用户操作经过上述几个阶段打开网页,如开始时调用explorer.exe并传递所要打开的网页路径给explorer.exe,由explorer处理用户的网页打开请求一样向服务器请求数据并将服务器返回的数据显示给用户。在此过程中,额可以通过监控HTTP请求在每个阶段的响应时间,计算出执行用户打开网页这个操作所花费的时间。
可选地,本发明实施例中,通过将执行上述预定操作的用户行为编写为测试用例,一种用户行为对应一个测试用例,在执行预定操作的过程中,通过自动化顺序调用这些测试用例,来模拟用户的操作行为。如果需要添加模拟场景,只需要增加对应的测试用例即可。
可选地,在本发明其它实施例中,通过配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合执行上述预定操作。例如,可以将所述预定操作所执行的过程通过配置文件的方式、脚本的方式或批处理方式进行编写,并且在执行过程中直接调用所述配置文件、脚本和批处理文件来执行预定操作。
此外,还可以将通过上述方式中两种以上的组合形式来执行所述预定操作。例如,通过为每个预定操作编写测试用例来实现预定操作的执行时,这些测试用例的集合可以通过配置文件、脚本文件和批处理文件的方式进行控制执行,即测试人员在每次开始时只要修改相应的配置文件、脚本文件或批处理文件中的内容即可进行不同测试用例的测试,实现不同的测试目的。
下面以配置文件为例说明如何同时控制每个用例的执行过程。配置文件的设置例如:
其中,com节点表示通用配置,copyfile表示拷贝文件操作,其对应拷贝文件的测试用例。com节点中的runnum表示默认执行次数,如果copyfile测试用例中未配置runnum,那么该测试用例的执行次数即为3次,上述配置文件例子中由于copyfile测试用例中配置了其执行次数“runnum=5”,因此执行次数为5次。wait表示测试用例开始测试时的等待时间,规则与执行次数runnum一致。system表示操作系统的类型,ghost表示是X86或者X64系统,install表示测试用例对应的程序路径。测试用例copyfile中的reboot表示计算机的重启方式:0,表示该copyfile测试用例执行前后均不重启计算机;1表示在执行copyfile测试用例前重启计算机;2表示在执行完该测试用例后重启计算机,重启计算机意味着清理了系统缓存,重启的方式决定是否清理缓存,什么时间点清理。
图3示出了以上述配置文件为例执行预定操作的具体流程示意图。如图3所示,该流程主要包括:
步骤301:解析配置文件,获得其中要执行的测试用例为copyfile测试用例,且其执行次数为5次,执行前等待时间为300s,并且每次执行该测试用例前需要重启计算机;
步骤302:开始执行copyfile测试用例;
步骤303:重启计算机;
步骤304:等待300秒;
步骤305:调用install对应的程序路径下copyfile测试用例对应的程序,以执行文件拷贝操作;
步骤306:判断是否执行5次,若否则转步骤302;否则相应存储数据并执行下一个用例。
步骤103:记录执行所述预定操作的操作性能数据。执行所述预定操作的目的是为了获取待测应用在执行这些预定操作过程中的性能。因此,在执行预定操作的过程中需要记录每个预定操作执行时的操作性能数据。
在计算机的使用过程中,影响用户使用的主要因素是计算机运行速度,即对用户操作的响应时间。因此,在执行上述预定操作的过程中,主要以记录执行该预定操作所耗费的时间为主。
本发明实施例中,可选地,通过监控软件记录所述预定操作的操作性能数据;还可以通过执行所述预定操作的相应调试版本文件记录所述操作性能数据;另外,对于采用测试用例的方式执行预定操作的方式,可以由测试用例本身记录其运行时间,以获得相应的预定操作的操作性能数据。在记录性能数据时,上述三种方式可以择一或者组合使用。
如前所述,监控软件可以是安装的第三方软件,用于在执行预定操作的过程中监控系统的资源如:CPU、内存、磁盘IO以及网络带宽的占用情况等。
如前所述,在待测应用安装完成以后,可以将其代码文件替换成为debug版本,debug版本中设置相应的记录标记,以便记录待测应用的输出日志。
每执行完一个预定操作,将上述记录的耗费时间、待测应用的输出日志以及第三方监控软件输出的系统资源数据保存到存储器中,以备后续分析结果时使用。
步骤104:基于所述预定操作的操作性能数据来确定所述应用的性能。
可选地,基于所述预定操作的操作性能数据来确定所述应用的性能具体包括:
过滤所记录的操作性能数据中的异常数据;
比较所述过滤后的操作性能数据和基准性能数据;
根据比较结果确定所述应用的性能;
其中,所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
在待测应用的测试过程中,可以通过科学的计算公式分析结果数据,对于每个测试进行评分,在通过一段时间的性能测试后,产品相关人员可以直观地观察出待测应用每个属性的趋势变化,十分容易观察出待测应用的性能问题。
下面举例说明一下待测应用的具体分析方法:
图4示出了本发明中基于所述预定操作的操作性能数据来确定所述应用的性能的具体实施方式流程图。如图4所示,其包括:
步骤401:过滤所记录的操作性能数据中的异常数据。
性能测试数据主要还是以行为操作所花费的时间为主,时间正是反映的用户操作速度,也是用户体验的重要组成部分。每个预定操作的执行都会根据用户设置的执行次数,执行多次。由于测试环境存在干扰,导致多次执行的结果中个别数据出现波动,对于这种波动可以通过正态分布过滤方法,将异常数据过滤掉,如公式(1)所示:
(μ-n×σ)<t<(μ+n×σ) (1)
其中,t是每轮测试得到的预定操作的操作性能数据中非异常数据,μ是所述预定操作的操作性能数据的均值,σ是所述预定操作的操作性能数据的均方差,n是设定好的倍数,默认为n=3,不符合上述公式(1)的t即为异常数据,需要滤除。
步骤402:比较所述过滤后的操作性能数据和基准性能数据。所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
首先,计算每个预定操作在未安装待测应用时,即在基准环境下的操作性能数据,记为基准性能数据;
然后,将安装了所述待测应用后,获得的每个预定操作对应的操作性能数据与对应的基准性能数据进行比较,差距越小,表明待测应用占用的系统资源越少,对于用户的影响也就越低。
步骤403:根据比较结果确定所述应用的性能。如上所述,安装了待测应用后得到的预定操作的操作性能数据与基准性能数据之间的差距越小,表明待测应用占用的系统资源越少,对于用户的影响也就越低,也就是说其性能越好,相反,如果差距越大,表面待测应用在执行过程中占用系统资源比较大,这种情况下用户执行其他操作时能够分配到的系统资源相对来说会变少,因此对用户的影响比较大,其性能相对来说比较差。
待测应用对用户体验的影响可以根据下式来衡量:
其中,α是百分比数字,表示用户的体验,定义在不同的百分比区间范围内,得到的分数不同。
图5示出了待测应用对用户体验的影响百分比示意图。如图3所示,其中显示的是分段函数,每个百分比区间对应不同的斜率,10%以内说明对于用户的操作影响十分小,定位为满分;10到30之间,影响的程度较弱,斜率也较小;30到90影响较为显著,斜率增大;90以上是不能忍受的范围,统一为0分。该曲线算法较为简单,也能较好的模拟用户感受变化。
此外,根据本发明提出的上述方法还能够基于待测应用的性能数据,采用定位测试模式定位待测应用的问题所在。
测试人员可以通过观察待测应用的性能结果中每一项测试分数,分数较低的即为性能瓶颈。此时,需要找到具体原因。寻找原因的方法可以是借助存储数据中,该次测试对应的待测应用所输出的日志以及第三方监控软件记录的系统性能数据。待测应用输出的日志记录其在执行过程中自身的行为,每个行为有对应的时间消耗,时间消耗较长的首先被怀疑为行为瓶颈;还可以通过分析查看第三方软件记录的性能数据如计算机中CPU、内存以及磁盘IO等信息在不同时间内的变化趋势,例如CPU在某个时间段陡增,通过观察该段时间内频繁操作的进程,如果该进程属于待测应用,即可能为待测应用的性能瓶颈。
对本发明提出的上述方法以Windows系统为例进行了说明,但是本领域技术人员应当知道,本发明提供的上述方法不仅限于Windows系统和安全检测等领域,其同样适用于其它操作系统。
综上所述,本发明提供了一种应用的性能测试方法,其通过使用不同配置的计算机,构建不同的测试环境,并模拟用户的常态行为,执行一系列的预定操作,并在执行相应操作的过程中记录执行预定操作耗费的时间,同时还通过第三方监控软件监控待测应用执行过程中的系统性能数据,以及待测应用自身执行过程中的调试日志等,通过上述记录的数据,通过分析比较得到待测应用的性能数据,并根据上述记录的数据,定位待测应用的问题所在。整个性能测试过程全自动化实现,不需要人为干预;且整个性能测试过程均采用手工测试中使用的计算机,没有增加额外的硬件开销,但同时又解放了大量的人力资源,降低了成本。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本中请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
图6示出了本发明中一种应用的性能分析装置的功能模块化结构图。如图6所示,其中所述应用适于在计算设备上运行,并会影响在该计算设备上运行的其他应用的性能,该装置包括:
应用运行模块601,用于在计算机设备上构建所述应用的运行环境并运行所述应用;
预定操作模块602,用于在所述计算设备上执行预定操作;
记录模块603,用于记录执行所述预定操作的操作性能数据;
性能确定模块604,用于基于所述预定操作的操作性能数据来确定所述应用的性能。
下面依然主要以Windows系统为例详细说明本发明提出的应用的性能测试装置所包括的上述各个模块实现的功能,本领域技术人员应当知道,该装置不仅限于Windows系统,其还适用于其它任何图形化界面系统。
应用运行模块601,用于在计算机设备上构建待测应用的运行环境并运行所述待测应用。所述待测应用的运行环境包括硬件环境和软件环境,所述硬件环境主要包括其所运行的计算机的CPU、内存、磁盘IO以及网络带宽等等,而软件环境主要包括操作系统。
可选地,所述应用运行模块601包括:
操作系统安装模块,用于在所述计算设备上安装适于运行所述应用的操作系统;
应用安装及运行模块,用于在所述操作系统中安装及运行所述应用。
不同用户使用的计算机存在环境差异,主要体现在两点:
第一,计算机硬件配置存在差异。对应用软件进行测试时,测试环境应当覆盖不同硬件配置的计算机,性能测试环境中的计算机硬件配置中CPU可以为单核或者多核,内存大小设置有所不同,网络连接带宽有10M或者100M等,这样尽可能多地覆盖不同用户的硬件环境;
第二,计算机操作系统的类型存在差异。操作系统有多种多样,有些应用是可以跨平台即在不同操作系统上运行,而有些应用只能在特定操作系统下运行,因此计算机操作类型的选择主要根据应用自身的特点进行选择。目前以Windows操作系统为开发平台进行软件开发占大多数,而Windows的系统的版本又有所不同,包括Windows XP、Windows7等等,同时其底层的体系结构又区分为X86和X64两种微处理器的体系结构;其他操作系统也有类似的区分。因此,在构建性能测试环境中的计算机软件环境时,需要尽可能覆盖应用所能适应的不同种类的操作系统以及相应操作系统的不同版本等。
因此,本发明中需要预先根据实际情况搭建多种不同的测试环境,包括在不同的硬件配置上使用不同操作系统等。而这些在特定硬件配置环境下所构建的测试环境可以预先存储起来,以备后续使用。例如,可以将不同的应用测试环境通过使用第三方软件“一键Ghost”进行系统备份等。
在应用的性能测试开始时,首先应用运行模块构建所述应用的运行环境,并在所构建的运行环境下运行所述应用。
在Windows系统下构建应用软件环境的具体实施方式包括:
首先,在具有相应硬件配置的计算机设备上安装适于运行所述待测应用的操作系统。
可选地,安装所述操作系统可以使用一键GHOST方式恢复到之前预先所备份的应用测试环境;使用一键GHOST恢复到备份的应用测试环境,是借助一键GHOST中的功能,通过读取白定义的Windows boot manager文件,恢复备份的应用测试环境。
其次,安装所述待测应用;
本发明实施例中,可选地,提供两种安装所述应用软件的方式:鼠标点击按钮安装和静默安装。其中,鼠标点击安装与用户安装软件的方式一样,首先模拟启动所述应用的可执行程序,之后通过调用系统接口findWindow找到安装按钮,例如“下一步”、“完成”等,然后调用系统接口clickWindow点击所找到的安装按钮,直至安装结束;静默安装是通过在操作系统下自动运行命令“安装文件路径/S”,并等到安装进程消失时,结束安装;
之后,运行所述待测应用。其中,可以选择多种方式运行所述待测应用,如直接运行所述应用,或者先替换应用的软件程序中的部分资源文件,以开启或者关闭部分功能;
在用户将应用软件提交性能测试时,选择性地会附加调试版文件(debug),所述调试版文件为在源代码文件中添加了执行标记点,在应用软件的执行过程中,没遇到一个执行标记点都会相应地输出预先设定好的标记,以便在运行过程中能够定位问题。
本发明实施例中,可选地,在应用软件安装结束后,将发布版(release)即最终的可执行代码文件替换为调试版版文件,以在应用软件执行过程中输出应用软件的行为日志,用于定位问题。在测试结束后,将所述行为日志上传到数据库进行存储。
可选地,安装第三方监控软件。本发明中,安装第三方监控软件的主要目的是为了用于监控系统行为,例如CPU、内存或者磁盘IO等。
上述构建应用运行环境的具体实施方式仅是示例性地说明其具体操作过程,本领域技术人员应当理解,其不仅限于上述实施方式。比如,运行所述待测应用时替换应用对应的软件程序中的部分资源和安装第三方监控软件部分可根据实际情况进行选择使用,这两部分主要是在用于定位产品性能问题时使用。
预定操作模块602,用于在所述计算设备上执行预定操作;即在安装了操作系统以及待测性能的应用,并启动所述应用以后,在此种系统环境下执行一些预定的操作,以测试系统的反应能力。
可选地,所述预定操作包括以下操作中的一个或者多个:拷贝文件、创建文件、下载文件、打开文件、安装应用程序、通过网络共享方式拷贝文件以及打开网页。而上述预定操作的执行行为都在安全软件的保护范围内。
可选地,执行所述预定操作的方式包括:配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合。
下面以测试用例方式执行所述预定操作为例来介绍执行所述预定操作的过程。
本发明实施例中,可以通过一个测试用例模拟用户执行上述预定操作中的一个的行为,不同预定操作对应不同测试用例。为了避免模拟用户执行上述预定操作行为的测试用例在运行时,调用上述测试用例的测试程序本身占用系统资源而影响对上述预定操作的操作性能数据的提取,采用单独编写程序的方式进行模拟,即将上述测试用例和所述测试程序进行分离。
本发明实施例中,采用模拟用户的手动操作来执行上述预定操作,每一个预定操作都对应一个相应的模拟用户行为的测试用例。
下面以Windows操作系统为例说明一下模拟用户执行上述预定操作的测试用例。
1)拷贝和创建文件
用户在Windows操作系统下通过鼠标点击和/或键盘快捷键的方式拷贝文件或新建文件到新目录的操作,所触发使用的是Windows操作系统白带的系统API接口:CopyFile或CreateFile。因此,在编写执行拷贝文件或创建文件操作的测试用例时,其执行程序也通过调用相同的系统APl接口即CopyFile或CreateFile,准确模拟用户的行为;
2)打开文件,以word文档为例子说明
用户在Windows操作系统下通过鼠标点击和/或键盘快捷键方式打开一word文档时,其使用Windows office工具的执行文件Winword.exe打开word文档,而当文档全部打开时,因此在编写打开word文档操作的测试用例时,其也是模拟用户操作调用Winword.exe,并将所要打开的word文档的路径传递给Winword.exe程序来实现。该方式与用户双击打开word文档的方式一致。
3)打开网页操作
用户在浏览网页时,当网页内容展现在用户面前时,经过了网络发送HTTP请求,与服务器建立连接,服务器返回网页内容数据,渲染网页等几个阶段。因此,在编写打开网页操作的测试用例时,也通过模拟用户操作经过上述几个阶段打开网页,如开始时调用explorer.exe并传递所要打开的网页路径给explorer.exe,由explorer处理用户的网页打开请求一样向服务器请求数据并将服务器返回的数据显示给用户。在此过程中,额可以通过监控HTTP请求在每个阶段的响应时间,计算出执行用户打开网页这个操作所花费的时间。
可选地,本发明实施例中,通过将执行上述预定操作的用户行为编写为测试用例,一种用户行为对应一个测试用例,在执行预定操作的过程中,通过自动化顺序调用这些测试用例,来模拟用户的操作行为。如果需要添加模拟场景,只需要增加对应的测试用例即可。
可选地,在本发明其它实施例中,通过配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合执行上述预定操作。例如,可以将所述预定操作所执行的过程通过配置文件的方式、脚本的方式或批处理方式进行编写,并且在执行过程中直接调用所述配置文件、脚本和批处理文件来执行预定操作。
此外,还可以将通过上述方式中两种以上的组合形式来执行所述预定操作。例如,通过为每个预定操作编写测试用例来实现预定操作的执行时,这些测试用例的集合可以通过配置文件、脚本文件和批处理文件的方式进行控制执行,即测试人员在每次开始时只要修改相应的配置文件、脚本文件或批处理文件中的内容即可进行不同测试用例的测试,实现不同的测试目的。
下面以配置文件为例说明如何同时控制每个用例的执行过程。配置文件的设置例如:
其中,com节点表示通用配置,copyfile表示拷贝文件操作,其对应拷贝文件的测试用例。com节点中的runnum表示默认执行次数,如果copyfile测试用例中未配置runnum,那么该测试用例的执行次数即为3次,上述配置文件例子中由于copyfile测试用例中配置了其执行次数“runnum=5”,因此执行次数为5次。wait表示测试用例开始测试时的等待时间,规则与执行次数runnum一致。System表示操作系统的类型,ghost表示是X86或者X64系统,install表示测试用例对应的程序路径。测试用例copyfile中的reboot表示计算机的重启方式:0,表示该copyfile测试用例执行前后均不重启计算机;1表示在执行copyfile测试用例前重启计算机;2表示在执行完该测试用例后重启计算机,重启计算机意味着清理了系统缓存,重启的方式决定是否清理缓存,什么时间点清理。
下面以上述配置文件为例说明执行预定操作的具体流程,该流程主要包括:
解析配置文件,获得其中要执行的测试用例为copyfile测试用例,且其执行次数为5次,执行前等待时间为300s,并且每次执行该测试用例前需要重启计算机;
开始执行copyfile测试用例;
重启计算机;
等待300秒;
调用install对应的程序路径下copyfile测试用例对应的程序,以执行文件拷贝操作;
判断是否执行5次,若否则转步骤302;否则相应存储数据并执行下一个用例。
记录模块603,用于记录执行所述预定操作的操作性能数据。执行所述预定操作的目的是为了获取待测应用在执行这些预定操作过程中的性能。因此,在执行预定操作的过程中需要记录每个预定操作执行时的操作性能数据。
在计算机的使用过程中,影响用户使用的主要因素是计算机运行速度,即对用户操作的响应时间。因此,在执行上述预定操作的过程中,主要以记录执行该预定操作所耗费的时间为主。
本发明实施例中,可选地,通过监控软件记录所述预定操作的操作性能数据;还可以通过执行所述预定操作的相应调试版本文件记录所述操作性能数据;另外,对于采用测试用例的方式执行预定操作的方式,可以由测试用例本身记录其运行时间,以获得相应的预定操作的操作性能数据。在记录性能数据时,上述三种方式可以择一或者组合使用。
如前所述,监控软件可以是安装的第三方软件,用于在执行预定操作的过程中监控系统的资源如:CPU、内存、磁盘IO以及网络带宽的占用情况等。
如前所述,在待测应用安装完成以后,可以将其代码文件替换成为debug版本,debug版本中设置相应的记录标记,以便记录待测应用的输出日志。
每执行完一个预定操作,将上述记录的耗费时间、待测应用的输出日志以及第三方监控软件输出的系统资源数据保存到存储器中,以备后续分析结果时使用。
性能确定模块604,用于基于所述预定操作的操作性能数据来确定所述应用的性能。
可选地,所述性能确定模块包括:
过滤模块,用于过滤所记录的操作性能数据中的异常数据;
比较模块,用于比较所述过滤后的操作性能数据和基准性能数据;
确定模块,用于根据比较结果确定所述应用的性能;
其中,所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
在待测应用的测试过程中,可以通过科学的计算公式分析结果数据,对于每个测试进行评分,在通过一段时间的性能测试后,产品相关人员可以直观地观察出待测应用每个属性的趋势变化,十分容易观察出待测应用的性能问题。
下面举例说明一下待测应用的具体分析方法:
本发明中基于所述预定操作的操作性能数据来确定所述应用的性能的实施方式具体包括:
首先,过滤所记录的操作性能数据中的异常数据。
性能测试数据主要还是以行为操作所花费的时间为主,时间正是反映的用户操作速度,也是用户体验的重要组成部分。每个预定操作的执行都会根据用户设置的执行次数,执行多次。由于测试环境存在干扰,导致多次执行的结果中个别数据出现波动,对于这种波动可以通过正态分布过滤方法,将异常数据过滤掉,如公式(1)所示:
(μ-n×σ)<t<(μ+n×σ) (1)
其中,t是每轮测试得到的预定操作的操作性能数据中非异常数据,μ是所述预定操作的操作性能数据的均值,σ是所述预定操作的操作性能数据的均方差,n是设定好的倍数,默认为n=3,不符合上述公式(1)的t即为异常数据,需要滤除。
其次,比较所述过滤后的操作性能数据和基准性能数据。所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。具体地:
计算每个预定操作在未安装待测应用时,即在基准环境下的操作性能数据,记为基准性能数据;
将安装了所述待测应用后,获得的每个预定操作对应的操作性能数据与对应的基准性能数据进行比较,差距越小,表明待测应用占用的系统资源越少,对于用户的影响也就越低。
最后,根据比较结果确定所述应用的性能。如上所述,安装了待测应用后得到的预定操作的操作性能数据与基准性能数据之间的差距越小,表明待测应用占用的系统资源越少,对于用户的影响也就越低,也就是说其性能越好,相反,如果差距越大,表面待测应用在执行过程中占用系统资源比较大,这种情况下用户执行其他操作时能够分配到的系统资源相对来说会变少,因此对用户的影响比较大,其性能相对来说比较差。
待测应用对用户体验的影响可以根据下式来衡量:
其中,α是百分比数字,表示用户的体验,定义在不同的百分比区间范围内,得到的分数不同。
此外,根据本发明提出的上述装置还能够基于待测应用的性能数据,采用定位测试模式定位待测应用的问题所在。
测试人员可以通过观察待测应用的性能结果中每一项测试分数,分数较低的即为性能瓶颈。此时,需要找到具体原因。寻找原因的方法可以是借助存储数据中,该次测试对应的待测应用所输出的日志以及第三方监控软件记录的系统性能数据。待测应用输出的日志记录其在执行过程中自身的行为,每个行为有对应的时间消耗,时间消耗较长的首先被怀疑为行为瓶颈;还可以通过分析查看第三方软件记录的性能数据如计算机中CPU、内存以及磁盘IO等信息在不同时间内的变化趋势,例如CPU在某个时间段陡增,通过观察该段时间内频繁操作的进程,如果该进程属于待测应用,即可能为待测应用的性能瓶颈。
对本发明提出的上述方法以Windows系统为例进行了说明,但是本领域技术人员应当知道,本发明提供的上述方法不仅限于Windows系统和安全检测等领域,其同样适用于其它操作系统。
综上所述,本发明提供了一种应用的性能测试装置,其通过使用不同配置的计算机,构建不同的测试环境,并模拟用户的常态行为,执行一系列的预定操作,并在执行相应操作的过程中记录执行预定操作耗费的时间,同时还通过第三方监控软件监控待测应用执行过程中的系统性能数据,以及待测应用自身执行过程中的调试日志等,通过上述记录的数据,通过分析比较得到待测应用的性能数据,并根据上述记录的数据,定位待测应用的问题所在。整个性能测试过程全自动化实现,不需要人为干预;且整个性能测试过程均采用手工测试中使用的计算机,没有增加额外的硬件开销,但同时又解放了大量的人力资源,降低了成本。
由于所述装置实施例基本相应于前述图1所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。
c11、根据权利要求9或者10所述的装置,其中所述预定操作包括以下操作中的一个或者多个:拷贝文件、创建文件、下载文件、打开文件、安装应用程序、通过网络共享方式拷贝文件以及打开网页。
c12、根据权利要求9或者10所述的装置,其中所述操作性能包括以下中的一个或者多个:完成操作的时间、执行操作期间所述计算设备的CPU使用率、内存使用率、磁盘IO使用率以及网络带宽使用率。
c13、根据权利要求12所述的装置,其中预定操作模块执行所述预定操作的方式包括:配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合。
c14、根据权利要求9-10、13中任一项所述的装置,其中记录模块通过监控软件记录所述预定操作的操作性能数据。
c15、根据权利要求9-10、13中任一项所述的装置,其中记录模块通过执行所述预定操作的相应调试版本文件记录所述操作性能数据。
c16、根据权利要求9-10、13中任一项所述的装置,其中性能确定模块包括:
过滤模块,用于过滤所记录的操作性能数据中的异常数据;
比较模块,用于比较所述过滤后的操作性能数据和基准性能数据;
确定模块,用于根据比较结果确定所述应用的性能;
其中,所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
本发明提出的上述方案可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用的性能分析方法,该应用适于在计算设备上运行,并会影响在该计算设备上运行的其他应用的性能,该方法包括步骤:
在计算机设备上构建所述应用的运行环境并运行所述应用;
在所述计算设备上执行预定操作;
记录执行所述预定操作的操作性能数据;以及
基于所述预定操作的操作性能数据来确定所述应用的性能。
2.根据权利要求1所述的方法,其中在计算机设备上构建所述应用的运行环境并运行所述应用包括:
在所述计算设备上安装适于运行所述应用的操作系统;以及
在所述操作系统中安装并运行所述应用。
3.根据权利要求1或者2所述的方法,其中所述预定操作包括以下操作中的一个或者多个:拷贝文件、创建文件、下载文件、打开文件、安装应用程序、通过网络共享方式拷贝文件以及打开网页。
4.根据权利要求1或者2所述的方法,其中所述操作性能包括以下中的一个或者多个:完成操作的时间、执行操作期间所述计算设备的CPU使用率、内存使用率、磁盘IO使用率以及网络带宽使用率。
5.根据权利要求4所述的方法,其中执行所述预定操作的方式包括:配置文件方式、脚本方式、用例方式和批处理方式中的任意一种或多种方式的组合。
6.根据权利要求1-2、5中任一项所述的方法,其中通过监控软件记录所述预定操作的操作性能数据。
7.根据权利要求1-2、5中任一项所述的方法,其中通过执行所述预定操作的相应调试版本文件记录所述操作性能数据。
8.根据权利要求1-2、5中任一项所述的方法,其中基于所述预定操作的操作性能数据来确定所述应用的性能具体包括:
过滤所记录的操作性能数据中的异常数据;
比较所述过滤后的操作性能数据和基准性能数据;
根据比较结果确定所述应用的性能;
其中,所述基准性能数据包括未运行所述应用时执行相同预定操作时获得的操作性能数据。
9.一种应用的性能分析装置,该应用适于在计算设备上运行,并会影响在该计算设备上运行的其他应用的性能,该装置包括:
应用运行模块,用于在计算机设备上构建所述应用的运行环境并运行所述应用;
预定操作模块,用于在所述计算设备上执行预定操作;
记录模块,用于记录执行所述预定操作的操作性能数据;
性能确定模块,用于基于所述预定操作的操作性能数据来确定所述应用的性能。
10.根据权利要求9所述的装置,其中所述应用运行模块包括:
操作系统安装模块,用于在所述计算设备上安装适于运行所述应用的操作系统;
应用安装及运行模块,用于在所述操作系统中安装及运行所述应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310587103.8A CN103577328B (zh) | 2013-11-20 | 2013-11-20 | 一种应用的性能分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310587103.8A CN103577328B (zh) | 2013-11-20 | 2013-11-20 | 一种应用的性能分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103577328A true CN103577328A (zh) | 2014-02-12 |
CN103577328B CN103577328B (zh) | 2016-08-17 |
Family
ID=50049152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310587103.8A Active CN103577328B (zh) | 2013-11-20 | 2013-11-20 | 一种应用的性能分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103577328B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391968A (zh) * | 2014-12-03 | 2015-03-04 | 北京奇虎科技有限公司 | 一种应用的特征参数的估算方法和装置 |
CN104461832A (zh) * | 2015-01-07 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种监控应用服务器资源的方法及装置 |
CN105118107A (zh) * | 2015-09-01 | 2015-12-02 | 国家电网公司 | 应用巡检方法及装置 |
CN105426297A (zh) * | 2015-12-24 | 2016-03-23 | 北京恒华伟业科技股份有限公司 | 一种系统性能测试方法及装置 |
CN106095690A (zh) * | 2016-06-23 | 2016-11-09 | 维沃移动通信有限公司 | 应用的测试方法及移动终端 |
CN106095660A (zh) * | 2016-06-14 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 应用的质量监控方法及装置 |
CN106201856A (zh) * | 2015-05-04 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种多版本性能测试方法及装置 |
CN106357466A (zh) * | 2016-11-10 | 2017-01-25 | 福州智永信息科技有限公司 | 一种互联网产品监控方法及监控系统 |
CN106775608A (zh) * | 2015-11-24 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 独立系统进程的实现方法和装置 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
CN107656860A (zh) * | 2017-10-18 | 2018-02-02 | 北京奇虎科技有限公司 | 性能测试方法、装置及系统 |
CN108009095A (zh) * | 2017-12-26 | 2018-05-08 | 上海展扬通信技术有限公司 | 内存测试方法及相关产品 |
CN108446210A (zh) * | 2018-02-07 | 2018-08-24 | 平安科技(深圳)有限公司 | 系统性能的度量方法、存储介质和服务器 |
CN108667911A (zh) * | 2018-04-23 | 2018-10-16 | 广州赫炎大数据科技有限公司 | 一种应用程序的数据采集方法及系统 |
CN108833168A (zh) * | 2018-06-20 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种服务器集群环境网络系统及稳定性检测方法 |
CN109271302A (zh) * | 2018-09-11 | 2019-01-25 | 无锡江南计算技术研究所 | 基于资源占用率统计的用户体验级基准测试集构建方法 |
CN109359022A (zh) * | 2018-11-20 | 2019-02-19 | 信阳农林学院 | 一种计算机软件性能测试方法 |
CN110032514A (zh) * | 2019-04-11 | 2019-07-19 | 华夏天信(北京)智能低碳技术研究院有限公司 | 一种矿用电机远程监控中可配置Red-Sensing监控软件测试方法 |
CN110955591A (zh) * | 2019-10-18 | 2020-04-03 | 文思海辉智科科技有限公司 | 系统性能评估方法、装置、计算机设备和存储介质 |
CN112559294A (zh) * | 2020-12-22 | 2021-03-26 | 郑州阿帕斯科技有限公司 | 一种应用页面资源消耗的确定方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143514A1 (en) * | 2002-12-26 | 2007-06-21 | Kaushik Shivnandan D | Mechanism for processor power state aware distribution of lowest priority interrupts |
CN101917286A (zh) * | 2010-07-30 | 2010-12-15 | 上海普元信息技术股份有限公司 | 互联网应用系统中实现跨浏览器的Web性能分析系统及方法 |
CN103150253A (zh) * | 2013-03-15 | 2013-06-12 | 珠海市君天电子科技有限公司 | 一种用于持续性能测试的方法和系统 |
-
2013
- 2013-11-20 CN CN201310587103.8A patent/CN103577328B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143514A1 (en) * | 2002-12-26 | 2007-06-21 | Kaushik Shivnandan D | Mechanism for processor power state aware distribution of lowest priority interrupts |
CN101917286A (zh) * | 2010-07-30 | 2010-12-15 | 上海普元信息技术股份有限公司 | 互联网应用系统中实现跨浏览器的Web性能分析系统及方法 |
CN103150253A (zh) * | 2013-03-15 | 2013-06-12 | 珠海市君天电子科技有限公司 | 一种用于持续性能测试的方法和系统 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391968B (zh) * | 2014-12-03 | 2018-04-13 | 北京奇虎科技有限公司 | 一种应用的特征参数的估算方法和装置 |
CN104391968A (zh) * | 2014-12-03 | 2015-03-04 | 北京奇虎科技有限公司 | 一种应用的特征参数的估算方法和装置 |
CN104461832A (zh) * | 2015-01-07 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种监控应用服务器资源的方法及装置 |
CN104461832B (zh) * | 2015-01-07 | 2017-09-12 | 浪潮(北京)电子信息产业有限公司 | 一种监控应用服务器资源的方法及装置 |
CN106201856A (zh) * | 2015-05-04 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种多版本性能测试方法及装置 |
CN105118107A (zh) * | 2015-09-01 | 2015-12-02 | 国家电网公司 | 应用巡检方法及装置 |
CN105118107B (zh) * | 2015-09-01 | 2018-04-20 | 国家电网公司 | 应用巡检方法及装置 |
CN106775608B (zh) * | 2015-11-24 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 独立系统进程的实现方法和装置 |
CN106775608A (zh) * | 2015-11-24 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 独立系统进程的实现方法和装置 |
CN105426297A (zh) * | 2015-12-24 | 2016-03-23 | 北京恒华伟业科技股份有限公司 | 一种系统性能测试方法及装置 |
CN105426297B (zh) * | 2015-12-24 | 2018-06-12 | 北京恒华伟业科技股份有限公司 | 一种系统性能测试方法及装置 |
CN106095660A (zh) * | 2016-06-14 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 应用的质量监控方法及装置 |
CN106095660B (zh) * | 2016-06-14 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | 应用的质量监控方法及装置 |
CN106095690A (zh) * | 2016-06-23 | 2016-11-09 | 维沃移动通信有限公司 | 应用的测试方法及移动终端 |
CN106357466A (zh) * | 2016-11-10 | 2017-01-25 | 福州智永信息科技有限公司 | 一种互联网产品监控方法及监控系统 |
CN106357466B (zh) * | 2016-11-10 | 2019-06-21 | 福州智永信息科技有限公司 | 一种互联网产品监控方法及监控系统 |
CN107544897A (zh) * | 2017-08-25 | 2018-01-05 | 重庆扬讯软件技术股份有限公司 | 基于一体化实时监控的性能测试方法与系统 |
CN107656860A (zh) * | 2017-10-18 | 2018-02-02 | 北京奇虎科技有限公司 | 性能测试方法、装置及系统 |
CN108009095A (zh) * | 2017-12-26 | 2018-05-08 | 上海展扬通信技术有限公司 | 内存测试方法及相关产品 |
CN108009095B (zh) * | 2017-12-26 | 2021-02-09 | 上海展扬通信技术有限公司 | 内存测试方法及相关产品 |
CN108446210A (zh) * | 2018-02-07 | 2018-08-24 | 平安科技(深圳)有限公司 | 系统性能的度量方法、存储介质和服务器 |
CN108446210B (zh) * | 2018-02-07 | 2021-04-30 | 平安科技(深圳)有限公司 | 系统性能的度量方法、存储介质和服务器 |
CN108667911A (zh) * | 2018-04-23 | 2018-10-16 | 广州赫炎大数据科技有限公司 | 一种应用程序的数据采集方法及系统 |
CN108667911B (zh) * | 2018-04-23 | 2021-12-28 | 广州赫炎大数据科技有限公司 | 一种应用程序的数据采集方法及系统 |
CN108833168A (zh) * | 2018-06-20 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种服务器集群环境网络系统及稳定性检测方法 |
CN108833168B (zh) * | 2018-06-20 | 2021-08-20 | 郑州云海信息技术有限公司 | 一种服务器集群环境网络系统及稳定性检测方法 |
CN109271302A (zh) * | 2018-09-11 | 2019-01-25 | 无锡江南计算技术研究所 | 基于资源占用率统计的用户体验级基准测试集构建方法 |
CN109359022A (zh) * | 2018-11-20 | 2019-02-19 | 信阳农林学院 | 一种计算机软件性能测试方法 |
CN109359022B (zh) * | 2018-11-20 | 2022-05-27 | 信阳农林学院 | 一种计算机软件性能测试方法 |
CN110032514A (zh) * | 2019-04-11 | 2019-07-19 | 华夏天信(北京)智能低碳技术研究院有限公司 | 一种矿用电机远程监控中可配置Red-Sensing监控软件测试方法 |
CN110955591A (zh) * | 2019-10-18 | 2020-04-03 | 文思海辉智科科技有限公司 | 系统性能评估方法、装置、计算机设备和存储介质 |
CN112559294A (zh) * | 2020-12-22 | 2021-03-26 | 郑州阿帕斯科技有限公司 | 一种应用页面资源消耗的确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103577328B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577328A (zh) | 一种应用的性能分析方法及装置 | |
Biørn-Hansen et al. | An empirical investigation of performance overhead in cross-platform mobile development frameworks | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
Miranskyy et al. | Operational-log analysis for big data systems: Challenges and solutions | |
Su et al. | Benchmarking automated GUI testing for Android against real-world bugs | |
Zhang et al. | Panappticon: Event-based tracing to measure mobile application and platform performance | |
US7900198B2 (en) | Method and system for parameter profile compiling | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
Agarwal et al. | Diagnosing mobile applications in the wild | |
US9043653B2 (en) | Introspection of software program components and conditional generation of memory dump | |
US10509719B2 (en) | Automatic regression identification | |
US10528456B2 (en) | Determining idle testing periods | |
US10657027B2 (en) | Aggregating data for debugging software | |
CN111897727A (zh) | 软件测试方法、装置、计算机设备及存储介质 | |
Shimari et al. | Near-omniscient debugging for java using size-limited execution trace | |
US10216620B2 (en) | Static code testing of active code | |
CN104809063A (zh) | 分布式系统的测试方法及装置 | |
Agarwal et al. | There’s an app for that, but it doesn’t work. Diagnosing mobile applications in the wild | |
Marinho et al. | Evaluating testing strategies for resource related failures in mobile applications | |
Portillo‐Dominguez et al. | PHOEBE: an automation framework for the effective usage of diagnosis tools in the performance testing of clustered systems | |
Flora et al. | µDetector: Automated Intrusion Detection for Microservices | |
CN115509913A (zh) | 软件自动化测试方法、装置、机器可读介质及设备 | |
US10956304B2 (en) | Dynamic diagnostic code instrumentation over a historic program execution | |
JP5592828B2 (ja) | パッチ影響解析装置、方法及びプログラム | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220727 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |