您的当前位置:首页正文

一种自动化测试方法及装置[发明专利]

来源:画鸵萌宠网
(19)中华人民共和国国家知识产权局

*CN102419727A*

(10)申请公布号 CN 102419727 A(43)申请公布日 2012.04.18

(12)发明专利申请

(21)申请号 201110293113.1(22)申请日 2011.09.30

(71)申请人宇龙计算机通信科技(深圳)有限公

地址518057 广东省深圳市南山区高新技术

产业园(北区)梦溪道2号酷派信息港(1号楼)(72)发明人尹振清

(74)专利代理机构广州三环专利代理有限公司

44202

代理人郝传鑫 熊永强(51)Int.Cl.

G06F 11/36(2006.01)

权利要求书 2 页 说明书 6 页 附图 5 页

(54)发明名称

一种自动化测试方法及装置(57)摘要

本发明实施例公开了一种自动化测试方法,包括:对移动终端进行自动化测试Monkeytest;根据获取命令,获取所述Monkeytest过程中生成的日志文件,所述日志文件用于对Monkeytest的过程进行记录;提取所述获取的日志文件中所记录的测试信息,并上传至服务器。本发明实施例还公开了一种自动化测试装置。采用本发明,可以自动地、快速地得到Monkeytest的测试信息,并通过将测试信息上传服务器,使其它人员能够快捷地了解到Monkeytest过程。

CN 102419727 ACN 102419727 ACN 102419739 A

权 利 要 求 书

1/2页

1.一种自动化测试方法,其特征在于,包括:

对移动终端进行自动化测试Monkey test;根据获取命令,获取所述Monkey test过程中生成的日志文件,所述日志文件用于对Monkey test的过程进行记录;

提取所述获取的日志文件中所记录的测试信息,并上传至服务器。

2.如权利要求1所述的方法,其特征在于,所述对移动终端进行Monkey test之前,还包括:

设置Monkey test参数信息;所述参数信息包括:待测试的应用模块的身份标识ID,以及该待测试的应用模块对应的负责人及其联系方式。

3.如权利要求2所述的方法,其特征在于,所述获取所述Monkey test过程中生成的日志文件之后,还包括:

判断所述获取的日志文件中是否记录了所述待测试的应用模块在测试中出现的错误信息;

如果判断结果为是,将所述待测试的应用模块在测试过程中出现的错误信息发送给对应的负责人。

4.如权利要求2所述的方法,其特征在于,所述获取所述Monkey test过程中生成的日志文件之后,还包括:

提取所述日志文件中记录的各个被测试的应用模块在测试过程中出现的错误信息;根据所述提取的错误信息,生成错误BUG报表,并上传至服务器。

5.如权利要求1所述的方法,其特征在于,所述获取所述Monkey test过程中生成的日志文件之后,还包括:

将所述获取的日志文件进行压缩打包后,上传至服务器。

6.一种自动化测试装置,其特征在于,包括:测试模块,用于对移动终端进行Monkey test;获取模块,用于根据获取命令,获取所述测试模块在所述Monkey test过程中所生成的日志文件;

测试信息提取上传模块,用于提取所述获取模块获取的日志文件中所记录的测试信息,并上传至服务器。

7.如权利要求6所述的装置,其特征在于,还包括:设置模块,用于在测试模块进行Monkey test之前,设置Monkey test参数信息;其中,所述参数信息包括:待测试的应用模块的身份标识ID,以及该待测试的应用模块对应的负责人及其联系方式。

2

CN 102419727 ACN 102419739 A

权 利 要 求 书

2/2页

8.如权利要求7所述的装置,其特征在于,还包括:

判断模块,用于判断所述获取模块获取的日志文件中是否记录了所述待测试的应用模块在测试中出现的错误信息;

发送模块,用于当判断模块的判断结果为是时,将所述待测试的应用模块在测试过程中出现的错误信息发送给相应的负责人。

9.如权利要求7所述的装置,其特征在于,还包括:提取模块,用于提取所述获取模块获取的日志文件中记录的各个被测试的应用模块在测试过程中出现的错误信息;

报表生成上传模块,用于根据所述提取模块提取的错误信息,生成BUG报表,并上传至服务器。

10.如权利要求6所述的装置,其特征在于,还包括:日志压缩上传模块,用于将所述获取模块获取的日志文件进行压缩打包后,上传至服务器。

