app常见性能测试点_top -m -s,资深软件测试面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

5、GPU过度渲染
6、耗电
7、耗流
(app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测试等,后续会持续更新… 流量测试同这些一起更新,这里就不在说明了 )

一、响应
软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少的。

主要测试点:
1、冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载)
2、热启动:非首次启动app的时间间隔(只是启动时间,不包括页面加载)
3、完全启动:从启动到首页完全加载出来的时间间隔
4、有网启动:从发起跳转,到页面完全加载出来的时间间隔
5、无网启动:从发起跳转,到页面完全加载出来的时间间隔
(在项目中,主要测试关注点是冷启动,热启动)

测试方法:
1、使用adb命令
1) 冷启动
adb shell am start -W packageName/ActivityName(绝对路径,首个Activity)
在这里插入图片描述

含义:
ThisTime: 该Activity的启动耗时;
TotalTime: 应用自身启动耗时, ThisTime+应用application等资源启动时间;
WaitTime: 系统启动应用耗时, TotalTime+系统资源启动时间

2)热启动:按back按键后再启动adb命令
在这里插入图片描述

测试标准:冷启动时间不超过1.5s, 热启动不超过1s.

3)完全启动,无网启动,有网启动都可以通过charles抓包来获取启动的时间

charles是一个很强大的抓包工具,除了截取请求还能进行单接口压测,修改请求参数并发出请求,以及模拟无网,弱网,2G,3G,4G等。能解决app的很多专项测试。
在这里插入图片描述

限制网络情况需要用到charles的一个功能: Throttle Setting
在这里插入图片描述
通过设置网速和抓包,可以获取启动时间,但是有一定的误差。在项目中,一般只需要测试冷启动,热启动便可。

2、使用AndroidStudio的Android Monitor,查看手机日志系统输出
Android Monitor总共有5大模块:logcat, memory, cpu, network,GPU
我们可以通过logcat获取应用的响应时间(如何使用,内存中有介绍)
在这里插入图片描述

3、代码日志输入查看
直接源码打日志,输入各个位置的耗时操作最为有效,需要源码。

4、借用工具,高速相机,但是成本较高。(如下图:目前项目团队使用的测试工具)
原理: 通过压力感应来自动识别起始点,回放图片判断结束点,(一般默认手机界面静止不动为结束点), 键盘按S键为起始点,按F键为结束点。
这里便不介绍用法了。

在这里插入图片描述

在这里插入图片描述

二、内存
在Android系统中,每个APP进程除了同其他进程共享内存(shared dirty)外,还独用私有内存(private dirty),通常我们使用PSS(私有内存+比例分配共享内存)来衡量一个APP的内存开销。由于一个移动设备的内存是固定的,如果内存消耗过大就会造成应用卡顿或者闪退,需要对内存进行测试。正常情况下,应用不应占用过多的内存资源,且能够及时释放内存,保证整个应用内的稳定性和流畅性。

测试点:
1、空闲状态:切换至后台或者启动后不做任何操作,消耗内存最少。
2、中强度状态:时间偏长的操作应用。
3、高强度状态:高强度使用应用,可以跑monkey来测试(通常用来测试内存泄漏)。
** 内存泄漏:指应用里的内存一直没有释放,内存一直增加 ,系统内存一直减少 **

测试方法:
1、使用adb命令: adb shell dumpsys meminfo packageName

获取应用包名和Actively:
adb shell dumpsys window | findstr mCurrentFocus
在这里插入图片描述
测试关注点:
1、Native heap alloc
2、Dalvik heap alloc
3、PSS
在这里插入图片描述

2、使用性能测试工具:Emmagee(只支持Android)
Emmagee是网易开发的一款测安卓应用性能的测试apk
1、安装Emmagee.apk,打开。
2、选择需要测试性能的应用启动
3、被测应用界面会展示内存、CPU、电流、流量等数据
4、stop Test之后,在本地SD卡中保存一份性能测试数据,可以从里面获取内存信息。
5、可以通过execl将数据转化成图表,更直观的查看各性能指标的数据。
(保存地址:/sdcard/Emmagee/******* .csv文件)
在这里插入图片描述

生成的csv文件:
在这里插入图片描述
原理:Emmagee是使用Android自身提供的ActivityManager.MemoryInfo()方法获得
可查看: cpu 内存 流量 电量 FPS(流畅度)是一个相对比较好的选择
但是只支持安卓6.0及以下的版本

除了Emmagee,还有腾讯提供的一个同样测试性能的app, GT。使用与Emmagee大体一致,但是GT除了支持Android,同样支持ios。GT相对于Emmagee功能也更强大:性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计。

3、使用AndroidStudio 自带 CPU 和内存检测功能 – Android Monitor
(首先要下载并安装好Android Studio)
Android Monitor 可以检测CPU 和内存,能够绘制出变化图,可以直观明了的看出内存和cpu的变化曲线。
在这里插入图片描述

Android Monitor ,有5个模块 :logcat、Memory、CPU、Network、GPU。
在这里插入图片描述

关注点:
1、退出某个页面后,内存是否有回落。
如果没有及时回落,且程序自动GC或者手动GC,那便可确认有问题。
2、进行某个操作后,内存是否增长过快。
如果增长过快,也有可能存在风险,需重复操作确认。

三、CPU
CPU测试,主要关注的是cpu的占用率。很多时候,我们玩手机时,会出现发热发烫,那是因为CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差,也容易引起ANR(application not responding, 主线程(UI线程)如果在规定时内没有处理完相应工作,就会出现ANR)等等一系列问题。

测试点:
1).在空闲时间(切换至后台)的消耗,基本没大应用使用cpu
2).在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况
3).在高负荷的情况下看CPU的表现(cpu占用应是在80%以上)

具体场景:
1、应用空闲状态运行监测CPU占用率
空闲状态:应用按Home键退到后台,不再占用系统的状态(通常是灭屏半分钟后)
CPU占用率=0%

2、应用中等规格运行监测CPU占用率
中等规格:模拟用户最常见的使用场景
CPU占用率≤30%

3、应用满规格长时间正常运行监测CPU占用率
Monkey测试
CPU占用率≤30%

4、应用正常运行期间监测CPU占用率峰值
应用正常运行:打开应用进行基本操作
CPU占用率≤50%

测试方法:
1、使用adb命令:
1) top -m -s cpu |grep packageName
在这里插入图片描述

top cpu 参数:
-m 显示最大数
-s 按指定行排序
-t 显示进程名称
-n 在退出前刷新几次

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-0wlUBgzq-1713285419405)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值