CN106055485A - 一种测试应用的方法、装置和系统 - Google Patents

一种测试应用的方法、装置和系统 Download PDF

Info

Publication number
CN106055485A
CN106055485A CN201610539395.1A CN201610539395A CN106055485A CN 106055485 A CN106055485 A CN 106055485A CN 201610539395 A CN201610539395 A CN 201610539395A CN 106055485 A CN106055485 A CN 106055485A
Authority
CN
China
Prior art keywords
application
executable file
intelligent terminal
bag
relevant information
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
Application number
CN201610539395.1A
Other languages
English (en)
Inventor
郭振华
程倩倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610539395.1A priority Critical patent/CN106055485A/zh
Publication of CN106055485A publication Critical patent/CN106055485A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种测试应用的方法、装置和系统。其中所述方法包括:预制用于进行应用测试的可执行文件包;将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。该技术方案能够检测应用在智能终端上的实际运行状况,并将采集到的信息从智能终端发出,使得测试人员可以快速了解到应用在智能终端上的测试状况,不需值守,开发人员也可以根据应用运行相关信息对代码进行修改,因此该方法对应用运行状况的展示十分准确直观。

Description

一种测试应用的方法、装置和系统
技术领域
本发明涉及测试领域,具体涉及一种测试应用的方法、装置和系统。
背景技术
开发人员在开发完成应用后,还需要测试人员对其进行测试,观察应用能否在智能终端上正常运行。但是现有技术中,应用运行的状况只能通过观察智能终端获得,应用运行的相关信息很难获取,也没有一种较好的了解应用运行状况的方法。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的测试应用的方法、装置和系统。
依据本发明的一个方面,提供了一种测试应用的方法,包括:
预制用于进行应用测试的可执行文件包;
将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;
在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;
接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。
可选地,该方法进一步包括:
将所述应用运行相关信息发送到指定服务器,以使得所述应用的开发者能够根据所述应用运行相关信息对所述应用进行改进。
可选地,将所述应用运行相关信息发送到指定服务器包括:
检测智能终端与指定服务器的网络连接是否可用,是则将所述应用运行相关信息直接发送到指定服务器,否则将所述应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
可选地,所述可执行文件包为jar包;
将所述可执行文件包与待测试应用包一起打包包括:将所述可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
可选地,所述应用运行相关信息包括如下中的一种或多种:
应用崩溃时的相关信息;
应用在运行过程中对智能终端资源的占用率变化信息;
智能终端的机型信息和配置信息;
应用的运行时间信息。
可选地,可执行文件在所述应用运行的过程中采集应用运行相关信息的方法包括:
当所述应用崩溃时,所述可执行文件定位所述应用在崩溃时运行的代码段,记录该代码段的位置信息;以及所述可执行文件获取应用的崩溃前的预设时间段内的日志信息。
可选地,所述可执行文件在所述应用运行的过程中采集应用运行相关信息的方法进一步包括:
所述可执行文件在所述应用运行过程中的页面进行截图保存;
当所述应用崩溃时,所述可执行文件提取所保存的发生崩溃之前的预设个数的截图作为崩溃现场截图。
可选地,可执行文件在所述应用运行的过程中采集应用运行相关信息的方法包括:
所述可执行文件当打开应用的一个页面时记录开始时间,当该页面结束时记录结束时间,根据开始时间和结束时间记录在该页面上的停留的时间。
可选地,可执行文件在所述应用运行的过程中采集应用运行相关信息的方法包括:
所述可执行文件获取智能终端机型信息和配置信息;
所述可执行文件记录应用在运行过程中对智能终端资源的占用率变化信息;所述智能终端资源包括如下中的一种或多种:CPU、内存、网络流量资源、每秒显示的帧数。
可选地,所述可执行文件在所述应用运行的过程中采集应用运行相关信息的方法进一步包括:
所述可执行文件从服务器获取采集配置信息;采集配置信息包括如下中的一种或多种:要采集变化率的智能终端资源名称、采集频率、采集时间段;
所述可执行文件根据采集配置信息采集智能终端资源的占用率变化信息。
依据本发明的另一方面,提供了一种测试应用的装置,包括:
预制单元,适于预制进行应用测试的可执行文件包;
打包单元,适于将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;
测试单元,适于在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。
可选地,该装置进一步包括:
发送单元,适于将所述应用运行相关信息发送到指定服务器,以使得所述应用的开发者能够根据所述应用运行相关信息对所述应用进行改进。
可选地,所述发送单元,适于检测智能终端与指定服务器的网络连接是否可用,是则将所述应用运行相关信息直接发送到指定服务器,否则将所述应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
可选地,所述可执行文件包为jar包;
所述打包单元,适于将所述可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
可选地,所述应用运行相关信息包括如下中的一种或多种:
应用崩溃时的相关信息;
应用在运行过程中对智能终端资源的占用率变化信息;
智能终端的机型信息和配置信息;
应用的运行时间信息。
可选地,可执行文件在所述应用运行的过程中采集应用运行相关信息包括:
当所述应用崩溃时,所述可执行文件定位所述应用在崩溃时运行的代码段,记录该代码段的位置信息;以及所述可执行文件获取应用的崩溃前的预设时间段内的日志信息。
可选地,所述可执行文件在所述应用运行的过程中采集应用运行相关信息的方法进一步包括:
所述可执行文件在所述应用运行过程中的页面进行截图保存;
当所述应用崩溃时,所述可执行文件提取所保存的发生崩溃之前的预设个数的截图作为崩溃现场截图。
可选地,可执行文件在所述应用运行的过程中采集应用运行相关信息包括:
所述可执行文件当打开应用的一个页面时记录开始时间,当该页面结束时记录结束时间,根据开始时间和结束时间记录在该页面上的停留的时间。
可选地,可执行文件在所述应用运行的过程中采集应用运行相关信息包括:
所述可执行文件获取智能终端机型信息和配置信息;
所述可执行文件记录应用在运行过程中对智能终端资源的占用率变化信息;所述智能终端资源包括如下中的一种或多种:CPU、内存、网络流量资源、每秒显示的帧数。
可选地,述可执行文件在所述应用运行的过程中采集应用运行相关信息进一步包括:
所述可执行文件从服务器获取采集配置信息;采集配置信息包括如下中的一种或多种:要采集变化率的智能终端资源名称、采集频率、采集时间段;
所述可执行文件根据采集配置信息采集智能终端资源的占用率变化信息。
依据本发明的又一方面,提供了一种测试应用的系统,包括:服务器和多个如上述任一项所述的测试应用的装置;所述测试应用的装置分别安装于不同机型的多个智能终端。
由上述可知,本发明的技术方案,将预制的进行应用测试的可执行文件包与待测试应用包一起打包,生成应用的安装包,在智能终端上安装后,检测应用的运行状况,接收所述可执行文件在应用运行的过程中采集的应用运行相关信息。该技术方案能够检测应用在智能终端上的实际运行状况,并将采集到的信息从智能终端发出,使得测试人员可以快速了解到应用在智能终端上的测试状况,不需值守,开发人员也可以根据应用运行相关信息对代码进行修改,因此该方法对应用运行状况的展示十分准确直观。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种测试应用的方法的流程图;
图2示出了根据本发明一个实施例的一种测试应用的装置的结构示意图;以及
图3示出了根据本发明一个实施例的一种测试应用的系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种测试应用的方法的流程图,如图1所示,该方法包括:
步骤S110,预制用于进行应用测试的可执行文件包。
步骤S120,将可执行文件包与待测试应用包一起打包,生成应用的安装包。
步骤S130,在智能终端上安装应用的安装包,在智能终端上运行应用。
步骤S140,接收可执行文件在应用运行的过程中采集的应用运行相关信息。
可见,图1所示的方法,将预制的进行应用测试的可执行文件包与待测试应用包一起打包,生成应用的安装包,在智能终端上安装后,检测应用的运行状况,接收可执行文件在应用运行的过程中采集的应用运行相关信息。该技术方案能够检测应用在智能终端上的实际运行状况,并将采集到的信息从智能终端发出,使得测试人员可以快速了解到应用在智能终端上的测试状况,不需值守,开发人员也可以根据应用运行相关信息对代码进行修改,因此该方法对应用运行状况的展示十分准确直观。
在本发明的一个实施例中,图1所示的方法进一步包括:将应用运行相关信息发送到指定服务器,以使得应用的开发者能够根据应用运行相关信息对应用进行改进。
例如,将应用运行相关信息发送到指定服务器后,通过前端页面进行展示。测试人员在访问前端页面时,可以通过点选相关项进行详情的查看。考虑到测试时可能会测试无法连接到网络时应用的运行状况,因此在本发明的一个实施例中,上述方法中,将应用运行相关信息发送到指定服务器包括:检测智能终端与指定服务器的网络连接是否可用,是则将应用运行相关信息直接发送到指定服务器,否则将应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。另外,也可以将应用运行相关信息保存到智能终端本地,在测试完成时统一发送至指定服务器,或者在预定时间将其发送至指定服务器,等等。
在本发明的一个实施例中,图1所示的方法中,可执行文件包为jar包;将可执行文件包与待测试应用包一起打包包括:将可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。这样应用自身的功能并不会受到影响,可以在运行的过程中正常地执行其代码;同时可执行文件也可以实时地采集应用运行相关信息。
在本发明的一个实施例中,图1所示的方法中,应用运行相关信息包括如下中的一种或多种:应用崩溃时的相关信息;应用在运行过程中对智能终端资源的占用率变化信息;智能终端的机型信息和配置信息;应用的运行时间信息。
应用在智能终端上运行的过程中有可能无法正常运行,产生崩溃,其原因多种多样,例如:智能终端上可用的资源不足,应用内部错误等。也即是说,应用的代码可能存在引发崩溃的漏洞。因此了解应用的崩溃原因便于开发人员检查代码中是否存在问题,适当地对应用的代码进行修改。应用崩溃时的相关信息包括代码内部信息和日志信息等,log日志信息会记录引发崩溃的直接原因,定位到代码的具体位置如代码引用的类、代码行号等等。此外,应用在运行过程中对智能终端资源的占用率变化信息,如GPU使用率,CPU使用率、内存占用率等都反映了应用在数据、图像等方面的优化是否能够适应智能终端。而不同智能终端的配置信息和机型信息都可能不同,例如,虽然许多品牌的手机都使用安卓系统,但不同品牌都会对旗下手机使用的系统进行优化和定制,因此应用在不同机型的智能终端上运行情况可能不同;配置信息也会大大影响应用的运行状况,例如低端GPU对图像的处理较差,因此应用需要降低帧数;高端GPU虽然有较强的图像处理性能,但如果长期运行应用可能会引起智能终端过热从而崩溃,等等。基于此,统计应用的运行时间信息也是十分重要的。
在本发明的一个实施例中,图1所示的方法中,可执行文件在应用运行的过程中采集应用运行相关信息的方法包括:当应用崩溃时,可执行文件定位应用在崩溃时运行的代码段,记录该代码段的位置信息;以及可执行文件获取应用的崩溃前的预设时间段内的日志信息。
例如,应用的某一代码段因为包含了非法的数学运算而引起了应用崩溃,此时可执行文件可以获取应用的崩溃前的预设时间段内的日志信息,根据崩该信息定位到该代码段,并记录该代码段的位置信息,举例而言,以堆/栈的数据结构存储该代码段的位置信息。这样开发人员可以根据查看到的应用运行相关信息快速定位到该代码段并进行修改、删除等处理。更为直观地,在本发明的一个实施例中,可执行文件在应用运行的过程中采集应用运行相关信息的方法进一步包括:可执行文件在应用运行过程中的页面进行截图保存;当应用崩溃时,可执行文件提取所保存的发生崩溃之前的预设个数的截图作为崩溃现场截图。
举例而言,将本实施例中的测试方法应用于测试应用全部功能的场景中,则根据预设的测试行为,对应用的各项功能一一进行测试,在此过程中,监控操作轨迹,关注应用页面的跳转,对每个页面进行截图保存。在操作轨迹中的某个时间点如果发生了应用崩溃事件,则将该轨迹点前应用展示的预设个数(如5个)页面的截图进行提取作为崩溃现场截图,一方面可以确认应用崩溃事件,另一方面方便重现问题,使得问题能够快速地得到解决。
在本发明的一个实施例中,图1所示的方法中,可执行文件在应用运行的过程中采集应用运行相关信息的方法包括:可执行文件当打开应用的一个页面时记录开始时间,当该页面结束时记录结束时间,根据开始时间和结束时间记录在该页面上的停留的时间。
前文简单述及了应用测试时间的不同可以反映应用运行的不同状况。具体地,根据安装应用的智能终端的机型信息、配置信息、系统信息的不同,测试人员需要为不同的智能终端设置不同的应用测试时间,因此记录并统计各应用的各页面的停留时间可以得知应用测试的具体状况。以安卓系统为例,由于6.X版本的安卓系统新增功能较多,因此测试人员希望加大对安装6.X版本安卓系统的智能终端的测试力度。类似地,应用新版本上线时会新增的功能也需要进行重点测试。则在本发明的一个实施例中,图1所示的方法中,可执行文件在应用运行的过程中采集应用运行相关信息的方法包括:可执行文件获取智能终端机型信息和配置信息;可执行文件记录应用在运行过程中对智能终端资源的占用率变化信息;智能终端资源包括如下中的一种或多种:CPU、内存、网络流量资源、每秒显示的帧数。
其中为了减小可执行文件的体积,在本发明的一个实施例中,上述方法中,可执行文件在应用运行的过程中采集应用运行相关信息的方法进一步包括:可执行文件从服务器获取采集配置信息;采集配置信息包括如下中的一种或多种:要采集变化率的智能终端资源名称、采集频率、采集时间段;可执行文件根据采集配置信息采集智能终端资源的占用率变化信息。
其中,可以为应用在运行过程中对智能终端资源的占有率设置预警阈值,例如,当应用运行过程中对CPU的占用超过了整个系统的60%,则向测试人员发出警示。可执行文件记录的占用率变化信息可以按各资源进行分类,并按时间得到资源占用率曲线,便于测试人员排查问题,例如,应用运行过程中内存占用率曲线一直上扬,则很可能存在内存泄漏问题;网络流量资源占用率较高的时间段是否对应进行了网络交互测试,等等。
图2示出了根据本发明一个实施例的一种测试应用的装置的结构示意图,如图2所示,测试应用的装置200包括:
预制单元210,适于预制进行应用测试的可执行文件包。
打包单元220,适于将可执行文件包与待测试应用包一起打包,生成应用的安装包。
测试单元230,适于在智能终端上安装应用的安装包,在智能终端上运行应用;接收可执行文件在应用运行的过程中采集的应用运行相关信息。
可见,图2所示的装置,通过各单元的相互配合,将预制的进行应用测试的可执行文件包与待测试应用包一起打包,生成应用的安装包,在智能终端上安装后,检测应用的运行状况,接收可执行文件在应用运行的过程中采集的应用运行相关信息。该技术方案能够检测应用在智能终端上的实际运行状况,并将采集到的信息从智能终端发出,使得测试人员可以快速了解到应用在智能终端上的测试状况,不需值守,开发人员也可以根据应用运行相关信息对代码进行修改,因此该方法对应用运行状况的展示十分准确直观。
在本发明的一个实施例中,图2所示的装置进一步包括:发送单元240,适于将应用运行相关信息发送到指定服务器,以使得应用的开发者能够根据应用运行相关信息对应用进行改进。
在本发明的一个实施例中,上述装置中,发送单元240,适于检测智能终端与指定服务器的网络连接是否可用,是则将应用运行相关信息直接发送到指定服务器,否则将应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
在本发明的一个实施例中,图2所示的装置中,可执行文件包为jar包;打包单元220,适于将可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
在本发明的一个实施例中,图2所示的装置中,应用运行相关信息包括如下中的一种或多种:应用崩溃时的相关信息;应用在运行过程中对智能终端资源的占用率变化信息;智能终端的机型信息和配置信息;应用的运行时间信息。
在本发明的一个实施例中,图2所示的装置中,可执行文件在应用运行的过程中采集应用运行相关信息包括:当应用崩溃时,可执行文件定位应用在崩溃时运行的代码段,记录该代码段的位置信息;以及可执行文件获取应用的崩溃前的预设时间段内的日志信息。
在本发明的一个实施例中,上述装置中,可执行文件在应用运行的过程中采集应用运行相关信息的方法进一步包括:可执行文件在应用运行过程中的页面进行截图保存;当应用崩溃时,可执行文件提取所保存的发生崩溃之前的预设个数的截图作为崩溃现场截图。
在本发明的一个实施例中,图2所示的装置中,可执行文件在应用运行的过程中采集应用运行相关信息包括:可执行文件当打开应用的一个页面时记录开始时间,当该页面结束时记录结束时间,根据开始时间和结束时间记录在该页面上的停留的时间。
在本发明的一个实施例中,图2所示的装置中,可执行文件在应用运行的过程中采集应用运行相关信息包括:可执行文件获取智能终端机型信息和配置信息;可执行文件记录应用在运行过程中对智能终端资源的占用率变化信息;智能终端资源包括如下中的一种或多种:CPU、内存、网络流量资源、每秒显示的帧数。
在本发明的一个实施例中,上述装置中,可执行文件在应用运行的过程中采集应用运行相关信息进一步包括:可执行文件从服务器获取采集配置信息;采集配置信息包括如下中的一种或多种:要采集变化率的智能终端资源名称、采集频率、采集时间段;可执行文件根据采集配置信息采集智能终端资源的占用率变化信息。
需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。
图3示出了根据本发明一个实施例的一种测试应用的系统的结构示意图,如图3所示,测试应用的系统300包括:服务器310和多个如上述任一实施例中的测试应用的装置320;测试应用的装置320分别安装于不同机型的多个智能终端。
综上所述,本发明的技术方案,将预制的进行应用测试的可执行文件包与待测试应用包一起打包,生成应用的安装包,在智能终端上安装后,检测应用的运行状况,接收可执行文件在应用运行的过程中采集的应用运行相关信息。该技术方案能够检测应用在智能终端上的实际运行状况,并将采集到的信息从智能终端发出,使得测试人员可以快速了解到应用在智能终端上的测试状况,不需值守,开发人员也可以根据应用运行相关信息对代码进行修改,因此该方法对应用运行状况的展示十分准确直观。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的测试应用的装置和系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种测试应用的方法,其中,该方法包括:
预制用于进行应用测试的可执行文件包;
将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;
在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;
接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。
A2、如A1所述的方法,其中,该方法进一步包括:
将所述应用运行相关信息发送到指定服务器,以使得所述应用的开发者能够根据所述应用运行相关信息对所述应用进行改进。
A3、如A2所述的方法,其中,将所述应用运行相关信息发送到指定服务器包括:
检测智能终端与指定服务器的网络连接是否可用,是则将所述应用运行相关信息直接发送到指定服务器,否则将所述应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
A4、如A1所述的方法,其中,所述可执行文件包为jar包;
将所述可执行文件包与待测试应用包一起打包包括:将所述可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
A5、如A1所述的方法,其中,所述应用运行相关信息包括如下中的一种或多种:
应用崩溃时的相关信息;
应用在运行过程中对智能终端资源的占用率变化信息;
智能终端的机型信息和配置信息;
应用的运行时间信息。
A6、如A1所述的方法,其中,可执行文件在所述应用运行的过程中采集应用运行相关信息的方法包括:
当所述应用崩溃时,所述可执行文件定位所述应用在崩溃时运行的代码段,记录该代码段的位置信息;以及所述可执行文件获取应用的崩溃前的预设时间段内的日志信息。
A7、如A6所述的方法,其中,所述可执行文件在所述应用运行的过程中采集应用运行相关信息的方法进一步包括:
所述可执行文件在所述应用运行过程中的页面进行截图保存;
当所述应用崩溃时,所述可执行文件提取所保存的发生崩溃之前的预设个数的截图作为崩溃现场截图。
A8、如A1所述的方法,其中,可执行文件在所述应用运行的过程中采集应用运行相关信息的方法包括:
所述可执行文件当打开应用的一个页面时记录开始时间,当该页面结束时记录结束时间,根据开始时间和结束时间记录在该页面上的停留的时间。
A9、如A1所述的方法,其中,可执行文件在所述应用运行的过程中采集应用运行相关信息的方法包括:
所述可执行文件获取智能终端机型信息和配置信息;
所述可执行文件记录应用在运行过程中对智能终端资源的占用率变化信息;所述智能终端资源包括如下中的一种或多种:CPU、内存、网络流量资源、每秒显示的帧数。
A10、如A9所述的方法,其中,所述可执行文件在所述应用运行的过程中采集应用运行相关信息的方法进一步包括:
所述可执行文件从服务器获取采集配置信息;采集配置信息包括如下中的一种或多种:要采集变化率的智能终端资源名称、采集频率、采集时间段;
所述可执行文件根据采集配置信息采集智能终端资源的占用率变化信息。
本发明的实施例还公开了B11、一种测试应用的装置,其中,该装置包括:
预制单元,适于预制进行应用测试的可执行文件包;
打包单元,适于将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;
测试单元,适于在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。
B12、如B11所述的装置,其中,该装置进一步包括:
发送单元,适于将所述应用运行相关信息发送到指定服务器,以使得所述应用的开发者能够根据所述应用运行相关信息对所述应用进行改进。
B13、如B12所述的装置,其中,
所述发送单元,适于检测智能终端与指定服务器的网络连接是否可用,是则将所述应用运行相关信息直接发送到指定服务器,否则将所述应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
B14、如B11所述的装置,其中,所述可执行文件包为jar包;
所述打包单元,适于将所述可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
B15、如B11所述的装置,其中,所述应用运行相关信息包括如下中的一种或多种:
应用崩溃时的相关信息;
应用在运行过程中对智能终端资源的占用率变化信息;
智能终端的机型信息和配置信息;
应用的运行时间信息。
B16、如B11所述的装置,其中,可执行文件在所述应用运行的过程中采集应用运行相关信息包括:
当所述应用崩溃时,所述可执行文件定位所述应用在崩溃时运行的代码段,记录该代码段的位置信息;以及所述可执行文件获取应用的崩溃前的预设时间段内的日志信息。
B17、如B16所述的装置,其中,所述可执行文件在所述应用运行的过程中采集应用运行相关信息的方法进一步包括:
所述可执行文件在所述应用运行过程中的页面进行截图保存;
当所述应用崩溃时,所述可执行文件提取所保存的发生崩溃之前的预设个数的截图作为崩溃现场截图。
B18、如B11所述的装置,其中,可执行文件在所述应用运行的过程中采集应用运行相关信息包括:
所述可执行文件当打开应用的一个页面时记录开始时间,当该页面结束时记录结束时间,根据开始时间和结束时间记录在该页面上的停留的时间。
B19、如B11所述的装置,其中,可执行文件在所述应用运行的过程中采集应用运行相关信息包括:
所述可执行文件获取智能终端机型信息和配置信息;
所述可执行文件记录应用在运行过程中对智能终端资源的占用率变化信息;所述智能终端资源包括如下中的一种或多种:CPU、内存、网络流量资源、每秒显示的帧数。
B20、如B19所述的装置,其中,所述可执行文件在所述应用运行的过程中采集应用运行相关信息进一步包括:
所述可执行文件从服务器获取采集配置信息;采集配置信息包括如下中的一种或多种:要采集变化率的智能终端资源名称、采集频率、采集时间段;
所述可执行文件根据采集配置信息采集智能终端资源的占用率变化信息。
本发明的实施例还公开了C21、一种测试应用的系统,其中,该系统包括:服务器和多个如B11-B20中任一项所述的测试应用的装置;
所述测试应用的装置分别安装于不同机型的多个智能终端。

