Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >专项测试--性能分析一

专项测试--性能分析一

作者头像
用户6367961
发布于 2022-11-21 04:02:29
发布于 2022-11-21 04:02:29
5740
举报
文章被收录于专栏:自学测试之道自学测试之道

App启动性能分析

测试思路

专项测试(用户维度)

  • 崩溃(Crash,弱网)。卡顿(掉帧、gc、cpu)
  • 响应慢(启动时间、交互响应、H5加载)
  • 发热 ( cpu,mem、io、network、gps等硬件使用)
  • 掉电快(硬件占用)
  • 兼容性问题(机型覆盖、回归)

专项测试(技术维度)

  • 崩溃

自动遍历、monkey测试、横竖屏切换、快速进退。

  • 卡顿(掉帧、gc、cpu)

卡顿测试、内存泄漏测试、method profile。

  • 响应慢(启动时间、交互响应、H5加载)。

冷热启动、界面切换、h5性能测试

  • 发热(cpu,mem、io、network、gps等硬件使用)

method profile、gc统计、io统计、流量统计、硬件使用统计、耗电量分析。

  • 兼容性问题(机型覆盖、回归)

兼容性测试、自动化测试、自动遍历、monkey测试

APP性能

Activity启动流程

App启动性能指标

冷启动 建议时间:5秒

暖启动 建议时间:2秒

热启动 建议时间:1.5秒

首屏启动

主要流程

  • adb logcat
  • 录屏+视频拆帧
  • uiautomator等自动化工具200ms巡检界面变化
  • traceview
  • 硬埋点

使用adb logcat

  • package=com.tianqi.android
  • 清理缓存数据: adb shell pm clear $package
  • 停止进程: adb shell am force-stop $package
  • 启动app: adb shell am start -S-W $package/.view.WelcomeActivity Alias
  • 获取数据: adb logcat lgrep -i displayed

adb logcat结果

startTime:记录刚准备调用startActivity AndWait()的时间点

endTime:记录startActivityAndWait()函数调用返回的时间点

WaitTime: startActivityAndWait()调用耗时

WaitTime = endTime - startTime

使用ffmpeg拆针

  • adb shell am force-stop $package
  • adb shell screenrecord, --bugreport --time-limit 30 /data/local/tmp/xueqiu.mp4 &
  • adb shell am start -S-W $package/.view.WelcomeActivity Alias
  • wait
  • adb pull /data/local/tmp/xueqiu.mp4 .
  • ffmpeg -i xueqiu.mp4 xueqiu.gif
  • ffmpeg i xueqiu.mp4 -r 10 frames_%03d.jpg
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【学员干货】App常见性能测试点
(app除了这些性能测试,还有:手机版本号兼容性,屏幕分辨率兼容性,稳定性测试,安全测试等,后续会持续更新… 流量测试同这些一起更新,这里就不在说明了 )
新梦想IT职业教育
2019/10/22
3.4K0
【学员干货】App常见性能测试点
【App测试】怎么测试启动时间?
何小伟
2016/12/23
6.3K1
【App测试】怎么测试启动时间?
金三银四季招聘季,APP测试面试题温新一遍
Hi,大家好,今天继续分享金三银四面试系列,如果你想了解之前的面试相关文章可以在文末点击👉「阅读原文」查看更多或者点击以下👇「蓝色字」查看最近文章。 金三银四跳槽季,自动化面试题预热一波 金三银四求职季,接口自动化面试题助攻一波 以下分享APP测试相关面试题,欢迎在文末留言补充评论哦。 一 web测试和app测试的相同点和区别? 相同点:都离不开测试的基础知识和测试原理。具体包括以下几个方面。 测试用例,均使用边界值分析法,等价类划分法等。 多数采用黑盒测试,来验证业务功能是否能得到正确的应用。 需要
可可的测试小栈
2021/03/15
1.1K0
测试开发进阶(四十六)
由于移动端的碎片化特征,需要确保App产品能够在不同系统版本,不同屏幕分辨率,不同系统定制ROM也能够有好的用户体验
zx钟
2019/12/19
6230
【Android 性能优化】应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | 应用启动时间计算源码分析 )
1 . 问题描述 : Android 应用启动时 , 尤其是大型复杂的应用 , 经常出现几秒钟的白屏或黑屏 , 黑屏或白屏取决于主界面 Activity 的主题风格 ;
韩曙亮
2023/03/27
5.4K0
【Android 性能优化】应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | 应用启动时间计算源码分析 )
测试开发进阶(四十七)
很多时候,手机发热发烫。是因为CPU使用率过高,CPU过于繁忙,会导致手机无法响应用户,整体性能降低,用户体验会很差,也容易引起ANR等一些列问题
zx钟
2019/12/20
6990
测试开发进阶(四十七)
【Android 性能优化】应用启动优化 ( 启动优化项目 | 界面启动时间 | 启动优化项目 | 方法追踪 MethodTracing )
在 【Android 性能优化】应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | 应用启动时间计算源码分析 ) __ 四、 APP 启动时间计算 博客中简要介绍了相关的启动时间 ;
韩曙亮
2023/03/27
1.3K0
APP常见性能测试点之响应时间
  软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少的。