3

CN 102419727 ACN 102419739 A

说 明 书

一种自动化测试方法及装置

1/6页

技术领域

[0001]

本发明涉及移动通信领域,尤其涉及一种自动化测试(Monkey test)方法及装置。

背景技术

Android(安卓)是Google公司于2007年宣布的基于Linux平台的开源移动操作系统的名称,该平台由操作系统、中间件、应用软件和用户界面组成。Monkey是Android系统的一个运行在模拟器或实际设备中的命令行工具,通过向被测试的移动终端伪随机地发送用户事件流,实现对移动终端的一个或多个应用的压力测试,其中用户事件流包括:按键输入、触摸屏输入和手势输入,等等。通过Monkey test(一种自动化测试方法),开发者可以掌握移动终端中被测试的各个应用的当前性能,从而根据测试所反映的性能情况对移动终端进行改进,提高其性能指标。目前的Monkey test中,在测试过程中,要求测试人员对Monkey test的过程和测试过程中出现的问题进行详细记录,形成测试报告,其它人员(比如测试项目组负责人)通过阅读测试报告了解Monkey test情况。由于目前的Monkey test方法中,Monkey test中的测试情况由测试人员记录,其它人员通过阅读测试报告了解测试情况,所以使得Monkey test中,测试情况的生成过程较复杂,其它人员了解测试情况的方式也较复杂。

[0002]

发明内容

[0003] 本发明实施例所要解决的技术问题在于,提供一种自动化测试方法及装置,可以自动地、快速地得到Monkey test的测试信息,并通过将测试信息上传服务器,使其它人员能够快捷地了解到Monkey test过程。[0004] 为了解决上述技术问题,本发明实施例提供了一种自动化测试方法,包括:

对移动终端进行自动化测试Monkey test;根据获取命令,获取所述Monkey test过程中生成的日志文件,所述日志文件用于对Monkey test的过程进行记录;

提取所述获取的日志文件中所记录的测试信息,并上传至服务器。[0005] 其中,所述对移动终端进行Monkey test之前,还包括:

设置Monkey test参数信息;所述参数信息包括:待测试的应用模块的身份标识ID,以及该待测试的应用模块对应的负责人及其联系方式。[0006] 其中,所述获取所述Monkey test过程中生成的日志文件之后,还包括:

判断所述获取的日志文件中是否记录了所述待测试的应用模块在测试中出现的错误信息;

如果判断结果为是,将所述待测试的应用模块在测试过程中出现的错误信息发送给对应的负责人。[0007] 其中,所述获取所述Monkey test过程中生成的日志文件之后,还包括:

提取所述日志文件中记录的各个被测试的应用模块在测试过程中出现的错误信息;

4

CN 102419727 ACN 102419739 A

说 明 书

2/6页

根据所述提取的错误信息,生成错误BUG报表,并上传至服务器。[0008] 其中,所述获取所述Monkey test过程中生成的日志文件之后,还包括:

将所述获取的日志文件进行压缩打包后,上传至服务器。[0009] 相应地,本发明实施例还提供了一种自动化测试装置,包括:

测试模块,用于对移动终端进行Monkey test;获取模块,用于根据获取命令,获取所述测试模块在所述Monkey test过程中所生成的日志文件;

测试信息提取上传模块,用于提取所述获取模块获取的日志文件中所记录的测试信息,并上传至服务器。[0010] 其中,还包括:设置模块,用于在测试模块进行Monkey test之前,设置Monkey test参数信息;

其中,所述参数信息包括:待测试的应用模块的身份标识ID,以及该待测试的应用模块对应的负责人及其联系方式。[0011] 其中,还包括:判断模块,用于判断所述获取模块获取的日志文件中是否记录了所述待测试的应用模块在测试中出现的错误信息;

发送模块,用于当判断模块的判断结果为是时,将所述待测试的应用模块在测试过程中出现的错误信息发送给相应的负责人。[0012] 其中,还包括:提取模块,用于提取所述获取模块获取的日志文件中记录的各个被测试的应用模块在测试过程中出现的错误信息;

报表生成上传模块,用于根据所述提取模块提取的错误信息,生成BUG报表,并上传至服务器。

[0013] 其中,还包括:日志压缩上传模块,用于将所述获取模块获取的日志文件进行压缩打包后,上传至服务器。