Claims (10)

1.一种测试应用的方法,其中,该方法包括:
预制用于进行应用测试的可执行文件包;
将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;
在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;
接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。
2.如权利要求1所述的方法,其中,该方法进一步包括:
将所述应用运行相关信息发送到指定服务器,以使得所述应用的开发者能够根据所述应用运行相关信息对所述应用进行改进。
3.如权利要求2所述的方法,其中,将所述应用运行相关信息发送到指定服务器包括:
检测智能终端与指定服务器的网络连接是否可用,是则将所述应用运行相关信息直接发送到指定服务器,否则将所述应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
4.如权利要求1所述的方法,其中,所述可执行文件包为jar包;
将所述可执行文件包与待测试应用包一起打包包括:将所述可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
5.如权利要求1所述的方法,其中,所述应用运行相关信息包括如下中的一种或多种:
应用崩溃时的相关信息;
应用在运行过程中对智能终端资源的占用率变化信息;
智能终端的机型信息和配置信息;
应用的运行时间信息。
6.一种测试应用的装置,其中,该装置包括:
预制单元,适于预制进行应用测试的可执行文件包;
打包单元,适于将所述可执行文件包与待测试应用包一起打包,生成应用的安装包;
测试单元,适于在智能终端上安装所述应用的安装包,在智能终端上运行所述应用;接收所述可执行文件在所述应用运行的过程中采集的应用运行相关信息。
7.如权利要求6所述的装置,其中,该装置进一步包括:
发送单元,适于将所述应用运行相关信息发送到指定服务器,以使得所述应用的开发者能够根据所述应用运行相关信息对所述应用进行改进。
8.如权利要求7所述的装置,其中,
所述发送单元,适于检测智能终端与指定服务器的网络连接是否可用,是则将所述应用运行相关信息直接发送到指定服务器,否则将所述应用运行相关信息保存到智能终端本地,当网络连接可用时再发送到指定服务器。
9.如权利要求6所述的装置,其中,所述可执行文件包为jar包;
所述打包单元,适于将所述可执行文件包作为第三方jar包引入待测试应用包中,并一起打包。
10.一种测试应用的系统,其中,该系统包括:服务器和多个如权利要求6-9中任一项所述的测试应用的装置;
所述测试应用的装置分别安装于不同机型的多个智能终端。
CN201610539395.1A 2016-07-08 2016-07-08 一种测试应用的方法、装置和系统 Pending CN106055485A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610539395.1A CN106055485A (zh) 2016-07-08 2016-07-08 一种测试应用的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610539395.1A CN106055485A (zh) 2016-07-08 2016-07-08 一种测试应用的方法、装置和系统

Publications (1)

Publication Number Publication Date
CN106055485A true CN106055485A (zh) 2016-10-26

Family

ID=57185161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610539395.1A Pending CN106055485A (zh) 2016-07-08 2016-07-08 一种测试应用的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN106055485A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776213A (zh) * 2016-12-12 2017-05-31 深圳铂睿智恒科技有限公司 智能终端的工厂测试方法、系统及工厂测试设备
CN107329894A (zh) * 2017-06-21 2017-11-07 广州华多网络科技有限公司 应用程序系统测试方法、装置及电子设备
CN108156048A (zh) * 2016-12-06 2018-06-12 北京奇虎科技有限公司 一种实现在复杂场景中获取应用崩溃信息的方法和装置
CN109522182A (zh) * 2018-10-22 2019-03-26 努比亚技术有限公司 应用程序兼容性监控方法、装置、智能终端及存储介质
CN110716851A (zh) * 2018-07-12 2020-01-21 北京奇虎科技有限公司 一种测试方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946468A (zh) * 2012-10-18 2013-02-27 广东欧珀移动通信有限公司 一种手机运行程序异常自动报警的方法及系统
US20130246837A1 (en) * 2006-08-04 2013-09-19 Apple Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
CN104102574A (zh) * 2013-04-07 2014-10-15 腾讯科技(深圳)有限公司 应用程序测试方法及装置
CN104598380A (zh) * 2015-01-16 2015-05-06 广东欧珀移动通信有限公司 一种基于控件的自动化测试方法及系统
CN104899130A (zh) * 2015-05-22 2015-09-09 深圳市酷开网络科技有限公司 一种应用程序管理方法及系统
US20150347220A1 (en) * 2014-05-30 2015-12-03 Crittercism, Inc. System for Monitoring and Tracking Application Crashes Occurring on Different Mobile Devices
CN105159832A (zh) * 2015-09-29 2015-12-16 北京奇虎科技有限公司 一种在应用测试中收集应用异常信息的方法、装置和系统
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及系统与应用程序监控方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130246837A1 (en) * 2006-08-04 2013-09-19 Apple Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
CN102946468A (zh) * 2012-10-18 2013-02-27 广东欧珀移动通信有限公司 一种手机运行程序异常自动报警的方法及系统
CN104102574A (zh) * 2013-04-07 2014-10-15 腾讯科技(深圳)有限公司 应用程序测试方法及装置
US20150347220A1 (en) * 2014-05-30 2015-12-03 Crittercism, Inc. System for Monitoring and Tracking Application Crashes Occurring on Different Mobile Devices
CN104598380A (zh) * 2015-01-16 2015-05-06 广东欧珀移动通信有限公司 一种基于控件的自动化测试方法及系统
CN104899130A (zh) * 2015-05-22 2015-09-09 深圳市酷开网络科技有限公司 一种应用程序管理方法及系统
CN105159832A (zh) * 2015-09-29 2015-12-16 北京奇虎科技有限公司 一种在应用测试中收集应用异常信息的方法、装置和系统
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及系统与应用程序监控方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
敖浩: "基于Android平台的错误监控应用程序的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
火烧云: "合并EXE自制安装包", 《网友世界》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156048A (zh) * 2016-12-06 2018-06-12 北京奇虎科技有限公司 一种实现在复杂场景中获取应用崩溃信息的方法和装置
CN106776213A (zh) * 2016-12-12 2017-05-31 深圳铂睿智恒科技有限公司 智能终端的工厂测试方法、系统及工厂测试设备
CN107329894A (zh) * 2017-06-21 2017-11-07 广州华多网络科技有限公司 应用程序系统测试方法、装置及电子设备
CN107329894B (zh) * 2017-06-21 2020-05-12 广州华多网络科技有限公司 应用程序系统测试方法、装置及电子设备
CN110716851A (zh) * 2018-07-12 2020-01-21 北京奇虎科技有限公司 一种测试方法和装置
CN109522182A (zh) * 2018-10-22 2019-03-26 努比亚技术有限公司 应用程序兼容性监控方法、装置、智能终端及存储介质

