Andriod应用程序的测试方法和装置制造方法及图纸

技术编号:10434060 阅读:96 留言:0更新日期:2014-09-17 11:45
提供了一种Andriod应用程序的测试方法和装置。所述测试方法包括:(a)收集测试日志;(b)启动用于模拟对被测应用程序进行操作的测试工具;(c)如果确定被测应用程序崩溃,则查找测试日志中与被测应用程序相关的错误日志信息,截取并保存错误日志信息;(d)在错误日志分析线程截取并保存错误日志信息之后,关闭被测应用程序,并返回步骤(a);(e)如果确定被测应用程序没有崩溃,则在到达预定的测试时间之后,分析保存的错误日志信息,并生成测试结果报告。

【技术实现步骤摘要】
Andriod应用程序的测试方法和装置
本专利技术涉及Andriod操作系统平台的应用程序开发的
更具体地讲,涉及一种能够在Andriod操作系统平台上自动运行应用程序测试并记录和分析测试结果的方法和装置。
技术介绍
谷歌(Google)公司的Andriod是一种基于Linux的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑。根据2012年11月数据显示,Andriod占据全球智能手机操作系统市场76%的份额。作为智能终端的重要操作系统平台之一,Andriod操作系统平台上的软件应用程序开发是当前热点之一。软件产品的测试是使用人工或自动手段来运行或测试某个软件产品,其目的是为了检验该软件产品是否满足规定的需求并得到相关的错误日志信息。在测试Andriod应用程序(app)的稳定性时,由于有些应用程序需要在终端平台上长期运行,故必须保证应用程序在长时间内运行无错误或者崩溃,因此对于这类型的应用程序稳定性测试时间长达8至10小时。目前,Andriod提供的测试工具monkey被广泛用于Andriod应用程序的测试。通过在monkey中设置运行时间参数,可以在长时间内模拟人在屏幕上进行随机操作。如果出现错误或者崩溃,通过记录的日志信息可以找到导致错误或者崩溃的原因。然而,对于这种方法,当monkey进行随机操作之时,一旦出现错误或者崩溃,monkey操作就会被中断,从而导致整个稳定性测试终止。此时,若设置-ignore-crashes参数,则monkey会继续向系统发送事件。但这时由于没有对被测程序做一些初始化操作,可能会出现一些错误,例如,重复的内存泄露错误。由于稳定性测试的时间周期长,为了提高测试工作的效率,需要实现稳定性测试,在不需要人参与的情况下自动进行,并且完成错误日志信息的收集。因此必须开发新的稳定性工作,提升测试效率,主动释放内存,并且使得测试过程自动化和测试时间可控制。
技术实现思路
根据本专利技术的一方面,提供了一种Andriod应用程序的测试方法,其特征在于包括以下步骤:(a)收集测试日志;(b)启动用于模拟对被测应用程序进行操作的测试工具;(c)如果确定被测应用程序崩溃,则查找测试日志中与被测应用程序相关的错误日志信息,截取并保存错误日志信息;(d)在错误日志分析线程截取并保存错误日志信息之后,关闭被测应用程序,并返回步骤(a);(e)如果确定被测应用程序没有崩溃,则在到达预定的测试时间之后,分析保存的错误日志信息,并生成测试结果报告。根据本专利技术的一方面,在测试方法的步骤(a),将收集的测试日志记录到预定文件中。根据本专利技术的一方面,在测试方法的步骤(c),使用java中的string类的startwith命令来查找测试日志中的错误日志信息。根据本专利技术的一方面,在测试方法的步骤(c),查找测试日志中错误级别为Error和Warning的错误日志信息。根据本专利技术的一方面,在测试方法的步骤(d),获取终端设备中的当前进程列表,通过检索当前进程列表以获得与被测应用程序对应的程序ID(PID),并杀死与PID对应的被测应用程序的进程。根据本专利技术的一方面,在测试方法的步骤(e),测试进程过滤重复的错误日志信息来生成测试结果报告。根据本专利技术的一方面,测试方法还包括:将测试结果报告发送到预定邮箱。根据本专利技术的另一方面,还提供了一种Andriod应用程序的测试装置,其特征在于包括:日志收集模块,受控于测试控制模块,在测试开始时收集在测试过程中产生的日志;错误日志分析模块,受控于测试控制模块,在被测应用程序崩溃时分析线程查找测试日志中与被测应用程序相关的错误日志信息,截取并保存错误日志信息;测试控制模块,在测试开始时启动用于模拟对被测应用程序进行操作的测试工具,在错误日志分析模块保存错误日志信息之后关闭被测应用程序,如果没有到达预定的测试时间,则控制日志收集模块、错误日志分析模块、测试工具和被测应用程序继续进行测试,在到达预定的测试时间之后停止测试;测试结果生成模块,根据测试控制模块的控制在测试完成之后根据保存的错误日志信息生成测试结果报告。根据本专利技术的另一方面,日志收集模块将收集的测试日志记录到预定文件中。根据本专利技术的另一方面,错误日志分析模块使用java中的string类的startwith命令来查找测试日志中的错误日志信息。根据本专利技术的另一方面,错误日志分析模块查找测试日志中错误级别为Error和Warning的错误日志信息。根据本专利技术的另一方面,测试控制模块获取终端设备中的当前进程列表,通过检索当前进程列表以获得与被测应用程序对应的程序ID(PID),并杀死与PID对应的被测应用程序的进程。根据本专利技术的另一方面,测试结果生成模块过滤重复的错误日志信息来生成测试结果报告。根据本专利技术的另一方面,测试结果生成模块将测试结果报告发送到预定邮箱。附图说明通过下面结合附图进行的描述,本专利技术的上述和其他目的和特点将会变得更加清楚,其中:图1是示出根据本专利技术实施例的Andriod应用程序的测试方法的流程图;图2是示出根据本专利技术实施例的Andriod应用程序的测试装置的框图。具体实施方式下面提供参照附图进行的描述以有助于全面理解如权利要求及其等同物所限定的本专利技术的示例性实施例。所述描述包括各种详细的细节以有助于理解,而这些描述将被认为仅为示例性的。因此,本领域的普通技术人员将意识到在不脱离本专利技术的范围和精神的情况下可做出在此描述的各种改变和变型。另外,为了清晰和简洁,可省略对公知功能和构造的描述。图1是示出根据本专利技术实施例的Andriod应用程序的测试方法的流程图。在设置好应用程序的测试平台之后,即,安装被测应用程序之后,开始启动根据本专利技术实施例的测试进程。这里,根据本专利技术实施例的测试进程可以是java编写的程序。在根据本专利技术实施例的测试进程被启动之后,在步骤S101,收集测试日志。例如,根据本专利技术实施例的测试进程可启动一个日志收集线程以用于收集在测试过程中产生的日志。例如,日志收集线程可通过使用adbshelllogcat>“XXX”的形式的命令来将收集的日志记录到文件名为“XXX”的文件中。接下来,在步骤S103,测试进程启动用于模拟对被测应用程序的操作的工具,从而对被测应用程序进行测试操作。通常,可采用monkey工具来模拟对于被测应用程序的操作。当然,本领域的技术人员可采用任何已知的测试工具来模拟对于被测应用程序的操作。下面将以monkey工具为示例进行说明。当测试进程启动monkey工具来模拟对于被测应用程序的随机操作时,例如可采用如下的命令来设置需要模拟的操作:adb-dshellmonkey-s5-p“YYYY”--throttle1000--pct-touch43--pct-motion18--pct-trackball15--pct-nav5--pct-majomav10--pct-appswitch2--pct-anyevent0--kill-process-after-error--monitor-native-crashes-v-v“测试次数”。其中,-s表示伪随机数生成器的seed值,-p“YYYY”表示被测应用程序的需要启动的activity的包的名字,-本文档来自技高网
...
Andriod应用程序的测试方法和装置

