android测试工具小总结

             今天同事问到了android测试工具有点懵。因为我一般不会去专业点的测试,我就用我肉嘟嘟的手指点啊点啊就完事了。既然人家问我我也不能丢了android人的面子,那么来学习一下吧。

android自动化测试工具简介

现在,已经有大量的Android自动化测试架构或工具可供我们使用,其中包括:Activity Instrumentation, DroidPilot,MonkeyRunner, Robotium, 以及Robolectric。另外LessPainful也提供服务来进行真实设备上的自动化测试。

  Android自身提供了对instrumentation测试的基本支持,其中之一就是位于android.test包内的 ActivityInstrumentationTestCase2类,它扩展了JUnit的TestCase类来提供Android activities的功能测试。在应用测试中,每一个activity首先会被Instrumentation初始化,然后再加载到Android模拟 器或设备的Dalvik虚拟机中来执行。

      一个新出android自动化测试工具,DroidPilot是一个自动化测试工具。它可以针对于Android平台的应用程序进行测试脚本编辑、自动回放、结果检 查、报告输出等操作,以此来缩短回归测试的时间,提升项目整体进度。测试脚本不仅可以运行于模拟器,更可以同时运行于多台移动设备,这样更能凸显测试结果 的真实性和可比性。

  Android SDK自带一个测试工具MonkeyRunner,它提供的API和执行环境可以运行Python语言编写的测试代码。它提供API来连接设备,安装/卸 载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。MonkeyRunner使用 ActivityInstrumentationTestCase2, ProviderTestCase,ServiceTestCasek, SingleLaunchActivityTestCase及其他类来定义测试用例,并使用InstrumentationTestRunner类来运行 测试。

  Robotium是另一种通过InstrumentationTestRunner来完成Android交互式测试的架构,它横跨多个 activities,支持功能测试,系统测试和接收测试。Robotium支持Activities、Dialogs、Toasts、Menus、 Context Menus甚至Honeycomb,并且它可以同Maven和Ant集成来完成持续集成测试。Robotium被称之为针对Android应用的又一个 Selenium。

  Robolectric另辟蹊径,它并不依赖于Android提供的测试功能,它使用了shadow objects并且运行测试于普通的工作站/服务器JVM,不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间。Pivotal实验室声称使用Robolectric可以在28秒内运行1047 个测试。

  LessPainful将Android测试又推进了一步,它提供了一个多设备平台自动化测试的服务。用户上传应用(*.apk)和用 Cucumber(一种业务相关的DSL)编写的测试文件,选择测试运行需要的设备配置,最后测试将自动执行并生成测试报告。它支持的设备包括 Garmin Asus,几款HTC,LG,Samsung Galaxy,Sony Xperia和Motorola Motodefy。

 

Fps2d:

工具名称:

 

fps2d性能测试工具

 

工具描述:

fps2d主要针对android系统系统对2D图形处理性能的测试

测试方法:

将该软件下载到所要测试的android系统上,双击该程序。待程序运行完毕后,记录本次测试的成绩

测试结果:

测试结果有avg、stdev两个参数值,其中,avg是每秒帧数的平均值,stdev是标准偏差值,avg的值正常值是(58-60),另测试最后,系统会给出测试时迭代的次数,iteration是迭代的次数

 

Linpack:

工具名称:

 

Linpack性能测试工具

 

工具描述:

Linpack用具测试计算机浮点计算性能

测试方法:

将该软件下载到所要测试的android系统上,双击该程序。进入程序主界面后,点击running benchmark,开始测试

测试结果:

测试结果中有四个参数:MFLOPS、time、norm res、precision

MFLOPS每秒百万次的浮点运算,

norm res可以是标准参照,

precision 是软件版本信息

一般MFLOPS值越高越好,采用此工具测量时需要多次测试,求下平均值

 

Benchmark:

工具名称:

Benchmark

工具描述:

Benchmark可以测试系统中的多项性能,包括2D、cpu、内存和文件系统,且速度较快

测试方法:

将该工具下载到系统上,双击该系统,进入程序主界面,用户直接点击running benchmark按钮,将会测试工具默认的各项内容,

测试结果:

测试结果中的各项内容结果:

Graphic:total graphic score、draw opacity bitmap(绘制不透明的位图万像素/每秒)、draw transparent bitmap(绘制透明的位图万像素/每秒)

Cpu cpu的总得分

Memory 内存总得分和复制内存的时间

Filesystem 中列出整个文件系统的得分,同是有创建/删除100个文件所用的时间,向文件中读/写1M内容的速度

