CN104166619A - 应用程序的性能测试方法及终端 - Google Patents
应用程序的性能测试方法及终端 Download PDFInfo
- Publication number
- CN104166619A CN104166619A CN201310187399.4A CN201310187399A CN104166619A CN 104166619 A CN104166619 A CN 104166619A CN 201310187399 A CN201310187399 A CN 201310187399A CN 104166619 A CN104166619 A CN 104166619A
- Authority
- CN
- China
- Prior art keywords
- application program
- test
- tested application
- performance index
- implementation
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种应用程序的性能测试方法及终端,通过响应用户端触发的测试指令,根据用户端选取的被测应用程序,记录被测应用程序在测试终端上不用测试场景中的执行过程以生成测试脚本文件;执行测试脚本文件,记录执行过程中被测应用程序的性能指标,将得到的各性能指标返回至用户端的方法,具有自动获取被测应用程序在不同测试场景中的性能指标的有益效果;进一步地,由于执行测试脚本文件之前清除了缓存数据,因此提高了测试数据的准确性;另外,由于测试的整个过程均为自动化处理,因此提高了测试效率,节省了人力成本和测试时间。
Description
技术领域
本发明涉及性能测试技术,尤其涉及一种应用程序的性能测试方法及终端。
背景技术
目前,对应用程序的性能指标进行测试时,在建立了相应的软件测试场景后,基于上述软件测试场景,将运行被测应用程序的终端与测试终端连接,录入被测应用程序的数据包名称,对被测应用程序进行性能测试;比如,在PC上安装对应的测试场景,并将运行浏览器的手机与PC连接后,开始测试浏览器的性能指标时,录入浏览器的数据包名称,测试完成后,将生成的数据报表反馈给测试人员。在不同的测试场景中,利用上述测试方法对同一被测应用程序进行性能测试时,在每一种测试场景中均需要重复执行上述测试过程;因为上述测试方法在不同的多测试场景中对同一被测应用程序进行测试时,容易引起测试数据的混乱和测试冲突的问题。
发明内容
本发明实施例的主要目的是提供一种应用程序的性能测试方法及终端,旨在达到在不同的多测试场景中对同一被测应用程序进行性能测试的目的。
本发明实施例公开了一种应用程序的性能测试方法,包括以下步骤:
响应用户端触发的测试指令;
根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;
按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;
执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端。
本发明实施例还公开了一种应用程序的性能测试终端,包括:
场景设置模块,用于响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;
脚本生成模块,用于按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;
指标获取模块,用于执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端。
本发明实施例通过响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端的方法,具有能够在不同的多测试场景中对同一被测应用程序进行性能测试有益效果,解决了多测试场景中对同一被测应用程序进行测试时,所引起的测试数据混乱和测试冲突的问题;进一步地,由于执行测试脚本文件之前清除了缓存数据,因此提高了测试数据的准确性;另外,由于测试的整个过程均为自动化处理,因此提高了测试效率,节省了人力成本和测试时间。
附图说明
图1是本发明应用程序的性能测试方法第一实施例流程示意图;
图2是本发明应用程序的性能测试方法中,在多个测试场景中对被测应用程序进行测试时,测试场景与时间节点对应关系一实施例结构示意图;
图3是本发明应用程序的性能测试方法第二实施例流程示意图;
图4是本发明应用程序的性能测试终端第一实施例功能模块示意图;
图5是本发明应用程序的性能测试终端第二实施例功能模块示意图。
本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1是本发明应用程序的性能测试方法第一实施例流程示意图;如图1所示,本发明应用程序的性能测试方法包括以下步骤:
步骤S01、响应用户端触发的测试指令;
步骤S02、根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;
在用户端打开测试终端上的测试工具,选择被测应用程序后,触发对应的测试指令;测试终端响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的测试场景。
所述测试场景可以理解为一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,检测系统的各项性能指标;以浏览器为例,用户端双击浏览器的快捷图标至浏览器响应用户的操作并显示浏览器对应的主页面,这一过程可以为一个测试场景;当用户端在浏览器显示的主页面上输入关键词并触发浏览器的搜索指令后,浏览器响应上述搜索指令,进行关键词搜索并显示搜索结果,这一过程也可以为一个测试场景。本领域的技术人员可以理解,所述测试场景可以根据具体的被测应用程序进行选取,本实施例对所述测试场景的具体内容和形式不作限定。
在所述被测应用在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;请参照图2,图2是本发明应用程序的性能测试方法中,在多个测试场景中对被测应用程序进行测试时,测试场景与时间节点对应关系一实施例结构示意图;按照图2所述的时间节点,在每次执行所述测试脚本文件时,均按照所述时间节点依次执行各测试场景。
在所述被测应用仅在测试终端上的一个测试场景中执行时,可以不设置该测试场景的时间节点;当然,也可以设置该测试场景的时间节点;此时仅设置两个时间节点即可,如图2所示的时间节点0和时间节点1,分别对应被测应用程序在测试终端上执行的时间起点和时间终点。
步骤S03、按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;
测试终端按照所述时间节点,分别记录被测应用程序在测试终端上按照测试场景对被测应用程序进行操作的过程;即记录被测应用程序在测试终端上的每个测试场景中的执行过程,以生成所述被测应用程序在所有测试场景中执行过程的测试脚本文件。该测试脚本文件包括设置的各时间节点。
进一步地,在整个测试场景中,测试终端也可以不设置时间节点;在不设置时间节点的情况下,测试终端默认该被测应用仅在一个测试场景中执行。以测试浏览器启动时的性能指标为例,测试终端在用户端点击录制按钮、触发测试指令时,测试终端响应用户端触发的测试指令,并开始录制,待浏览器启动并加载完数据后;用户端点击停止录制按钮,则测试终端响应停止录制指令;测试终端默认本次对被测应用程序的性能测试为启动时的这一个测试场景;在测试终端回放时,所记录的浏览器的性能指标为用户端开始录制到结束录制的性能数据。本实施例中,所述录制指的是,测试终端记录用户端在该测试终端上的操作过程;所述回放指的是测试终端按照记录的录制内容,自动执行用户端的操作。
步骤S04、执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端。
测试终端执行生成的测试脚本文件,记录在所述测试脚本文件的执行过程中所述被测应用程序的性能指标,并将得到的各性能指标返回至用户端,以供测试人员分析。
测试终端记录执行过程中所述被测应用程序的性能指标包括:通过读取测试终端中所述被测应用程序的配置文件数据,获取并记录每次执行过程中所述被测应用程序的性能指标;或者,直接调用测试终端中的数据读取函数如安卓系统中的sdk,获取执行过程中被测应用程序的性能指标并记录。
在一优选的实施例中,测试终端按照预设执行次数M,循环执行所述测试脚本文件,记录每次执行过程中所述被测应用程序的性能指标,以得到所述被测应用程序各性能指标所对应的M个数值;分别计算各性能指标所对应的M个数值的平均值,将得到的各性能指标对应的平均值返回至用户端;其中,M为大于或等于1的正整数。
测试终端记录每次执行过程中所述被测应用程序的性能指标可以仅记录所需要的性能指标,比如,仅记录内存值和CPU占用率;也可以记录该被测应用程序执行过程中的所有性能指标,比如,不仅记录所需要的内存值和CPU占用率,还记录所使用的流量、电量及响应速度等。若被测应用程序包含至少两个进程,则记录的每次执行过程中该被测应用程序的性能指标为该被测应用程序的所有进程对应的性能指标之和。根据记录的循环执行时获取的各性能指标分别对应的M个数值,分别计算每个性格指标中M个数值的平均值,将计算得到的各性能指标的平均值作为本次测试结果返回至用户端。
以测试浏览器的性能指标中浏览器占用的内存值和CPU占用率为例,请再次参照图2,测试终端根据用户端的操作(比如用户端点击n次时间节点设置按钮)设置n个时间节点,则执行一次测试脚本文件时,将执行(n+1)个测试场景;把(n+1)个测试场景中,对于在第i个测试场景中第j次执行测试脚本文件时,测试时浏览器所占用的内存值和CPU占用率分别记录到数组aj[i]和bj[i]中;其中j和i的取值为:j∈[0,M);i∈[0,n];根据记录的数组aj[i]和bj[i],得到第i个测试场景所占用的内存均值和CPU占用率均值分别为:和
本领域的技术人员可以理解,测试终端根据记录的每次执行过程中被测应用程序的性能指标,获取记录的各性能指标所对应的均值的方法不局限于上述这一种方式,也可以采用其他方式实现,本实施例不进行一一穷举;本实施例对根据记录的每次执行过程中被测应用程序的性能指标,获取记录的各性能指标所对应的均值的方法不做限定。
在一优选的实施例中,本实施例应用程序的测试方法可以应用在对不同产品的测试中;比如,需要对不同产品中的同一应用程序的性能进行比较时,可以采用本实施例应用程序的测试方法分别获取该应用程序在不同产品中各自对应的性能参数,进而对其性能进行比较。以比较UC浏览器、QQ浏览器和百度浏览器的性能为例;可以分别采用本实施例所述的应用程序的测试方法,分别获取UC浏览器、QQ浏览器和百度浏览器各自对应的测试脚本文件,并按照本实施例所述的应用程序的测试方法分别执行上述不同产品的浏览器各自对应的测试脚本文件,从而获取UC浏览器、QQ浏览器和百度浏览器各自对应的性能指标并进行比对。
本实施例通过响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端的方法,具有能够在不同的多测试场景中对同一被测应用程序进行性能测试的有益效果,解决了多测试场景中对同一被测应用程序进行测试时,所引起的测试数据混乱和测试冲突的问题;另外,由于测试的整个过程均为自动化处理,因此提高了测试效率,节省了人力成本和测试时间。
基于图1和图2所述实施例的具体描述,请参照图3,图3是本发明应用程序的性能测试方法第二实施例流程示意图;本实施例与图1所述实施例的区别是,仅增加了步骤S10;本实施例仅对步骤S10进行具体描述,本发明实施例应用程序的性能测试方法所涉及的其他步骤请参照相关实施例的具体描述,在此不再赘述。
如图3所示,本发明应用程序的性能测试方法在“步骤S04、执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端”之前还包括:
步骤S10、清除所述被测应用程序在测试终端上的执行过程中所产生的缓存数据。
在执行测试脚本文件之前,将被测应用程序在测试终端上的执行过程中所产生的缓存数据清除;由于在测试终端上执行所述被测应用程序时,均会产生一些缓存数据,若不清除产生的这些缓存数据,在循环执行测试脚本文件时,这些缓存数据将会对记录的被测应用程序执行时的性能指标产生影响,导致记录的性能指标不准确,严重时还可能导致测试脚本文件不能正常运行。为了保证执行测试脚本文件时,记录的性能指标不受缓存数据的影响,可以在每次执行测试脚本文件时,均清理一次缓存数据。
在一优选的实施例中,在清除所述被测应用程序在测试终端上的执行过程中所产生的缓存数据之前,测试终端可以先设置一个存储目录,用于存储被测应用程序在测试终端上的执行过程中所产生的缓存文件;设置缓存文件存储目录的目的是,执行测试脚本文件时,保证测试脚本文件的执行环境与首次记录的被测应用程序在测试终端上的执行环境一致。
本实施例通过在执行测试脚本文件之前清除缓存数据的方法,具有提高被测应用程序测试数据准确性的有益效果。
请参照图4,图4是本发明应用程序的性能测试终端第一实施例功能模块示意图;如图4所示,本发明应用程序的性能测试终端包括:场景设置模块01、脚本生成模块02和指标获取模块03。
场景设置模块01,用于响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;
在用户端打开测试终端上的测试工具,选择被测应用程序后,触发对应的测试指令;场景设置模块01响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的测试场景。
所述测试场景可以理解为一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,检测系统的各项性能指标;以浏览器为例,用户端双击浏览器的快捷图标至浏览器响应用户的操作并显示浏览器对应的主页面,这一过程可以为一个测试场景;当用户端在浏览器显示的主页面上输入关键词并触发浏览器的搜索指令后,浏览器响应上述搜索指令,进行关键词搜索并显示搜索结果,这一过程也可以为一个测试场景。本领域的技术人员可以理解,所述测试场景可以根据具体的被测应用程序进行选取,本实施例对所述测试场景的具体内容和形式不作限定。
在所述被测应用在测试终端上的至少两个测试场景中执行时,场景设置模块01对应设置各测试场景的时间节点;请参照图2,按照图2所述的时间节点,在每次执行所述测试脚本文件时,指标获取模块03均按照所述时间节点依次执行各测试场景。
在所述被测应用仅在测试终端上的一个测试场景中执行时,场景设置模块01可以不设置该测试场景的时间节点;当然,场景设置模块01也可以设置该测试场景的时间节点;此时场景设置模块01可以仅设置两个时间节点即可,如图2所示的时间节点0和时间节点1,分别对应被测应用程序在测试终端上执行的时间起点和时间终点。
脚本生成模块02,用于按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件。
脚本生成模块02按照所述时间节点,分别记录被测应用程序在测试终端上按照测试场景对被测应用程序进行操作的过程;即脚本生成模块02记录被测应用程序在测试终端上的每个测试场景中的执行过程,以生成所述被测应用程序在所有测试场景中执行过程的测试脚本文件。该测试脚本文件包括设置的各时间节点。
进一步地,在整个测试场景中,场景设置模块01也可以不设置时间节点;在场景设置模块01不设置时间节点的情况下,测试终端默认该被测应用仅在一个测试场景中执行。以测试浏览器启动时的性能指标为例,测试终端在用户端点击录制按钮、触发测试指令时,场景设置模块01响应用户端触发的测试指令,脚本生成模块02开始录制用户端对浏览器的操作过程,待浏览器启动并加载完数据后;用户端点击停止录制按钮,则脚本生成模块02响应停止录制指令;脚本生成模块02默认场景设置模块01检测的本次对被测应用程序的性能测试为启动时的这一个测试场景;在测试终端回放时,脚本生成模块02所记录的浏览器的性能指标为用户端开始录制到结束录制的性能数据。本实施例中,所述录制指的是,测试终端记录用户端在该测试终端上的操作过程;所述回放指的是测试终端按照记录的录制内容,自动执行用户端的操作。
指标获取模块03,用于执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端。
指标获取模块03执行脚本生成模块02生成的测试脚本文件,记录在所述测试脚本文件的执行过程中所述被测应用程序的性能指标,并将得到的各性能指标返回至用户端,以供测试人员分析。
指标获取模块03记录执行过程中所述被测应用程序的性能指标包括:通过读取测试终端中所述被测应用程序的配置文件数据,获取并记录每次执行过程中所述被测应用程序的性能指标;或者,指标获取模块03直接调用测试终端中的数据读取函数如安卓系统中的sdk,获取执行过程中被测应用程序的性能指标并记录。
在一优选的实施例中,指标获取模块03循环执行脚本生成模块01获取的测试脚本文件,直至达到预设执行次数M;其中,M为大于或等于1的正整数。在循环执行所述测试脚本文件时,指标获取模块03记录每次执行过程中被测应用程序的性能指标,则在循环执行M次所述测试脚本文件后,指标获取模块03将得到所述被测应用程序各性能指标所对应的M个数值;指标获取模块03分别计算各性能指标所对应的M个数值的平均值,将得到的各性能指标对应的平均值返回至用户端。
指标获取模块03记录每次执行过程中所述被测应用程序的性能指标可以仅记录所需要的性能指标,比如,仅记录内存值和CPU占用率;也可以记录该被测应用程序执行过程中的所有性能指标,比如,不仅记录所需要的内存值和CPU占用率,还记录所使用的流量、电量及响应速度等。若被测应用程序包含至少两个进程,则指标获取模块03记录的每次执行过程中该被测应用程序的性能指标为该被测应用程序的所有进程对应的性能指标之和。标获取模块03根据记录的循环执行时获取的各性能指标分别对应的M个数值,分别计算各性能指标所对应的M个数值的平均值,将得到的各性能指标对应的平均值返回至用户端。
以测试浏览器的性能指标中浏览器占用的内存值和CPU占用率为例,请再次参照图2,脚本生成模块01根据用户端的操作(比如用户端点击n次时间节点设置按钮)设置n个时间节点,则指标获取模块03执行一次测试脚本文件时,将执行(n+1)个测试场景;指标获取模块03把(n+1)个测试场景中,对于在第i个测试场景中第j次执行测试脚本文件时,测试时浏览器所占用的内存值和CPU占用率分别记录到数组aj[i]和bj[i]中;其中j和i的取值为:j∈[0,M);i∈[0,n];根据指标获取模块03记录的数组aj[i]和bj[i],数值计算模块03得到第i个测试场景所占用的内存均值和CPU占用率均值分别为:和
本领域的技术人员可以理解,指标获取模块03根据记录的每次执行过程中被测应用程序的性能指标,获取记录的各性能指标所对应的均值的方法不局限于上述这一种方式,也可以采用其他方式实现,本实施例不进行一一穷举;本实施例对指标获取模块03根据记录的每次执行过程中被测应用程序的性能指标,获取记录的各性能指标所对应的均值的方法不做限定。
在一优选的实施例中,本实施例应用程序的测试终端可以应用在对不同产品的测试中;比如,需要对不同产品中的同一应用程序的性能进行比较时,采用本实施例应用程序的测试终端分别获取该应用程序在不同产品中各自对应的性能参数,进而对其性能进行比较。以比较UC浏览器、QQ浏览器和百度浏览器的性能为例;采用本实施例所述的应用程序的测试终端,分别获取UC浏览器、QQ浏览器和百度浏览器各自对应的测试脚本文件,并利用本实施例所述的应用程序的测试终端分别执行上述不同产品的浏览器各自对应的测试脚本文件,从而获取UC浏览器、QQ浏览器和百度浏览器各自对应的性能指标并进行比对。
本实施例通过响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端,具有能够在不同的多测试场景中对同一被测应用程序进行性能测试的有益效果,解决了多测试场景中对同一被测应用程序进行测试时,所引起的测试数据混乱和测试冲突的问题;另外,由于测试的整个过程均为自动化处理,因此提高了测试效率,节省了人力成本和测试时间。
基于图4所述实施例的具体描述,请参照图5,图5是本发明应用程序的性能测试终端第二实施例功能模块示意图。本实施例与图4所述实施例的区别是,仅增加了缓存清除模块04,本实施例仅对缓存清除模块04进行具体描述,有关本发明实施例应用程序的性能测试终端所涉及的其他功能模块,请参照图4所述实施例的具体描述,在此不再赘述。
如图4所示,本发明应用程序的性能测试终端还包括:
缓存清除模块04,用于清除所述被测应用程序在测试终端上的执行过程中所产生的缓存数据。
在指标获取模块03循环执行测试脚本文件之前,缓存清除模块04将被测应用程序在测试终端上的执行过程中所产生的缓存数据清除;由于在测试终端上执行所述被测应用程序时,均会产生一些缓存数据,若不清除产生的这些缓存数据,在循环执行测试脚本文件时,这些缓存数据将会对记录的被测应用程序执行时的性能指标产生影响,导致记录的性能指标不准确,严重时还可能导致测试脚本文件不能正常运行。为了保证指标获取模块03执行测试脚本文件时,记录的性能指标不受缓存数据的影响,缓存清除模块04可以在每次执行测试脚本文件时,均清理一次缓存数据。
在一优选的实施例中,在缓存清除模块04清除所述被测应用程序在测试终端上的执行过程中所产生的缓存数据之前,应用程序的性能测试终端可以先设置一个存储目录,用于存储被测应用程序在测试终端上的执行过程中所产生的缓存文件;设置缓存文件存储目录的目的是,指标获取模块03循环执行测试脚本文件时,保证测试脚本文件的执行环境与首次记录的被测应用程序在测试终端上的执行环境一致。
本实施例通过在循环执行测试脚本文件之前清除缓存数据,具有提高被测应用程序测试数据准确性的有益效果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种应用程序的性能测试方法,其特征在于,包括以下步骤:
响应用户端触发的测试指令;
根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;
按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;
执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端。
2.如权利要求1所述的方法,其特征在于,所述执行所述测试脚本文件之前还包括:
清除所述被测应用程序在测试终端上的执行过程中所产生的缓存数据。
3.如权利要求1或2所述的方法,其特征在于,所述执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端包括:
按照预设执行次数M,循环执行所述测试脚本文件,记录每次执行过程中所述被测应用程序的性能指标,以得到所述被测应用程序各性能指标所对应的M个数值;其中,M为大于或等于1的正整数;
分别计算各性能指标所对应的M个数值的平均值,将得到的各性能指标对应的平均值返回至用户端。
4.如权利要求1或2所述的方法,其特征在于,所述记录执行过程中所述被测应用程序的性能指标包括:
在所述被测应用程序包含至少两个进程时,记录的执行过程中所述被测应用程序的性能指标为所述被测应用程序的所有进程对应的性能指标之和。
5.如权利要求1或2所述的方法,其特征在于,所述记录执行过程中所述被测应用程序的性能指标包括:
通过读取测试终端中所述被测应用程序的配置文件数据,获取并记录执行过程中所述被测应用程序的性能指标。
6.一种应用程序的性能测试终端,其特征在于,包括:
场景设置模块,用于响应用户端触发的测试指令,根据用户端选取的被测应用程序,检测所述被测应用程序在测试终端上的至少两个测试场景中执行时,对应设置各测试场景的时间节点;
脚本生成模块,用于按照所述时间节点,分别记录所述被测应用在测试终端上每个所述测试场景中的执行过程,以生成所述被测应用程序在所有所述测试场景中执行过程的测试脚本文件;
指标获取模块,用于执行所述测试脚本文件,记录执行过程中所述被测应用程序的性能指标,将得到的各性能指标返回至用户端。
7.如权利要求6所述的测试终端,其特征在于,还包括:
缓存清除模块,用于清除所述被测应用程序在测试终端上的执行过程中所产生的缓存数据。
8.如权利要求6或7所述的测试终端,其特征在于,所述指标获取模块还用于:
按照预设执行次数M,循环执行所述测试脚本文件,记录每次执行过程中所述被测应用程序的性能指标,以得到所述被测应用程序各性能指标所对应的M个数值;其中,M为大于或等于1的正整数;
分别计算各性能指标所对应的M个数值的平均值,将得到的各性能指标对应的平均值返回至用户端。
9.如权利要求6或7所述的测试终端,其特征在于,所述指标获取模块还用于:
在所述被测应用程序包含至少两个进程时,记录的执行过程中所述被测应用程序的性能指标为所述被测应用程序的所有进程对应的性能指标之和。
10.如权利要求6或7所述的测试终端,其特征在于,所述指标获取模块还用于:
通过读取测试终端中所述被测应用程序的配置文件数据,获取并记录执行过程中所述被测应用程序的性能指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310187399.4A CN104166619B (zh) | 2013-05-20 | 2013-05-20 | 应用程序的性能测试方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310187399.4A CN104166619B (zh) | 2013-05-20 | 2013-05-20 | 应用程序的性能测试方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166619A true CN104166619A (zh) | 2014-11-26 |
CN104166619B CN104166619B (zh) | 2017-12-15 |
Family
ID=51910445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310187399.4A Active CN104166619B (zh) | 2013-05-20 | 2013-05-20 | 应用程序的性能测试方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166619B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503872A (zh) * | 2014-12-04 | 2015-04-08 | 安一恒通(北京)科技有限公司 | 终端设备系统性能测试方法及装置 |
CN104572464A (zh) * | 2014-12-31 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种Android平台的自动化测试状态保存方法及装置 |
CN104809060A (zh) * | 2015-04-01 | 2015-07-29 | 百度在线网络技术(北京)有限公司 | 应用上线指标的检测方法及装置 |
CN105095072A (zh) * | 2015-07-02 | 2015-11-25 | 北京金山安全软件有限公司 | 一种应用测试方法、装置及终端 |
CN105446877A (zh) * | 2015-11-04 | 2016-03-30 | 上海聚力传媒技术有限公司 | 一种测试移动应用程序功耗的方法和装置 |
CN105512041A (zh) * | 2015-12-23 | 2016-04-20 | 北京金山安全软件有限公司 | 一种测试应用程序性能的方法、装置及电子设备 |
CN105653451A (zh) * | 2015-12-29 | 2016-06-08 | 北京金山安全软件有限公司 | 一种软件性能测试方法及装置 |
CN105930248A (zh) * | 2016-04-20 | 2016-09-07 | 南京酷派软件技术有限公司 | 一种应用程序的性能提示方法和系统 |
CN106547682A (zh) * | 2015-09-21 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 调测移动应用的方法及装置 |
CN107818045A (zh) * | 2017-09-29 | 2018-03-20 | 安徽四创电子股份有限公司 | 一种平安城市的软件测试方法 |
CN107888550A (zh) * | 2016-09-30 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 性能指标数据采集方法和装置、策略发送方法和装置 |
CN108509348A (zh) * | 2018-06-20 | 2018-09-07 | 厦门美图移动科技有限公司 | 一种系统老化的测试方法及移动终端 |
CN109324966A (zh) * | 2018-09-20 | 2019-02-12 | 广州云测信息技术有限公司 | 一种测试脚本的生成和执行方法及装置 |
CN113032232A (zh) * | 2021-03-09 | 2021-06-25 | 广州虎牙科技有限公司 | 设备的性能检测的相关方法以及相关装置、设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221504A (zh) * | 2008-01-23 | 2008-07-16 | 中兴通讯股份有限公司 | 测试脚本的处理方法及其调度执行系统 |
CN101625658A (zh) * | 2009-08-04 | 2010-01-13 | 卓望信息技术(北京)有限公司西城分公司 | 一种软件系统性能测试方法 |
CN101727390A (zh) * | 2009-12-28 | 2010-06-09 | 金蝶软件(中国)有限公司 | 一种性能测试脚本的调试方法和装置 |
US20110093435A1 (en) * | 2009-10-21 | 2011-04-21 | Delphix Corp. | Virtual Database System |
-
2013
- 2013-05-20 CN CN201310187399.4A patent/CN104166619B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221504A (zh) * | 2008-01-23 | 2008-07-16 | 中兴通讯股份有限公司 | 测试脚本的处理方法及其调度执行系统 |
CN101625658A (zh) * | 2009-08-04 | 2010-01-13 | 卓望信息技术(北京)有限公司西城分公司 | 一种软件系统性能测试方法 |
US20110093435A1 (en) * | 2009-10-21 | 2011-04-21 | Delphix Corp. | Virtual Database System |
CN101727390A (zh) * | 2009-12-28 | 2010-06-09 | 金蝶软件(中国)有限公司 | 一种性能测试脚本的调试方法和装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503872A (zh) * | 2014-12-04 | 2015-04-08 | 安一恒通(北京)科技有限公司 | 终端设备系统性能测试方法及装置 |
CN104503872B (zh) * | 2014-12-04 | 2018-05-18 | 安一恒通(北京)科技有限公司 | 终端设备系统性能测试方法及装置 |
CN104572464A (zh) * | 2014-12-31 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种Android平台的自动化测试状态保存方法及装置 |
CN104572464B (zh) * | 2014-12-31 | 2018-01-19 | 广东欧珀移动通信有限公司 | 一种Android平台的自动化测试状态保存方法及装置 |
CN104809060A (zh) * | 2015-04-01 | 2015-07-29 | 百度在线网络技术(北京)有限公司 | 应用上线指标的检测方法及装置 |
CN104809060B (zh) * | 2015-04-01 | 2018-02-02 | 百度在线网络技术(北京)有限公司 | 应用上线指标的检测方法及装置 |
CN105095072B (zh) * | 2015-07-02 | 2018-01-23 | 北京金山安全软件有限公司 | 一种应用测试方法、装置及终端 |
CN105095072A (zh) * | 2015-07-02 | 2015-11-25 | 北京金山安全软件有限公司 | 一种应用测试方法、装置及终端 |
CN106547682A (zh) * | 2015-09-21 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 调测移动应用的方法及装置 |
CN105446877A (zh) * | 2015-11-04 | 2016-03-30 | 上海聚力传媒技术有限公司 | 一种测试移动应用程序功耗的方法和装置 |
CN105512041A (zh) * | 2015-12-23 | 2016-04-20 | 北京金山安全软件有限公司 | 一种测试应用程序性能的方法、装置及电子设备 |
CN105512041B (zh) * | 2015-12-23 | 2018-09-25 | 北京金山安全软件有限公司 | 一种测试应用程序性能的方法、装置及电子设备 |
CN105653451A (zh) * | 2015-12-29 | 2016-06-08 | 北京金山安全软件有限公司 | 一种软件性能测试方法及装置 |
CN105930248A (zh) * | 2016-04-20 | 2016-09-07 | 南京酷派软件技术有限公司 | 一种应用程序的性能提示方法和系统 |
CN107888550A (zh) * | 2016-09-30 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 性能指标数据采集方法和装置、策略发送方法和装置 |
CN107888550B (zh) * | 2016-09-30 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 性能指标数据采集方法和装置、策略发送方法和装置 |
CN107818045A (zh) * | 2017-09-29 | 2018-03-20 | 安徽四创电子股份有限公司 | 一种平安城市的软件测试方法 |
CN108509348A (zh) * | 2018-06-20 | 2018-09-07 | 厦门美图移动科技有限公司 | 一种系统老化的测试方法及移动终端 |
CN109324966A (zh) * | 2018-09-20 | 2019-02-12 | 广州云测信息技术有限公司 | 一种测试脚本的生成和执行方法及装置 |
CN109324966B (zh) * | 2018-09-20 | 2021-06-15 | 广州云测信息技术有限公司 | 一种测试脚本的生成和执行方法及装置 |
CN113032232A (zh) * | 2021-03-09 | 2021-06-25 | 广州虎牙科技有限公司 | 设备的性能检测的相关方法以及相关装置、设备 |
CN113032232B (zh) * | 2021-03-09 | 2023-06-20 | 广州虎牙科技有限公司 | 设备的性能检测的相关方法以及相关装置、设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104166619B (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104166619A (zh) | 应用程序的性能测试方法及终端 | |
CN107562610B (zh) | 获取页面加载时间的方法、装置、终端和介质 | |
CN109309596B (zh) | 一种压力测试方法、装置及服务器 | |
CN111124926B (zh) | 模糊测试方法、装置、电子设备及存储介质 | |
CN108459967B (zh) | 基于用户接口状态流图的Web应用测试用例生成方法 | |
Ceravolo et al. | Time domain identification of structures: Comparative analysis of output-only methods | |
CN112560401B (zh) | Verilog文件转换方法、装置、存储介质及设备 | |
CN106604362B (zh) | 一种无线保真Wi-Fi扫描方法及移动终端 | |
CN109062794A (zh) | 一种软件测评结果的确定方法、装置及电子设备 | |
CN105320602A (zh) | 一种应用启动速度的测试方法及装置 | |
CN106326067A (zh) | 一种在压力测试下对cpu性能进行监控的方法及装置 | |
CN107678972B (zh) | 一种测试用例的评估方法及相关装置 | |
CN112526319B (zh) | 芯片测试方法、装置、处理器芯片及服务器 | |
CN103631706B (zh) | 一种浏览器测试方法和装置 | |
CN104063307B (zh) | 一种软件测试方法和系统 | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
CN107766230A (zh) | 一种基于配置文件进行测试的方法与设备 | |
CN112181808B (zh) | 一种程序并发缺陷检测方法、装置、设备以及存储介质 | |
CN111694735B (zh) | 一种页面性能测试方法、装置、电子设备及存储介质 | |
CN109684213A (zh) | 一种测试方法、装置及存储介质 | |
CN112181479A (zh) | 代码文件版本间差异的确定方法、装置及电子设备 | |
CN117234859A (zh) | 一种性能事件监控方法、装置、设备和存储介质 | |
CN103593273B (zh) | 一种电路板卡的测试方法、装置和系统 | |
CN108241571A (zh) | 一种程序测试方法及装置 | |
US20180144141A1 (en) | Method and system for detecting the vulnerability of an onboard device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |