软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少的
主要测试点:
1、冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载)
2、热启动:非首次启动app的时间间隔(只是启动时间,不包括页面加载)
3、完全启动:从启动到首页完全加载出来的时间间隔
4、有网启动:从发起跳转,到页面完全加载出来的时间间隔
5、无网启动:从发起跳转,到页面完全加载出来的时间间隔
(在项目中,主要测试关注点是冷启动,热启动)
测试方法:
1、使用adb命令
1) 冷启动
adb shell am start -W packageName/ActivityName(绝对路径,首个Activity
![ab0d1ccedd6a2a1f5dadd3cd608f6236.png](https://i-blog.csdnimg.cn/blog_migrate/0a9f8c1483bef6c6d1d91d5b55862fbc.png)
含义:
ThisTime: 该Activity的启动耗时;
TotalTime: 应用自身启动耗时, ThisTime+应用application等资源启动时间;
WaitTime: 系统启动应用耗时, TotalTime+系统资源启动时间
2)热启动:按back按键后再启动adb命令
![efe9af193a13c6815f07b36670543f93.png](https://i-blog.csdnimg.cn/blog_migrate/688edd36008f16acc3cac7e7d8ebc7f2.png)
测试标准:冷启动时间不超过1.5s, 热启动不超过1s.
3)完全启动,无网启动,有网启动都可以通过charles抓包来获取启动的时间
charles是一个很强大的抓包工具,除了截取请求还能进行单接口压测,修改请求参数并发出请求,以及模拟无网,弱网,2G,3G,4G等。能解决app的很多专项测试。
![241b775b994123a939bd2244e976931e.png](https://i-blog.csdnimg.cn/blog_migrate/ee50c83bfde7a74cf3c2c414b8821cf0.jpeg)
限制网络情况需要用到charles的一个功能: Throttle Setting
![21eee7273cfdf4fdc1f959463391bc2e.png](https://i-blog.csdnimg.cn/blog_migrate/88c9069ed73590f8719022237d44effb.jpeg)
通过设置网速和抓包,可以获取启动时间,但是有一定的误差。在项目中,一般只需要测试冷启动,热启动便可。
2、使用AndroidStudio的Android Monitor,查看手机日志系统输出
Android Monitor总共有5大模块:logcat, memory, cpu, network,GPU
我们可以通过logcat获取应用的响应时间(如何使用,内存中有介绍)
![7ea067171ab5e2de7fe38ced044aa524.png](https://i-blog.csdnimg.cn/blog_migrate/b95da168a1bd5f75d5e392d9d5e1c3b7.jpeg)