移动端性能测试工具,移动端性能测试工具怎么用

http://www.itjxue.com  2023-01-15 07:26  来源:未知  点击次数: 

怎么用monkey工具给移动端APP做测试?

一、简介

Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类:

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

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

事件类型和频率

调试选项

在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理(自动停止):

如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止

做Android 手机软件测试需要掌握哪些工具

请注意测试本身不是靠工具的而是靠设计,这是我的理念,所以我一向觉得,很多人认为做测试做的好就是靠掌握一门好的工具,这个观点是不正确的,所以我可以负责任的告诉你,做Android手机需要掌握的不是工具、而是理念、思维、以及框架,总的来说是本质,而工具只是辅助,那么现在我来介绍一些我了解的工具(仅仅是了解,很多没用过)

开源 Android 软件测试工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。

Android Test Kit

Android Test Kit 是一组 Google 开源测试工具,用于 Android 平台,包含 Espresso API 可用于编写简洁可靠的 Android UI 测试。

AndroidJUnit4

AndroidJUnit4 是一个让 JUnit 4 可以直接运行在 Android 设备上的开源命令行工具。

Appium

Appium 是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。Appinm 的 iOS 支持是基于 Dan Cuellar's 的 iOS Auto. Appium 同时绑定了 Selendroid 用于老的 Android 平台测试。

Calabash-android

calabash-android 是一个基于 Cucumber 的 Android 的功能自动化测试框架。Calabash 允许你写和执行,是开源的自动化移动应用测试工具,支持 Android 和 iOS 原生应用。Calabash 的库允许原生和混合应用的交互测试,交互包括大量的终端用户活动。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 应用和桌面环境的交互跟触摸屏应用的交互是不同的。Calabash 专为触摸屏设备的原生应用提供 APIs。

Monkey

Monkey 是 Google 开发的 UI/应用测试工具,也是命令行工具,主要针对压力测试。你可以在任意的模拟器示例或者设备上运行。Monkey 发送一个用户事件的 pseudo-random 流给系统,作为你开发应用的压力测试。

MonkeyTalk

MonkeyTalk 是世界上最强大的移动应用测试工具。MonkeyTalk 自动为 iOS 和 Android 应用进行真实的,功能性交互测试。MonkeyTalk 提供简单的 "smoke tests",复杂数据驱动的测试套件。MonkeyTalk 支持原生,移动和混合应用,真实设备或者模拟器。MonkeyTalk 使得场景捕获非常容易,可以记录高级别,可读的测试脚本。同样的命令可以用在 iOS 和 Android 应用上。你可以记录一个平台的一个测试,并且可以在另外一个平台回放。MonkeyTalk 支持移动触摸和基于手势交互为主的移动体验。点击,拖拽,移动,甚至是手指绘制也可以被记录和回放。

NativeDriver

NativeDriver 是 WebDriver API 的实现,是原生应用 UI 驱动,而不是 web 应用。

Robolectric

Robolectric 是一款Android单元测试框架,使用 Android SDK jar,所以你可以使用测试驱动开发 Android 应用。测试只需几秒就可以在工作站的 JVM 运行。Robolectric 处理视图缩放,资源加载和大量 Android 设备原生的 C 代码实现。Robolectric 允许你做大部分真实设备上可以做的事情,可以在工作站中运行,也可以在常规的 JVM 持续集成环境运行,不需要通过模拟器。

RoboSpock

RoboSpock 是一个开源的 Android 测试框架。提供简单的编写 BDD 行为驱动开发规范的方法,使用Groovy 语音,支持 Google Guice 库。RoboSpock 合并了 Robolectric 和 Spock 的功能。

Robotium

Robotium 是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。

UIAutomator

uiautomator 测试框架提高用户界面(UI)的测试效率,通过自动创建功能 UI 测试示例,可以在一个或者多个设备上运行你的应用。

Selendroid

Selendroid 是一个 Android 原生应用的 UI 自动化测试框架。测试使用 Selenium 2 客户端 API 编写。Selendroid 可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。

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才能在应用运行时对各个性能进行检测。

移动测试和Web测试有什么区别

从本质上来说, 移动测试和Web测试都是一样的, 测试理论,测试方法都是一样的。

但是移动端,比如手机和平板电脑, 也有一些需要特殊测试的地方,

阅读目录

移动测试和Web测试的简单回答

相同点, 都是采用功能测试

一个在Web上测试, 一个在App测试

相同点: 同样的测试的基础知识

不管是传统的Web测试, 还是新兴的手机App测试, 都离不开测试的基础知识

1. 相同的设计测试用例方法: 边界值,等价类,错误推导法,场景法

2. 同样的测试方法, 验证业务功能是否符合预期

3. 都要检查UI: 界面的布局, 风格和按钮是否简洁美观, 是否统一

4. 页面的性能检测

