侧边栏壁纸
APP启动时间不同测试方法
2023年03月05日 3.4k阅读 0评论 5点赞

​测试场景:
1.APP启动慢;
2.页面加载慢;

关键词:体验差,打开慢,用户吐槽

测试方法:
1.Android Device Monitor 过滤关键字Display
2.adb shellam start -W -n +包名/Activity
3.程序代码插桩;
4.高速摄像机+QuickTime Player
5.自动化工具+图像识别

测试方法介绍及实际案例操作讲解:

一、Android Device Monitor (ddms)过滤关键字Display
测试条件:
1.jdk
2.有配置SDK;
3.测试apk要Debug APK 包
4.Android Device Monitor 可以正常打开

测试方法:
1.通过logcat 日志输出过滤Display关键字,查看日志输出关于相应页面Activity的打开时间;
QQ截图20230305121424.jpg
缺点:
1.要是同一个activity名字是无法测试的;
2.app如果没有重新加载,也是无法测试的;
3.不是真正用户感知到的页面加载时间;
4.需要debug 测试apk

注意:
1.Android Device monitor 连接不稳定,当没有出现日志的时候,可以断开USB连接,再重新连接手机;
2.monitor 日志的输出跟手机系统有很大关系,有的手机是输入关键词displayed 是无法打印出页面加载时间,如华为nova7pro就不行;小米跟谷歌手机就可以

二、adb shellam start -W -n +包名/Activity
测试条件:
1.jdk
2.有配置SDK
测试方法:
1.捕捉要测试的启动页面的Activity,如果有debug测试apk包,可以通过android Deviced Monitor 通过display 关键字捕获Activity,如果不是的话,通过命令adb shell dumpsys window | findstr mCurrentFocus 或者 adb shell "dumpsys window | grep mCurrentFocus" 获取到当前页面Activity。

2.通过命令adb shellam start -W -n +包名/Activity 启动页面,确认下手机页面跳转,然后dos下会显示启动时间,总共有三个,具体判断标准如下:启动时间参考如果只关心某个应用自身启动耗时,参考TotalTime;如果关心系统启动应用耗时,参考WaitTime;如果关心应用有界面Activity启动耗时,参考ThisTime。根据需求获取相应的时间

QQ截图20230305122028.jpg

其中需要注意这边有一个LauchState状态,这个是代表冷启动(cold)还是暖启动
(hot),这个两个区别就是app进程在不在,具体还有一个warm 温启动,就是页面切换到后台放久一点就可以把

cold start :应用完全从头启动(第一次安装前启动或清除数据)
warm start:
1)用户在主actiivty点击了back键退出了应用(没有调用Precess。kill(myPid))这时的app进程还活着,用户此时又点击了桌面的启动图标,app进程不需要重新启动 但是actiivty需要重新创建
2)由于系统内存紧张 app进程被杀了 但是系统的back stack还保留着活动 此时用户启动app
hot start:进程存在activity也没有销毁(按下home键)此时再回到app 还有情况就是系统内存紧张调用了activity的onTrimMemory(), 然后activity需要重新创建view 并实现渲染绘制同时还需要实例化业务对象

warm start跟host start 是时间区别不大;

优点:
1.测试方式简便,易于掌握;

缺点:
1.需要对加载三个时间概念理解要清晰;
2.不是真正用户感知到的页面加载时间;

5

—— 评论区 ——

昵称
邮箱
网址
取消