[0014] 实施本发明实施例,具有如下有益效果:

本发明实施例由于根据获取命令,获取Monkey test过程中所生成的日志文件,并将从日志文件中提取的测试信息上传到服务器中;所以能够实现自动、快速地获得Monkey test的测试信息,使其它人员可以方便、快捷地通过访问服务器的方式,了解到Monkey test情况。附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现

有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

[0016] 图1是本发明提供的自动化测试方法的第一实施例的流程示意图;

图2是本发明提供的自动化测试方法的第二实施例的流程示意图;图3是本发明提供的自动化测试方法的第三实施例的流程示意图;图4是本发明提供的自动化测试装置的第一实施例的结构示意图;图5是本发明提供的自动化测试装置的第二实施例的结构示意图;

[0015]

5

CN 102419727 ACN 102419739 A

说 明 书

3/6页

图6是本发明提供的自动化测试装置的第三实施例的结构示意图。

具体实施方式

[0017] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0018] 请参考图1,是本发明实施例的自动化测试方法的第一实施例的流程示意图,所述方法包括:

步骤S11,对移动终端进行Monkey test。[0019] 此处,Monkey test可以针对移动终端的全部或部分应用进行,比如,针对的应用包括但不限于:拍照、蓝牙和/或红外。Monkey test可以通过接收用户输入的ADB(Android Debug Bridge,安卓测试桥)命令启动,比如:用户通过输入$ adb shell monkey -p your.package.name -v 500命令实现启动指定的应用,向其发送500个伪随机事件进行测试。需要说明的是, ADB命令是Monkey test中常用的命令,其使用方法对本领域技术人员是显而易见的,在此不赘述。[0020] 步骤S12,根据获取命令,获取所述Monkey test过程中生成的日志文件。[0021] 其中,所述日志文件用于对Monkey test的过程进行记录,其记录的信息包括:测试信息。获取命令可以由测试人员输入,比如当Monkey test暂停后,测试人员可以输入获取命令,获取Monkey test的过程中生成的日志文件。相应地,Monkey test暂停的触发条件包括:进行Monkey test的指令运行完毕或者接收到测试人员下发的暂停Monkey test的请求,测试人员暂停Monkey test的一种情况是,当测试人员发现对某重点关注的应用在测试时出现严重的错误时,暂停Monkey test,以观察和分析该错误。[0022] 步骤S13,提取步骤S12获取的日志文件中记录的测试信息,并上传服务器。[0023] 其中,步骤S13的实现方式可以是:对步骤S12获取的日志文件进行解析,从中提取表明测试过程相关情况的测试信息,提取的测试信息包括但不限于:测试的开始时间、测试的结束时间、测试的应用的ID(Identity,身份标识)、测试的负责组、测试的负责人、异常模块、异常类型、异常子类型、异常次数、异常持续时间、异常发生时间、异常详细信息、异常状态(比如:异常已解决或未解决)和异常分类(比如:异常严重或不严重)中的任一项或多项。

[0024] 本实施例,通过从Monkey test过程中生成的日志文件中提取测试信息,并将其上传服务器,不在局限于由测试人员记录测试信息的方式,并且与由测试人员记录测试信息相比,其实现速度更快,且能够自动化;同时,将其上传服务器,还丰富了其它人员(比如:测试组负责人)获取测试信息的途径,其它人员可以访问服务器,快捷地了解到测试的进度以及测试中出现的问题。[0025] 请参考图2,是本发明的自动化测试方法的第二实施例的流程示意图,所述方法包括:

步骤S20,设置Monkey test参数信息。[0026] 其中,参数信息包括:待测试的应用模块的身份标识ID,以及该待测试的应用模

6

CN 102419727 ACN 102419739 A

说 明 书

4/6页

块对应的负责人及其联系方式;联系方式包括:email或手机号码,等等。可以理解的是,参数信息还可以包括:测试人员和测试地点。[0027] 步骤S21,对移动终端进行Monkey test。[0028] 步骤S22,根据获取命令,获取所述Monkey test过程中生成的日志文件。[0029] 可以理解的是,步骤S21-步骤S22可以与图1中所示的步骤S11-步骤S12相同,在此不赘述。

