文章目录
- 引言
- 一、嗟叹职业技能
- 二、Android性能测试之adb命令
- 1. 获取被测app的包名及Activity
- 2. 获取App启动耗时
- 3. 获取App流量使用
- 4. 获取App使用内存
- 5. 获取CPU占用率
- 6. 获取App耗电量
- 7. adb fps数据采集
- 结语
引言
在软件测试领域,性能测试是关键环节之一。本文将分享如何使用adb命令对Android应用进行性能测试,包括启动耗时、流量使用、内存占用、CPU占用率、耗电量以及流畅度的测试。
一、嗟叹职业技能
作为一名拥有8年经验的软件测试工程师,我对测试、运维、开发等多个领域都有所涉猎。随着技术的不断进步,性能测试领域也在不断发展,要求我们持续学习和适应。
二、Android性能测试之adb命令
1. 获取被测app的包名及Activity
- 使用以下命令获取当前打开应用的包名和Activity:
adb shell dumpsys window | findstr mCurrentFocus
- 获取后台运行应用的包名和Activity:
adb shell dumpsys activity | findstr "MainActivity"
- 列出手机应用的所有包名:
adb shell pm list packages | findstr "yasibro"
2. 获取App启动耗时
- 方式一:
adb shell am start -W -n packageName/ActivityName
- 示例:
adb shell am start -W -n com.chutzpah.yasibro.test/com.chutzpah.yasibro.main.view.MainActivity
- 参数解释:
-
WaitTime
:从startActivity到应用第一帧完全显示的总耗时。 -
ThisTime
:最后一个Activity的启动耗时。 -
TotalTime
:新应用启动的耗时。
- 方式二:
adb logcat -s ActivityManager:I | find "Displayed"
- 日志中的两个时间之和表示启动app的时间。
3. 获取App流量使用
- 获取被测app的进程pid:
adb shell ps -ef | find "com.chutzpah.yasibro.test"
- 计算进程的流量:
adb shell cat /proc/$pid/net/dev
4. 获取App使用内存
- 使用以下命令查看内存使用情况:
adb shell top | find com.chutzpah.ya
- 内存指标说明:
-
VSS
:虚拟耗用内存。 -
RSS
:实际使用物理内存。 -
PSS
:实际使用的物理内存(比例分配共享库占用的内存)。 -
USS
:进程独自占用的物理内存。
5. 获取CPU占用率
- 使用以下命令查看CPU占用率:
adb shell dumpsys cpuinfo | find packageName
6. 获取App耗电量
- 切换手机到非充电状态:
adb shell dumpsys battery set status 1
- 获取手机电池信息:
adb shell dumpsys battery
- 获取耗电量:
adb shell dumpsys batterystats | grep packageName
7. adb fps数据采集
- 采集每秒帧数(FPS)数据:
adb shell dumpsys gfxinfo <packageName | pid>
结语
性能测试不是一次性的任务,而是需要多次测试并求取平均值来得到准确的性能指标。通过adb命令,我们可以对Android应用进行全面的性能测试,确保应用的质量和用户体验。