【技术保护点】
一种Andriod应用程序的测试方法,其特征在于包括以下步骤:(a)收集测试日志;(b)启动用于模拟对被测应用程序进行操作的测试工具;(c)如果确定被测应用程序崩溃,则查找测试日志中与被测应用程序相关的错误日志信息,截取并保存错误日志信息;(d)在错误日志分析线程截取并保存错误日志信息之后,关闭被测应用程序,并返回步骤(a);(e)如果确定被测应用程序没有崩溃,则在到达预定的测试时间之后,分析保存的错误日志信息,并生成测试结果报告。

【技术特征摘要】
1.一种Andriod应用程序的测试方法,其特征在于包括以下步骤:(a)收集测试日志;(b)启动用于模拟对被测应用程序进行操作的测试工具;(c)如果确定被测应用程序崩溃,则查找测试日志中与被测应用程序相关的错误日志信息,截取并保存错误日志信息;(d)在错误日志分析线程截取并保存错误日志信息之后,关闭被测应用程序,并返回步骤(a);(e)如果确定被测应用程序没有崩溃,则在到达预定的测试时间之后,分析保存的错误日志信息,并生成测试结果报告。2.如权利要求1所述的测试方法,其中,在步骤(a),将收集的测试日志记录到预定文件中。3.如权利要求1所述的测试方法,其中,在步骤(c),使用java中的string类的startwith命令来查找测试日志中的错误日志信息。4.如权利要求1所述的测试方法,其中,在步骤(c),查找测试日志中错误级别为Error和Warning的错误日志信息。5.如权利要求1所述的测试方法,其中,在步骤(d),获取终端设备中的当前进程列表,通过检索当前进程列表以获得与被测应用程序对应的程序ID,并杀死与程序ID对应的被测应用程序的进程。6.如权利要求1所述的测试方法,其中,在步骤(e),测试进程过滤重复的错误日志信息来生成测试结果报告。7.如权利要求1所述的测试方法,还包括:将测试结果报告发送到预定邮箱。8.一种Andriod应用程序的测试装置,其特征在于包括:日志收集模块,受控于测试控制模块,在测试开...

【专利技术属性】
技术研发人员:许仙明刘艳君
申请(专利权)人:百度国际科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1