[0030] 步骤S23,判断步骤S22获取的日志文件中是否记录了所述待测试的应用模块在测试过程中出现的错误信息;如果判断结果为是,则执行步骤S24。[0031] 其中,步骤S23根据日志文件,依次判断步骤S20所设置的待测试的应用模块,在实际的测试过程中,是否出现错误信息。[0032] 步骤S24,将所述待测试的应用模块在测试过程中出现的错误信息发送给对应的负责人。

[0033] 其中,步骤S24可以通过步骤S20中设置的待测试的应用模块对应的负责人的联系方式,将错误信息发送给对应的负责人,使该负责人及时地了解到测试情况。[0034] 本实施例与图1所示的实施例相比,其关注的重点在于,对于各个应用模块,如果其在测试过程中出现错误信息,如何快速地告知应用模块的负责人。显然,对于本领域技术人员来说,将图1中提取日志文件中的测试信息,并上传服务器的步骤,与本实施例中的判断是否出现错误信息,并将错误信息发送给对应的负责人的步骤同步执行,是显而易见的。[0035] 请参考图3,是本发明的自动化测试方法的第三实施例的流程示意图,所述方法包括:

步骤S31,对移动终端进行Monkey test。[0036] 步骤S32,根据获取命令,获取所述Monkey test过程中生成的日志文件。[0037] 可以理解的是,步骤S31-步骤S32可以与图1中所示的步骤S11-步骤S12相同,在此不赘述。

[0038] 步骤S33,提取步骤S32获取的日志文件中记录的各个被测试应用模块在测试过程中出现的错误信息。[0039] 可以理解的是,如果被测试的应用模块在测试过程中,没有出现错误信息,则提取的信息为空。

[0040] 步骤S34,根据步骤S33提取的错误信息,生成BUG(错误)报表,并将生成的BUG报表上传至服务器。[0041] 其中,本步骤生成BUG报表的方式可以是:预先设定报表模板,将提取的各个被测试的应用模块的错误信息添加到报表模板中,生成记录了各个被测试的应用模块在测试过程中出现的错误信息的BUG报表。

[0042] 通过将各被测试的应用模块在测试过程中,产生的错误信息以BUG报表的方式上传服务器,使其它人员通过查阅BUG报表可以快速地掌握整个测试过程出现的主要错误信息。

[0043] 本实施例与图1所示的实施例相比,其关注的重点在于:以BUG报表的形式呈现测试过程中出现的错误信息。显然,对于本领域技术人员来说,将图1中提取日志文件中的测试信息,并上传服务器的步骤,与本实施例中的提取错误信息,生成BUG报表,上传服务器

7

CN 102419727 ACN 102419739 A

说 明 书

5/6页

的步骤同步执行,是显而易见的。[0044] 可以理解的是,在图1至图3所示的实施例中,获取日志文件之后,均可以将获取的日志文件进行压缩打包后,上传至服务器中,方便其它人员查阅测试过程中的原始日志。进一步地,其它人员可以采用与服务器相连接的任一台客户端,浏览服务器中存储的测试信息、压缩后的日志文件和BUG报表。

[0045] 图1至图3对本发明实施例的自动化测试方法进行了详细阐述,下面结合附图4至6,对相应于上述方法的自动化测试装置进行说明,可以理解的是,所述自动化测试装置可以是诸如计算机等具有信息处理能力的设备,也可以是集成在计算机等具有信息处理能力的设备上的装置。[0046] 请参考图4,是本发明实施例的自动化测试装置的第一实施例的结构示意图,所述自动化测试装置4包括:

