前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全方位讲解APP启动时间不同测试方法记录分享

全方位讲解APP启动时间不同测试方法记录分享

作者头像
厦门-安仔
发布2021-07-30 16:42:08
8090
发布2021-07-30 16:42:08
举报
文章被收录于专栏:测试一般不一般

测试场景: 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的打开时间;

缺点: 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。根据需求获取相应的时间

其中需要注意这边有一个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.不是真正用户感知到的页面加载时间; 三、4399AT 测试条件: 1.jdk 2.sdk 3.node 4.appium 5.4399AT 测试步骤: 1.通过adb命令把要确认的启动页面截图; 2.把截图的图片,放在画图软件,然后点击重新调整大小,然后选择像素,水平为400,然后截取大面积的动态元素进行特征图,然后保存; 3.通过自动化脚本api中的TimeCheck和配合4399AT工具运行进行页面时间确认;

4.通过报告中的report-source的设备名中的screenshot进行相关页面数据查看;

注意: 1.截图取的元素记得面积需要够大并且元素特征要明显。不然会影响准确性; 优点: 1.真实的用户感受到页面启动或者加载的时间; 2.全自动控制,避免了人为操作误差,比较有统一性;

3.截图的频率1s在13-18张左右,误差在60-100ms之间,可知的误差; 缺点: 1.环境配置相对复杂; 2.需要编写脚本; 3.需要编程基础; 测试标准: 1.测试多次求平均值,然后对比标准 2.竞品/新旧版本对比; 测试APP启动时间参考标准 Cold启动5s以下; Warm 启动 2s以下; Hot 启动1.5s以下; 总结: 三个测试方法弊端都是无法确认是否哪里出问题,类似我们找Bug,最终还是需要开发定位,可通过systemTrace软件定位;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试一般不一般 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档