(及时编译工具jit的开启可以提高测试的成绩。Sp13开启也会影响到测试成绩)

 

Quadrant(象限)

工具名称:

Quadrant

工具描述:

Android系统的性能测试工具,针 对CPU、内存、I/O输入输出、2D及3D图像的性能,提供了一键式的完整测试。也可以或是根据需要选择其中某些测试项目单独测试。

测试工具:

在所要测试的系统上装入该测试工具,双击该工具,进入软件主界面,用户可以选择综合性能测试,也可以选择自定义性能测试

测试结果:

测试覆盖cpu、memory、IO、2D、3D五大部分。测试完成后,将会给出给个部分的测试数值,同时将正在测试的系统的平分和其他机器测试的结果分布的直方图。

 

Cts

工具名称:

Cts android兼容性测试工具

工具描述:

测试在在android系统上开发的程序可以正常运行在手机设备上,即android应用程序的兼容性

测试方法:

在android设备的shell环境下运行cts工具,进入cts环境内,ls –plan 命令将android的项目有八大项,如:CTS、Android、Signature(签名安全)、AppSecurity(应用程序安全)、等。使用start –plan name运行其中一个项目,也可以通过start –-plan name –p packagename 运行该项目中的一个应用程序。

测试结果:

测试结果在out/host/linux-x86/cts/android-cts/repository/results/目录下,并以开始测试的时间命名文件夹下的testresult.xml文件中会记载测试项的测试结果。Testresult.xml文件中的summary项即记录就是测试结果总结

 

Monkey测试工具

工具名称:

Mokey测试工具

工具描述:

Mokey是android系统自带测试工具,monkey测试工具是向用户发送伪用户事件流,对android系统进行压力测试。测试软件的稳定性和健壮性

测试方法:

Monkey是android系统自带的测试工具,需运行在其环境中的shell里启动该工具,可以使用adb.exe shell进入shell环境,直接使用monkey命令后跟参数即可进行android的压力测试。Monkey的常用命令参数有:

-p ALLOWED_PACKAGE 伪事件操作的程序范围,当设定-p参数后,随机伪事件将会在设定的应用程序中产生,当没有设定该参数是,随机伪事件将在Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY运行,可以指定多个应用程序

-v 增加反馈信息的级别,参数选择有level0、level、level2

其他可以参照monkey参数含义

测试结果:

当伪事件运行完毕后,且无错误时,shell上会提示monkey finish信息。

 

Speed test工具

工具名称:

Speed test测试工具

工具描述:

Speed test工具主要测试设备的网络速度。可单独测试3G和无线网络的上传和下载的速度,通常测试需要多次测试取平均值。

测试方法:

将工具导入设备中,同时开启所要测试的网络对象,单击功能页面speed test工具的图标,进入工具的主页面。

单击“开始测试”按钮,进入测试界面。测试完成后,工具会恢复到开始测试的界面。多次重复该测试步骤。

测试结果:

在result菜单下可以看到之间的每次测试结果,每次的测试都以开始测试的时间为标识符。求几次测试的平均值。

 

SD卡速度测试

工具名称:

SD.card.speed.test

工具描述:

测试SD卡的读取和写入的速度,SD合格的标准:

C=class

C2不低于2M/S

C4 不低于4M/s

C6 不低于6M/s

测试方法:

将SD.card.speed.test工具导入设备中,一般情况下工具会自动检测设备上的SD卡,如果没有的SD卡的情况,设备会给出提示,如果检测到SD卡后就开始测试。公司MID中一部本的内存挂载到了SDcard下(可能有8G),因此这个时候测试SD卡的读取和写入的速度并不准确,这种情况下可以卸载存储一保证测试数据的准确性。

测试结果:

可测试结果中给出了SD卡的读取和写入的速度。可以多次测试求平均值。

 

SD卡速度测试

工具名称:

Nand test

工具描述:

测试SD卡的读取和写入的速度,SD合格的标准:

C=class

C2不低于2M/S

C4 不低于4M/s

C6 不低于6M/s

测试方法:

将SD.card.speed.test工具导入设备中,一般情况下工具会自动检测设备上的SD卡,如果没有的SD卡的情况,设备会给出提示,如果检测到SD卡后就开始测试。公司MID中一部本的内存挂载到了SDcard下(可能有8G),因此这个时候测试SD卡的读取和写入的速度并不准确,这种情况下可以卸载存储一保证测试数据的准确性。

测试结果:

可测试结果中给出了SD卡的读取和写入的速度。可以多次测试求平均值。

 

 

以上是前人总结的,我只是搬过来而已,要本人打算学习Monkey,大家可以根据需要去学习。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值