测试模块41,用于对移动终端进行Monkey test。[0047] 其中,测试模块41可以针对移动终端的全部或部分应用进行测试,比如针对的应用包括但不限于:拍照、蓝牙和/或红外。测试模块41可以通过接收用户输入的ADB(Android Debug Bridge,安卓测试桥)命令启动Monkey test,比如:当测试模块41接收到用户输入的$ adb shell monkey -p your.package.name -v 500命令后,启动移动终端中该命令指定的应用,并向其发送500个伪随机事件进行测试。获取模块42,用于根据获取命令,获取测试模块41在所述Monkey test过程中所生成的日志文件。[0049] 其中,获取命令可以由用户输入,当Monkey test暂停时,用户可以输入获取命令,获取日志文件;Monkey test暂停的触发条件包括: 进行Monkey test的指令运行完毕或者接收到用户下发的暂停Monkey test的请求。[0050] 测试信息提取上传模块43,用于提取获取模块42获取的日志文件中记录的测试信息,并上传至服务器。[0051] 其中,测试信息提取上传模块43可以对获取模块42获取的日志文件进行解析,提取其中的测试信息;提取的测试信息包括但不限于:测试的开始时间、测试的结束时间、测试的应用的ID(Identity,标识号)、测试的负责组、测试的负责人、异常模块、异常类型、异常子类型、异常次数、异常持续时间、异常发生时间、异常详细信息、异常状态(比如:异常已解决或未解决)和异常分类(比如:异常严重或不严重)中的任一项或多项。[0052] 本实施例,通过从日志文件中提取测试信息,并将其上传服务器,不在局限于由测试人员记录测试信息的方式,并且与由测试人员记录测试信息相比,其实现速度更快,且能够自动化;同时,将其上传服务器,还丰富了其它人员(比如:测试组负责人)获取测试信息的途径,其它人员可以访问服务器,快捷地了解到测试的进度以及测试中出现的问题。[0053] 请参考图5,是本发明的自动化测试装置的第二实施例的结构示意图,图4所示的实施例的区别点在于,本实施例的Monkey test装置4还包括:

设置模块40,用于在测试模块41进行Monkey test之前,设置Monkey test参数信息。

[0048] [0054]

其中,参数信息包括:待测试的应用模块的身份标识ID,以及该待测试的应用模块对应的负责人及其联系方式,联系方式包括:email或手机号码,等等。可以理解的是,参数信息还可以包括:测试人员或测试地点。

8

CN 102419727 ACN 102419739 A[0055]

说 明 书

6/6页

进一步,本实施例的Monkey test装置4还可以包括:

判断模块44,用于判断获取模块42获取的日志文件中是否记录了所述待测试的应用模块在测试过程中出现的错误信息;如果是,则执行发送模块45。[0056] 发送模块45,用于当判断模块44的判断结果为是时,将所述待测试的应用模块在测试过程中出现的错误信息发送给对应的负责人。

其中,发送模块45可以通过设置模块40设置的待测试的应用模块的负责人的联

系方式,将日志文件中的待测试的应用模块在测试过程中出现的错误信息发送给对应的负责人。

[0058] 本实施例,通过发送模块48将待测试的应用模块在测试过程中出现的错误信息发送给相应的负责人,提高负责人获悉错误信息的速度。[0059] 请参考图6,是本发明的自动化测试装置的第三实施例的结构示意图,所述自动化测试装置4与图4所示的实施例相比,其区别点在于,还包括:

提取模块46,用于提取获取模块42获取的日志文件中记录的各个被测试应用模块在测试过程中出现的错误信息。[0060] 可以理解的是,如果被测试的应用模块在测试过程中,没有出现错误信息,则提取的信息为空。

[0061] 报表生成上传模块47,用于根据提取模块49提取的错误信息,生成BUG报表,并上传服务器。

[0062] 其中,报表生成上传模块47可以预先设定报表模板,将提取的各个被测试的应用模块的错误信息添加到报表模板中,生成记录了各个被测试的应用模块在测试过程中出现的错误信息报表。[0063] 进一步地,Monkey test装置4还可以包括:

日志压缩上传模块48,用于将获取模块42获取的日志文件进行压缩打包后,上传至服务器,供其它人员查阅测试过程中的原日志文件。[0064] 可以理解的是,其它人员可以采用浏览器访问服务器的方式,实现对原日志文件的浏览,显然也可以同时浏览服务器中的测试信息和报表。[0065] 本实施例,通过将记录了各被测试的应用模块在测试过程中出现的错误信息的报表上传浏览器,使其它人员能够通过访问浏览器,快速地了解测试过程中的错误情况。[0066] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

[0057]

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

[0067]

9

CN 102419727 ACN 102419739 A

说 明 书 附 图

1/5页

图1

10

CN 102419727 ACN 102419739 A

说 明 书 附 图

2/5页

图2

11

CN 102419727 ACN 102419739 A

说 明 书 附 图

3/5页

图3

12

CN 102419727 ACN 102419739 A

说 明 书 附 图

4/5页

图4

图5

13

CN 102419727 ACN 102419739 A

说 明 书 附 图

5/5页

图6

14

因篇幅问题不能全部显示,请点此查看更多更全内容

Top