admin管理员组

文章数量:1535803

2024年5月12日发(作者:)

关于Android Monkey自动化测试的报告

1自动化测试背景

软件测试是软件产品开发过程中的重要环节。测试对于发现软件中缺陷,保障软件的质

量具有重要意义。统计表明,软件测试的时间通常占到软件开发时间的40%,一些可靠性要求

高的软件甚至高达60%以上。

手工测试和自动化测试是软件测试的两种基本手段,二者相互补充,不可相互替代。其

中,自动化测试能捕捉到资源冲突、多线程、死锁等手工测试难以发现的错误,可以高效的

完成大量机械性、重复性测试,能模拟大量数据或大量并发用户等应用场景,从而有效的缩

短软件测试周期,提高测试的可靠性及准确度。

2什么是Monkey

Monkey测试是Android自动化测试的手段之一,它通过模拟用户的按键输入、触摸屏输

入等,测试设备多长时间出现异常。Monkey是一个命令行工具,可以运行在模拟器或实际设

备中,通过向系统发送伪随机的用户事件流,实现对全系统或某个应用程序进行压力测试。

Monkey工具使用非常简单,直接在命令窗口键入monkey命令即可进行测试。Monkey命

令有较多的配置选项,为便于理解这些命令,此处先将其命令选项简单划分为四大类,在后

文中陆续介绍各种命令选项的使用,然后在附录中附上整个monkey命令选项便于查阅。

Monkey命令可简单分为如下四类:

 基本配置选项,如设置尝试的事件数量

 运行约束选项,如设置只对单独的一个包进行测试

 事件类型和频率,如设置触摸屏事件的发生频率

 调试选项,如设置忽略应用程序异常,继续向系统发送事件,直到计数完成

3使用monkey进行自动化测试

Monkey命令工具可以在模拟器和实际设备上使用。这里分别对两种环境下的monkey测

试进行介绍。

3.1 在模拟器上运用Monkey进行自动化测试

3.1.1 monkey命令最简单用法

首先,介绍最简单monkey命令用法,其使用格式为如下:

monkey n

其中,n为一个整数,表示用于测试的伪随机事件发生的次数。

如图3.1所示,启动模拟器。然后,在命令行窗口下输入adb shell命令,如图3.2所示。

登录shell之后,即可使用monkey命令。最简单的用法是,直接在其后面指定一个数字,表

示向系统发送事件的数量,如图3.3所示。模拟器的测试的结果如图3.4所示。

图3.1启动模拟器 图3.2登录shell

图3.3 monkey命令使用 图3.4 模拟器测试界面

3.1.2 指定测试的约束选项

所谓测试约束选项,即根据具体的测试需求,通过参数指定对系统的某些包或类进行测

试。主要包括两类约束:包和类。

(1) 指定测试的包

如果需要对某一个具体的应用进行测试,可指定具体的包名。可以在系统目录/data/data

下查找对应的包名,如图3.5所示。

图3.5 查看包名

查找到对应的包名后,使用monkey时可用“-p”参数进行指定,此外还可以使用“-v”

参数指定测试中反馈的信息。常用格式如下:

monkey –p y –v 50

如图3.6和3.7分别为命令输入及测试过程的截图。

本文标签: 测试命令选项事件