5. 应用的稳定性: 测试应用的稳定性, 不会闪退卡死等。

后台都是一样的

移动测试和Web测试, 他们调用的是同样的后台, 同样的Restful API。

所以首先做好后台的RestfulAPI 测试。

移动测试强调用户体验

移动APP, 实质上就是一个缩小的Web程序, 屏幕小,操作不方便,所以强调用户体验。

移动APP的测试, 业务都相对简单

移动App, 一般都是面向个人用户的, 通常操作比较简单, 业务逻辑也比较简单。 所以测试起来会相对简单点。

移动端的特性

移动端有很多的特性,需要特殊测试

网络种类多

移动端有多种网络:无线网络、2G、3G、4G等,断网、网速较差及网络之间的切换时页面的显示等,这些对于移动端来说很重要。此外,在非wifi下,还需要注意网络使用量问题。

弱网测试

模拟App在网速慢,网络不稳定的情况下。

中断测试

移动端有一个很重要的问题,一般情况下在使用软件的过程并不是长久的,这中间可能发生很多中断,如电话、短信、通知、断电等等,软件

需要特殊处理这些特殊情况。

打开一个页面,或在操作的过程中(点击一个按钮后),将手机屏幕锁住,再打开时,应用能否正常处理。

1. 来电中断: 呼叫中断, 被呼叫挂断,通话挂断,通话被挂断

2. 短信中断: 接受短信, 查看短信

3. 其他中断: 蓝牙,闹钟,插拔数据线, 手机锁定, 手机断电, 手机问题(系统死机, 重启)

屏幕的限制

图片及文字的显示;上传不同的图片尺寸显示是否正常;图片和文字一起显示时,效果如何。

操作区域;web端的应用,一般不会受 到屏幕的限制,而且通过鼠标操作更加准确。但是移动端由于屏幕较小,页面及按钮会受到屏幕大小的限制,再加上用户都是通过手指进行操作,一些按钮、选择框 等是否容易点击,多个可点区域位置较近时,点击部位稍微偏移,也许就会造成不同的结果,这种情况下是否可以达到预先的效果。

安装卸载测试

用应用市场安装

用apk文件安装。

完全卸载(用户的profile文件)

部分卸载

升级测试

从上一个版本/上两个版本直接升级到最新版。

全新安装最新版

新版本覆盖旧版本安装

卸载旧版本, 安装新版本

卸载新版本, 安装新版本

增量更新

强制更新

测试点在于: 升级之后, 已经登录的用户,是否仍处于登录的姿态, 用户的缓冲文件, 配置文件是否还在。

软件启动运行

移动端启动、卸载、升级几个特性,这是比较常见、也很重要的,比如升级时用户的数据怎么办,卸载后用户的数据怎么处理,卸载再安装用户登录数据的显示等。

手势

移动端还有一大特性,就是移动端有自己比较简单的手势,用户可以通过手势进行一个操作,比如左滑删除、右滑返回上一个页面、左右滑动图片等,软件需要对这个手势进行适配。

多点触控,

事件触发区域

自动化工具不太一样

App 测试 用的是, Monkey, MonkeyRunner, Appnium,

Web 主要用: Webdriver

移动端用研测试工具推荐一: Userlytics

全栈设计师,全链路设计师盛行的中国用户体验设计行业,做为炙手可热的UX设计师,在敏捷性的团队内部,也需要承担UR的职责,对产品进行用户调研与分析,做可用性测试。

本文将着重介绍UX设计师在进行产品测试环节,需要用的一些工具。以便实际在工作项目中去提升用户体验,优化产品。

以下我将连载推荐多款2017主流的User testing工具,帮助大家测试各种类型的产品,同时能够实时的得到反馈。这些工具将帮助你发现你的用户在哪里迷失或苦恼,从而能够更好的改进你的产品体验。

让我们开启User testing的新篇章吧!

测试应用范围: 网站用户测试、移动端APP产品可用性测试、UX设计师原型测试

主要特征 ——招募测试人员从来都不是很简单的一件事情,你可以通过后台数据发送邀请用户,也可以发布到社交媒体网站,或者用第三方的一些工具。Userlytics里也有参与者面板供大家使用。

特征

Userlytics移动端APP产品的UX测试能让你观察到你ios APP产品的可用性。这个工具只提供给你会议视频文件。但它不能提供给相关数据在项目点击、行为或者手势方面。这个与UserTesting相似(),它们都拥有日益庞大的用户面板,这些用户都已经配备PC端、麦克风、网络摄像头等设备。

参与用户群体的细分领域在日益壮大,你可以根据需要自由选择居住地、性别、年龄、教育背景、雇用信息等信息。

当你设置测试环节,你可以设置你希望用户完成的任务,并且设置测试的有效时长。

另一个选项是在测试的最后环节,工具需要UX设计师设置一个调查任务,要求测试用户必须回答一个问题。