Similar Documents

Publication Publication Date Title
CN106055485A (zh) 一种测试应用的方法、装置和系统
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN103186740B (zh) 一种Android恶意软件的自动化检测方法
CN105589805B (zh) 一种代码覆盖率报告的生成方法和装置
CN111159600B (zh) 页面上元素的信息上报方法、装置、电子设备及存储介质
US20130298110A1 (en) Software Visualization Using Code Coverage Information
CN105095207B (zh) 检索、获取应用软件内容的方法和装置
CN103559222B (zh) 浏览器中显示页面加载时间的方法和装置
CN110955899B (zh) 安全测试方法、装置、测试设备以及介质
CN103150513A (zh) 拦截应用程序中的植入信息的方法及装置
CN104407980A (zh) 移动应用自动化测试装置和方法
CN109491860A (zh) 应用程序的异常检测方法、终端设备及介质
CN105160027B (zh) 广告数据处理方法及装置
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
WO2016093871A1 (en) Method and system for automating submission of issue reports
WO2016039783A1 (en) Auditing of web-based video
CN112860556B (zh) 覆盖率统计方法、装置、计算机系统和可读存储介质
CN109150700A (zh) 一种数据采集的方法及装置
CN109062807A (zh) 测试应用程序的方法及装置、存储介质、电子装置
CN102662838B (zh) 一种浏览器中Flash的调试方法及系统
CN107480048A (zh) 测试工具生成方法、装置、存储介质及计算机设备
CN113535567B (zh) 软件测试方法、装置、设备和介质
CN106227650A (zh) 一种检测应用的内存泄漏的方法和装置
CN107590064A (zh) 一种应用升级测试方法、装置和系统
CN110489326B (zh) 基于ids的httpapi调试方法装置、介质和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161026

RJ01 Rejection of invention patent application after publication