㈠ android性能测试工具有哪些
有如下几个工具:
android针对上面这些会影响到应用性能的情况提供了一些列的工具:
1 布局复杂度:
hierarchyviewer:检测布局复杂度,各视图的布局耗时情况:
Android开发者模式—GPU过渡绘制:
2 耗电量:Android开发者模式中的电量统计;
3 内存:
应用运行时内存使用情况查看:Android Studio—Memory/CPU/GPU;
内存泄露检测工具:DDMS—MAT;
4 网络:Android Studio—NetWork;
5 程序执行效率:
静态代码检查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用于检测代码中潜在的问题、存在效率问题的代码段并提供改善方案;
DDMS—TraceView,用于查找程序运行时具体耗时在哪;
StrictMode:用于查找程序运行时具体耗时在哪,需要集成到代码中;
Andorid开发者模式—GPU呈现模式分析。
6 程序稳定性:monkey,通过monkey对程序在提交测试前做自测,可以检测出明显的导致程序不稳定的问题,执行monkey只需要一行命令,提交测试前跑一次可以避免应用刚提交就被打回的问题。
说明:
上面提到的这些工具可以进Android开发者官网性能工具介绍查看每个工具的介绍和使用说明;
Android开发者选项中有很多测试应用性能的工具,对应用性能的检测非常有帮助,具体可以查看:All about your phone's developer options和15个必知的Android开发者选项对Android开发者选项中每一项的介绍;
针对Android应用性能的优化,Google官方提供了一系列的性能优化视频教程,对应用性能优化具有非常好的指导作用,具体可以查看:优酷Google Developers或者Android Performance Patterns。
二 第三方性能优化工具介绍
除了android官方提供的一系列性能检测工具,还有很多优秀的第三方性能检测工具使用起来更方便,比如对内存泄露的检测,使用leakcanry比MAT更人性化,能够快速查到具体是哪存在内存泄露。
leakcanary:square/leakcanary · GitHub,通过集成到程序中的方式,在程序运行时检测应用中存在的内存泄露,并在页面中显示,在应用中集成leancanry后,程序运行时会存在卡顿的情况,这个是正常的,因为leancanry就是通过gc操作来检测内存泄露的,gc会知道应用卡顿,说明文档:LeakCanary 中文使用说明、LeakCanary: 让内存泄露无所遁形。
GT:GT Home,GT是腾讯开发的一款APP的随身调测平台,利用GT,可以对CPU、内存、流量、点亮、帧率/流畅度进行测试,还可以查看开发日志、crash日志、抓取网络数据包、APP内部参数调试、真机代码耗时统计等等,需要说明的是,应用需要集成GT的sdk后,GT这个apk才能在应用运行时对各个性能进行检测。
㈡ Android开发者一般用什么手机做测试
测试手机,价位在1000到2000左右,不要太差,不然运行个demo ,卡的不要不要的,不过要多测试几种不同的手机,android 开发的,华为手机必须要测试。我一般用小米2 进行测试,还有联想的。
㈢ 什么样的 Android 手机适合做测试机
测试机的挑选标准,无非是要能在尽量全地覆盖到目标用户所使用的机型的同时,交集尽量地小。所以某种程度上,取决于你的用户是谁。
豌豆荚是希望覆盖全所有 Android 用户,所以我们是在市场占有率前几名的手机在挑选,同时几个主要厂商(Moto、HTC 等)和自定义系统(HTC Sense、MotoBlur 等等尤其是那些改动比较多的系统)都覆盖到,Google 的官方样板机(Nexus One、Nexus S)也是必备的。
㈣ android app自动化测试工具有哪些
1、Monkey是AndroidSDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。2、MonkeyRunner也是AndroidSDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。3、Instrumentation是早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过Instrumentation你可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对测试人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置AndroidManifest.xml文件,不能跨多个App。4、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK16(Android4.1)及以上,不支持HybirdApp、WebApp。5、Espresso是Google的开源自动化测试框架。相对于Robotium和UIAutomator,它的特点是规模更小、更简洁,API更加精确,编写测试代码简单,容易快速上手。因为是基于Instrumentation的,所以不能跨App。配合AndroidStudio来编写测试的简单例子6、Selendroid:也是基于Instrumentation的测试框架,可以测试NativeApp、HybirdApp、WebApp,但是网上资料较少,社区活跃度也不大。7、Robotium也是基于Instrumentation的测试框架,目前国内外用的比较多,资料比较多,社区也比较活跃。缺点是对测试人员来说要有一定的Java基础,了解Android基本组件,不能跨App。8、Athrun是淘宝出的一个移动测试框架/平台,同时支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的类基础上进行了扩展,提供一整套面向对象的API。这里有详细介绍。9、Appium是最近比较热门的框架,社区也很活跃。这个框架应该是是功能最强大的,它的优点:它的哲理是:它的设计理念:相关限制:总结:在iOS部分是封装了UIAutomation;Android4.2以上是用UiAutomator,Android2.3~4.1用的是Instrumentation,也就说Appium同时封装了UiAutomator和Instrumentation。所以Appium拥有了以上几大框架的所有优点:跨App,支持NativeApp、HybirdApp、WebApp,还支持N种语言来编写你的测试脚本。如果你在Windows使用Appium,你没法使用预编译专用于OSX的.app文件,因为Appium依赖OSX专用的库来支持iOS测试,所以在Windows平台你不能测试iOSApps。这意味着你只能通过在Mac上来运行iOS测试。Client/Server架构,运行的时候Server端会监听Client端发过来的命令,翻译这些命令发送给移动设备或模拟器,然后移动设备或模拟器做出响应的反应。正是因为这种架构,所以Client可以使用Appiumclientlibraries多种语言的测试脚本,而且Server端完全可以部署在服务器上,甚至云服务器。Session,每个Client连接到Server以后都会有一个SessionID,而且Client发送命令到Server端都需要这个SessionID,因为这个seesionid代表了你所打开的浏览器或者是移动设备的模拟器。所以你甚至可以打开N个Session,同时测试不同的设备或模拟器。DesiredCapabilities,其实就是一个键值对,设置一些测试的相关信息来告诉Server端,我们需要测试iOS、还是Android,或者换是WebApp等信息。AppiumServer是Node.js写的,所以可以直接用NPM来进行安装。AppiumClients,MacOS和Win下提供GUI,不需要装Node.js,方便测试人员操作。用Appium自动化测试不需要重新编译App;支持很多语言来编写测试脚本,Java、Javascript、PHP、Python、C#、Ruby等主流语言;不需要为了自动化测试来重造轮子,因为扩展了WebDriver。(WebDriver是测试WebApps的一种简单、快速的自动化测试框架,所以有Web自动化测试经验的测试人员可以直接上手);移动端自动化测试应该是开源的;开源;支持NativeApp、HybirdApp、WebApp;支持Android、iOS、FirefoxOS;Server也是跨平台的,你可以使用MacOSX、Windows或者Linux;
㈤ Android开发使用什么手机测试比较好,推荐两部
我们同行,建议你如果开发的是普通APP,用华为和魅族(魅族大部分可以ROOT),如果开发之AI、TV类的话,建议华为和三星(两者都不建议最新版),国产选择3/32、4/64,1000多足够了;如果你对系统有要求的话自行去看系统,6.0和7.0的权限在as的编写中也有所区别,升级系统方面华为的快些;不建议小米,我不是说它手机不好,是作为开发机不太好,它系统被开发了(米3的照相机选图都和别的不一样,别问我是怎么知道的;长按文字自动复制,控件长按不好处理,==);oppo和vivo属于硬件部分高配部分低配机,适合特殊人群购买,不适用于开发,其它手机没用过
㈥ 开发Android APP时,用什么品牌的机子做测试最合适
作为在企业中使用的,做Android开发的在选择手机上时可以从三方面考虑入手:
1. 预算。
在企业里面,由于即时是Android的同个版本仍有多个不同设备,厂家不同,标准不同,考虑到这个因素,开发人员要测试尽量多的设备。因为不一定每个设备都支持同一函数,因此需要尽可能多地全面地测试过才知道的。在一定的预算内要拥有足够多足够代表的手机数量,这就局限出了部分手机。一般来说,团队会选购一千元以内的android机,注重性价比高的产品。
2.Android版本。
Android最早的版本为1.0 beta ,至今已经发布了多个版本,后续不断地在前一个版本地基础上对bug进行修复,进行更新,早期版本的手机已经落后于市场了。故倘若Android机的版本过于老旧,是不会进行选购的。另一方面,Android过新的版本还未流入趋势。从Android5.0起,由于Davlik虚拟机被彻底抛弃,转换为ART虚拟机,致使一部分老应用无法正常运行,性能也比不上Android4.4稳定。虽说QQ微博微信以及绝大部分有更新的软件并不会遇到这种问题,但市场上主流还是4.4,6.0等还未普及。所以在Android机的选购可以从Android3.0开始,在4.4达到顶峰,以峰状的形式呈现数量进行选购。
3.用户人群。
每一个手机品牌都有一定的用户人群数量,为了让开发测试更具有代表性,所以企业会进行一系列市场调研,勘测出各类品牌的手机人群数量进行比对。再以此类比到自己选购的手机品牌当中。
小结:用这三点衡量,划出区域重点,得以选出最合适做Android开发可以选择的手机
从个人上来说,选购Android机的专业执行程度不如团队,所以简略使用两个手机即可。
选择一款高端些的,即可进行测试有可日常使用;选择一款性价比高些的低端机,可以主攻测试亦是有备无患。
㈦ android压力测试工具有哪些,各有什么特点。有文档更好,兄弟我想研究下。
最近在Android程序测试过程中接触到了自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流和指点在这里简单对monkey做简单的介绍吧。
一、 什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
二、 Monkey的特征
1、测试的对象仅为应用程序包,有一定的局限性。
2、 Monky测试使用的事件流数据流是随机的,不能进行自定义。
3、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
三、Monkey的基本用法
基本语法如下:
$ adb shell monkey [options]
如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送1500个伪随机事件:
$ adb shell monkey -p your.package.name -v 1500
$ monkey -p(package的意思) 指定文件名 -v(测试的次数和频率) number(次数)
四、Monkey测试的一个实例
通过这个实例,我们能理解Monkey测试的步骤以及如何知道哪些应用程序能够用Monkey进行测试。
Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):
1、 通过eclipse启动一个Android的emulator
2、 在命令行中输入:adb devices查看设备连接情况
C:\Documents and Settings\Administrator>adb devices
List of devices attached
emulator-5554 device
3、 在有设备连接的前提下,在命令行中输入:adb shell 进入shell界面
C:\Documents and Settings\Administrator>adb shell
#
4、 查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面
C:\Documents and Settings\Administrator>adb shell
# ls data/data
ls data/data
com.google.android.btrouter
com.android.providers.telephony
com.android.mms
com.android.providers.downloads
com.android.deskclock
com.android.email
com.android.providers.media
com.android.settings
jp.co.omronsoft.openwnn
com.android.providers.userdictionary
com.android.quicksearchbox
com.android.protips
com.android.browser
com.android.launcher
com.android.term
com.android.speechrecorder
com.android.server.vpn
com.android.defcontainer
com.svox.pico
com.android.customlocale
com.android.development
com.android.soundrecorder
com.android.providers.drm
com.android.spare_parts
com.android.providers.downloads.ui
com.android.fallback
com.android.providers.applications
com.android.netspeed
com.android.wallpaper.livepicker
android.tts
com.android.htmlviewer
com.android.music
com.android.certinstaller
com.android.inputmethod.pinyin
com.android.providers.subscribedfeeds
com.android.inputmethod.latin
com.android.gallery
com.android.systemui
com.android.contacts
com.android.phone
com.android.sdksetup
com.android.calculator2
com.android.packageinstaller
com.android.camera
com.android.providers.settings
com.thestore.main
com.android.providers.contacts
5、 以com.android.camera作为对象进行MonkeyTest
#monkey -p com.android.camera -v 500
其中-p表示对象包 –v 表示事件数量
运行过程中,Emulator中的应用程序在不断地切换画面。
按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
注:具体参数的设定可参考:
http://developer.android.com/guide/developing/tools/monkey.html
五、关于Monkey测试的停止条件
Monkey Test执行过程中在下列三种情况下会自动停止:
1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。
通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。