应用程序性能测试方法及装置的制造方法

文档序号:9787312阅读:293来源:国知局
应用程序性能测试方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件测试技术领域,具体涉及一种应用程序性能测试方法及装置。
【背景技术】
[0002]随着科技的发展,智能手机的应用越来越普遍。智能手机中安装的各种应用程序(APP)为人们提供各种需求和服务,已经成为人们生活中不可缺少的一部分。手机APP的启动时间是一个重要的性能指标,如果手机APP的启动时间过长导致出现明显的的卡顿问题,将会带来很不良的使用体验。因此,手机APP的启动时间的测试变的尤为重要。
[0003]现有技术提供了很多手机APP的启动时间的测试方法,然而,测试出手机APP的启动时间过长仅仅是发现问题,如何排查和解决问题是关键所在。现有技术中还没有提供一种有效的方法用于确定影响手机APP启动时间过长的重要因素。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序性能测试方法及装置。
[0005]根据本发明的一个方面,提供了一种应用程序性能测试方法,包括:
[0006]解析得到应用程序中所有需要测试的函数和/或线程;
[0007]在所述应用程序启动过程中,接管所述函数和/或线程,记录所述函数和/或线程的执行时间和调用次数;
[0008]根据所述函数和/或线程的执行时间和调用次数,对所有被测试的函数和/或线程进行排序,以供按照排序结果进行应用程序的调试。
[0009]根据本发明的另一方面,一种应用程序性能测试装置,包括:
[0010]解析模块,适于解析得到应用程序中所有需要测试的函数和/或线程;
[0011]接管模块,适于在所述应用程序启动过程中,接管所述函数和/或线程,记录所述函数和/或线程的执行时间和调用次数;
[0012]排序模块,适于根据所述函数和/或线程的执行时间和调用次数,对所有被测试的函数和/或线程进行排序,以供按照排序结果进行应用程序的调试。
[0013]根据本发明提供的应用程序性能测试方法装置,首先通过解析确定需要测试的函数和/或线程,然后启动应用程序,通过hook方法接管函数和/或线程,记录函数和/或线程的执行时间和调用次数,根据函数和/或线程的执行时间和调用次数,对所有被测试的函数和/或线程进行排序,以供按照排序结果进行应用程序的调试。本发明深入到应用程序内部,对应用程序内部的函数和/或线程进行测试,测试出哪个函数和/或线程的执行时间最长,调用次数最多。根据测试结果,开发人员可有针对性的对这些函数和/或线程进行调试,以解决应用程序启动时间过长的技术问题。
[0014]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0015]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0016]图1示出了根据本发明一个实施例的应用程序性能测试方法的流程图;
[0017]图2示出了根据本发明另一个实施例的应用程序性能测试方法的流程图;
[0018]图3示出了根据本发明一个实施例的应用程序性能测试装置的功能框图。
【具体实施方式】
[0019]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0020]为了排查和解决应用程序启动时间过长的技术问题,本发明深入到应用程序内部,对应用程序内部的函数和/或线程进行测试,测试出哪个函数和/或线程的执行时间最长,调用次数最多。根据测试结果,开发人员可有针对性的对这些函数和/或线程进行调试,以解决应用程序启动时间过长的技术问题。
[0021]图1示出了根据本发明一个实施例的应用程序性能测试方法的流程图。如图1所示,该方法包括如下步骤:
[0022]步骤SlOl,解析得到应用程序中所有需要测试的函数和/或线程。
[0023]首先,通过解析获取到应用程序需要进行测试的函数和/或线程,这些函数和/或线程都是应用程序启动过程中会执行的函数和/或线程。如果将应用程序启动过程中所有执行的函数和/或线程都进行测试,则会造成测试时间过长,且影响整个系统的性能,因此本发明通过解析从所有执行的函数和/或线程识别出需要测试的函数和/或线程,过滤出其它没有必要进行测试的函数和/或线程。
[0024]步骤S102,在应用程序启动过程中,接管函数和/或线程,记录函数和/或线程的执行时间和调用次数。
[0025]测试开始时启动应用程序,通过hook方法接管步骤SlOl得到的需要测试的函数和/或线程,记录函数和/或线程的执行时间和调用次数。
[0026]具体地,测试调用方在需要测试的函数和/或线程中设置hook事件,该hook事件用于监测函数和/或线程的执行时间和调用次数。在应用程序启动过程中,一旦某个需要测试的函数和/或线程执行完成,触发hook事件,测试调用方就会得到通知,继而得到被测试函数和/或线程的执行时间和调用次数。
[0027]步骤S103,根据函数和/或线程的执行时间和调用次数,对所有被测试的函数和/或线程进行排序,以供按照排序结果进行应用程序的调试。
[0028]根据函数和/或线程的执行时间和调用次数,对所有被测试的函数和/或线程进行排序,以供开发人员按照排序结果确定优先级进行应用程序的调试。例如,排序越靠前的函数和/或线程的优先级越高,开发人员优先对优先级高的函数和/或线程进行调试,确定执行时间过长的原因。
[0029]根据本实施例提供的应用程序性能测试方法,首先通过解析确定需要测试的函数和/或线程,然后启动应用程序,通过hook方法接管函数和/或线程,记录函数和/或线程的执行时间和调用次数,根据函数和/或线程的执行时间和调用次数,对所有被测试的函数和/或线程进行排序,以供按照排序结果进行应用程序的调试。本方法深入到应用程序内部,对应用程序内部的函数和/或线程进行测试,测试出哪个函数和/或线程的执行时间最长,调用次数最多。根据测试结果,开发人员可有针对性的对这些函数和/或线程进行调试,以解决应用程序启动时间过长的技术问题。
[0030]图2示出了根据本发明另一个实施例的应用程序性能测试方法的流程图。如图2所示,该方法包括如下步骤:
[0031]步骤S201,解析得到应用程序中所有需要测试的函数,包括以下函数的一种或多种:应用程序中涉及操作系统框架的组件的函数,应用程序中由JAVA语言派生出来的函数,以及应用程序中自定义函数。
[0032]首先,通过解析获取到应用程序需要进行测试的函数,这些函数都是应用程序启动过程中会执行的函数。如果将应用程序启动过程中所有执行的函数都进行测试,则会造成测试时间过长,且影响整个系统的性能,因此本发明通过解析从所有执行的函数识别出需要测试的函数,过滤出其它没有必要进行测试的函数。
[0033]本实施例进一步提供了解析函
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1