产品特性:

1. 用户测试视频的照片会一对一显示

2. 大量的注册信息(在用户测试的任务流里,需要让用户有条件的登陆)

3. 任务模块设置里,增加时间因素,来衡量用户测试

4. 成功/失败的用户测试的衡量标准

5. SUS——系统化的用户可用性分析规模(system usability scale)

6. SEQ——单独设置问题的权重(single ease question)

7. NPS——远程网络评测得分

8. 用户测试视频进行超链接注释

9.可分享的用户测试项目面板

10. 私有化的用户测试结果标签

使用设备:ios、iPhone/iPad

价钱: 免费会员制模式。当创建一个免费账号,可获得7积分/月的执行测试。每次登陆,可获得33积分奖励。

一次移动端可用性测试需花费18积分,每一个参与者将花费18积分。例如,当需要有10个参与者,则需要支付总计180积分。

未完后续~

请教各位目前PC端与移动端主流的性能测试工具有哪些?

主流移动端性能测试工具简述

4.1.Xcode-InstrumentInstrument是Apple官方提供的一个强大的内置在xcode中的性能调试工具集。其中,Activity Monitor(活动监视器):监控进程级别的CPU,内存,磁盘,网络使用情况,可以得到应用程序在手机运行时总占用的内存大小;Core Animation(图形性能):这个模块显示程序显卡性能、CPU使用情况以及页面刷新帧率;Network:用链接工具分析程序如何使用TCP/IP和UDP/IP链接;Energy Log:耗电量监控。Instrument主要用于在调试过程中随时发现问题,及时优化,但是这个工具只能供有应用源码的程序员使用,无法测量用户真实使用场景下的性能。

4.2.Android monitorAndroid Studio内置了四种性能监测工具Memory Monitor、Network Monitor、CPU Monitor、GPU Monitor,可以使用这些工具监测App的状态。Memory Monitor工具主要是用来监测App的内存分配情况,判断是否存在内存泄漏;Network Monitor是用于显示App网络请求的状态;GPU Monitor工具可以将进行UI渲染工作所花的时间表现出来;CPU Monitor可以对代码中的方法进行检测。 

 4.3.MatrixMatrix是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。数据监测结果存储到后台,没有直观的展示界面。Matrix-iOS/macOS主要监控崩溃、卡顿和爆内存。Matrix-android监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等。

4.4.GTGT(随身调)是直接运行在手机上的“集成调测环境”。利用GT,仅凭一部手机,无需连接电脑,即可对App进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等)、开发日志的查看、Crash日志查看、网络数据包的抓取、App内部参数的调试、真机代码耗时统计等。

GT支持iOS和Android两个手机平台,其中:iOS版是一个Framework包,必须嵌入App工程,编译出带GT的App才能使用;iPhone和iPad应用都能支持。Android版由一个可直接安装的GT控制台App和GT SDK组成。GT控制台可以独立安装使用;SDK需嵌入被调测的应用、并利用GT控制台进行信息展示和参数修改。 

 4.5.EmmageeEmmagee是一款实用、方便的性能测试工具,适用于指定的Android App,它可以监控CPU、内存、网络流量、电池电流和状态(某些设备不受支持)。此外,它还支持自定义收集数据的时间间隔,在浮动窗口中呈现实时进程状态等。

安装之后,打开Emmagee会显示出目前系统已经安装的应用(可在设置中配置间隔)。选择一个应用之后,点击“开始测试”按钮,Emmagee会自动启动被测应用,并在最上方显示流量、CPU、内存等数据,在该状态下可任意使用被测应用,Emmagee会自动进行相关数据的记录,终止测试之后会生成相应的报告,并保存在Android目录中。

4.6.SoloπSoloπ是支付宝在移动端上实现的一套无线化、非侵入、免Root的 Android 专项测试方案。直接操控手机,即可实现自动化的功能、性能、兼容性、以及稳定性测试等工作。支持 CPU、内存、FPS、流量等常规指标的实时获取,同时支持将性能数据记录下来,存储到本地并通过报表形式展示,支持性能加压。

4.7.TestinTestin性能测试,通过自动化的测试工具,在上线前模拟正常、峰值以及异常等多种场景,从而对App的各项性能指标进行测试。包括:负载测试、压力测试、配置测试、并发测试、容量测试、可靠性测试。

负载测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量。压力测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能够提供的最大服务级别。

配置测试:通过测试被测试软件的软硬件配置,获得不同配置的性能指标,用于选择最佳的设备及参数配置。

并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。

容量测试:在确定的软、硬件条件下,构造一定数量的虚拟用户访问,从而获取不同数量级别的服务器性能指标,以确定数据库能够处理的最大会话能力、最大容量等。

(责任编辑:IT教学网)

更多

推荐照片处理文章