app性能测试,你需要关注哪些指标?
app性能测试,你需要关注哪些指标?
一、Android客户端性能测试常见指标:
1、内存
2、CPU
3、流量
4、电量
5、启动速度
6、滑动速度、界面切换速度
7、与服务器交互的网络速度
二、预期标准指定原则
1、分析竞争对手的产品,所有指标要强于竞品
2、产品经理给出的预期性能指标数据
3、符合业内行业标准
三、测试方法及工具
1、内存:使用adb shell脚本进行测试,查看Log数据。adb shell dump meminfo
2、CPU:使用adb shell脚本进行测试,查看Log数据。adb shell top
注意:程序持续运行及操作过程中,内存不能一直增加,不然系统会自动kill掉该进程。
3、流量监控:可以借用网易的开源工具:Emmagee
4、电量监控:和竞品做对比测试,同一机型的测试机在不同时间,不同网络条件,不同功能使用的情 况下分别测试电量使用情况。
5、启动速度和滑动、界面切换速度:编写测试代码(Android Instrumentation),打桩到源码中, 运行后通过log数据进行分析。
6、其他测试工具:腾讯开发的工具:GT随身调。下载地址:http://gt.qq.com/
四、不同角色谈软件性能
在对APP的整个测试环节中,性能测试是一个很重要的环节,它直接影响了用户的体验,那么,对于APP的性能测试,我们到底需要关注那些点呢?
其实,我们可以想想在软件设计、部署、使用、维护中一共有哪些角色参与,然后再考虑这些角色各自关注的性能点是什么,那么就可以得出测试应主要关注哪些重点。
1、从用户角度出发
开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。
对于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果以用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象。
简单地说,用户最关注的其实就是其操作的响应时间。
2、站在管理员的角度考虑需要关注的性能点
(1)、 响应时间
(2)、 服务器资源使况是否合理
(3)、 应用服务器和数据库资源使用是否合理
(4)、 系统能否实现扩展
(5)、 系统最多支持多少用户访问、系统最大业务处理量是多少
(6)、 系统性能可能存在的瓶颈在哪里
(7)、 更换那些设备可以提高性能
(8)、 系统能否支持7×24小时的业务访问
3、站在开发(设计)人员角度去考虑
(1)、 架构设计是否合理
(2)、 数据库设计是否合理
(3)、 代码是否存在性能方面的问题
(4)、 系统中是否有不合理的内存使用方式
(5)、 系统中是否存在不合理的线程同步方式
(6)、 系统中是否存在不合理的资源竞争
4、站在测试工程师角度考虑
(1)、连接超时
这个是App关闭的首要问题,而在移动应用中网络错误数据比例报错中最高的就是连接超时错误。
(2)、崩溃
APP的崩溃,就是用户的崩溃。当用户使用你的App出现闪退或崩溃时,他们很有可能跑去App Store赠送你一个“一星”差评。
(3)、系统交互(电话短信干扰,低电量提醒,push提醒,usb数据线插拔提醒,充电提醒等)
在APP使用过程中,可能会遇到各种中断场景,那么一旦发生这些场景,APP就卡死或者闪退,想必也没有多少用户愿意持续使用你的APP。
(4)、弱网下的运行情况
电梯里、地铁上,网络信号差时,APP页面的菊花转不停,界面卡死,同时错误提示一堆,这样的情况怎能不让用户抓狂。
(5) 、CPU使用问题
CPU频率设置过高时会导致过热,过热导致耗电更严重, CPU频率设置过低导致手机滞后,应用处理缓慢同样会导致耗电。更多时候,用户解决CPU超载问题只能关闭甚至卸载App,App就被Kill了!
目前很多自动化测试工具存在很多的局限性:
一是大多自动化测试工具不方便维护;
二是虽然很多自动化测试工具很强大,但对代码的能力要求很高,大大的增加了测试门槛;
三是自动化投入的成本较高,相对于目前APP开发周期短的现状来说,是很不划算的。
app性能测试,你需要关注哪些指标?的更多相关文章
- [原创]App性能测试指标篇
[原创]App性能测试指标篇 目前由于苹果,三星等大厂对智能手机的研发及投入,使的智能手机发展非常迅速,每个人手中都有一些离不开生活的App,如:微信,微博,百度或是各游戏App等,但是到底App性能 ...
- Jmeter之app性能测试(ios,android)
测试小菜鸟alter今天一大早又学习了一点东西关于jmeter-app性能测试,现在记录一下.提到性能测试,那我就简单总结一下.(想跳过的,直接将页面下移到下一个红色字体处) 性能测试的相关知识介绍 ...
- Android app性能测试小结(7个性能指标)
1.性能测试的几个指标: 2.性能测试环境准备: 3.启动时间 3.1,监控值的获取方法 启动分为冷启动和热启动,冷启动:应用程序首次启动,进程首次创建并加载资源的过程:热启动:应用程序启 ...
- WeTest----如何使用WeTest进行App性能测试?
使用Wetest可以测试手机app的性能,wetest主打游戏app测试,但是对于其余的app仍然适用,手机可以root,也可在非root的情况下进行测试, 此时可以获取的性能数据包括:FPS.整机C ...
- Android--性能测试关注的指标
性能测试过程中,出现的一些问题可直接导致了用户对当前app的使用率和卸载率,如果app使用时卡顿严重或者加载页面慢,cpu占用率高,导致app闪退等问题,在测试过程中,则需特别关注性能方面的体验,ap ...
- APP性能测试中的几个重要概念
转载一篇文章,关于app性能测试的几个概念,对于想要接触app测试的朋友或许有些帮助. 我们在使用各种 App 的时候基本会关注到:这款软件挺耗流量的?运行起来设备掉电有点快嘛?切换页面的时候还会有卡 ...
- APP性能测试工具GT的使用总结:app内存测试
APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...
- app性能测试【通过loadrunner录制】
随着智能手机近年来的快速增长,从游戏娱乐到移动办公的各式各样的手机APP软件渗透到我们的生活中,对于大型的手机APP测试不仅要关注它的功能性.易用性还要关注它的性能,最近发现LoadRunner12可 ...
- App性能测试-GT
无意之间发现了GT(随身调)这个性能测试工具,该工具是由腾讯出品的开源测试工具,直接运行在手机上的“集成调测环境”. 1.下载:下载地址:开源地址:https://github.com/Tencent ...
随机推荐
- HihoCoder - 1038 01背包 动态规划
#1038 : 01背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励 ...
- spring boot 配置 fastjson 替代 Jackson (并解决返回字符串带双引号问题)
注:以我遇到的情况,只要发出的请求参数是map格式的,都会在前后多加一个双引号 以下代码有两个功能:1.FastJson 替换 Spring 自带的 Jackson 2.解决返回的字符串带双引号问题 ...
- 深入理解css优先级
为什么要写这篇文章是因为 <style type="text/css"> body h1 { color: green; } html h1 { color: purp ...
- C# 调用继电器api usb_relay_device.dll
C# 调用继电器api usb_relay_device.dll 代码封装 usb_relay_device.dll 为C++编写 using System; using System.Collect ...
- kafka单机搭建,并测试api
所用环境: kafka_2.-.gz centos 6.9 nat动态ip 准备工作: ().将防火墙关闭 service iptables stop 临时关闭 chkconfig iptables ...
- Selenium Webdriver点击事件失效问题
最近在用selenium webdriver时,遇到一个棘手的问题,点击事件有时候会失效,具体原因我也不知道是什么. 但是有两个解决办法,第一,在点击该标签前,先点击它的父标签,也就是点击两次. dr ...
- UOJ#394. 【NOI2018】冒泡排序
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ394.html 题解 首先我们发现一个数不能既被往左换又被往右换.也就是说不能有任何一个数左边有比他大的, ...
- pyspark如何遍历broadcast
因为论文关系要用到pyspark,具体情形如下: 有一个list=['aaa','bbb','ccc','ddd'],然后有一个rdd内数据类型是str,eg:'abcdefg',正常如果是需要筛选数 ...
- mysql分库分表,做到永不迁移数据和避免热点
作者:老顾聊技术 搜云库技术团队 来源:https://www.toutiao.com/i6677459303055491597 一.前言 中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就 ...
- PTA_Have fun with numbers(C++)
#include<iostream> #include<cstring> using namespace std; int main() { ; ]="; ]={}, ...