顾翔
2021/07/22
3.1K0
Android 性能分析学习(启动速度优化)
启动速度是用户体验app的第一感官,所以如果APP卡顿的话,给用户的体验会非常的糟糕。 本文主要针对这点进行的分析学习以及记录。
艳龙
2021/12/16
9310
Android 性能分析学习(启动速度优化)
App测试面试题_软件测试算法面试题汇总
https://blog.csdn.net/weixin_45912307/article/details/109501092 1. Web 端测试和 App 端测试有何不同(常见)
全栈程序员站长
2022/09/27
7300
Monkey随机性能压测初探(一)
Monkey程序由Android系统自带,是Android SDK提供的一个命令行工具, 可运行Android模拟器和实体设备上。Monkey会发送伪随机的用户事件流,通过Monkey程序模拟用户触摸屏幕、滑动、 按键等操作来对程序进行压力测试,检测多长时间发生异常、会Crash、以及内存泄露检测可称为随机测试或稳定性测试。
王大力测试进阶之路
2019/10/25
1.7K0
Monkey随机性能压测初探(一)
Android APP性能及专项测试
1、运行Monkey进行压力测试: adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50 2、监控内存值,如果出现过大等递增异常则保存HPROF文件(hprof文件是Java 虚拟机的Heap快照)用于分析查看应用内存的命令: adb shell dumpsys meminfo cn.microinvestment.weitou(进程名) 如果发现内存过大,则保存HPROF文件:adb shell am dumpheap <进程名> <保存路径> 3、分析hprof文件 用工具MAT来查看,首先还要这个HPROF文件转换成MAT可读的文件 在Android SDK tool里面有个hprof-conv命令: hprof-conv <原HPROF文件路径> <转换后的HPROF路径> hprof-conv a.hprof b.hprof 4、用MAT工具打开转换后的HPROF文件 一般选择Leak Suspects Report(通过SQL语句来查询对象有没有被释放掉,如果有多个相同的对象,则会存在内存泄露的问题)
测试开发社区
2019/09/20
4K0
测试应用启动性能
本文的编写目的,更多的在于介绍性能、启动测试以及我进行启动测试背后的原因。但如果您只是希望能够快速获得结论,可以直接参考下面的内容:
Android 开发者
2022/03/09
4340
请介绍一下如何进行APP专项测试?
在现代生活中,大家都离不开手机,各大APP也占领较大的市场份额,所以面试过程中,面试官也会经常问到APP测试,以下主要分享如何进行APP专项测试。
可可的测试小栈
2021/04/02
3.1K0
Appium+python自动化(二十)- 猴哥失散多年的混血弟弟还是妹妹- Monkey猴子日志
  日志是非常重要的,用于记录系统、软件操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统、软件的活动等重要作用,在开发或者测试软系统过程中出现了问题,我们首先想到的就是她——logging。她可不像泰戈尔说的:“天空没有留下翅膀的痕迹,但我已经飞过”;Monkey这个小姑娘,她可是一个爱炫耀,爱显摆的人已经达到了人过留名、雁过留声的境界。只要我们按图索骥就一定可以定位到问题所在,然后分析问题,解决问题。好了逗大家一乐,下面开始进入今天的正题。
北京-宏哥
2019/07/19
1.2K0
专项测试--性能分析二
H5性能分析 加载一个页面的过程 资源加载指标 prompt for unload:访问一个新页面时,旧页面卸载完成的时间 redirect:重定向,用户注销登陆时返回主页面和跳转到其它的网站等 app cache:检查缓存,是否打开 DNS(域名系统):DNS查询的时间,如果是长连接或者请求文件来自缓存等本地存储则返回fetchStart时间点 TCP:与服务器建立链接的时间 request:浏览器发起请求的时间 response:拿到第一个响应字节到最后一个响应字节的时间 processing
用户6367961
2022/11/21
3630
专项测试--性能分析二
APP移动端测试
1)、系统架构:web端的服务器更新后,客户端会自动同步更新;如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍;
用户10443079
2023/03/21
1.6K0
统计APP启动时间和进入首页时间的多线程类
本人在做APP性能测试的时候,需要统计一下APP启动时间和进入首页的时间,之前采取的方案是图片做对比,后来采取了录屏,效果都不是很理想,在参考了网上关于手机log分析手机启动activity的教程,自己写了一个多线程类通过不停地启动关闭APP,同时分析log中关于activity的lauch时间得到需要的数据。测试了一下效果很不错,分享代码,供大家参考。
FunTester
2019/08/14
6470
安卓测试常用的 ADB 命令
    adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  4.从Android仿真器中回传文件到电脑 
测试之道
2021/03/04
5.3K0
启动优化
Dex文件用的到的类和安装包APK里面各种资源文件一般都比较小,但是读取非常频繁。
ruochen
2021/11/21
3.6K0
推荐阅读
相关推荐
【学员干货】App常见性能测试点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档