文章目录

  • 引言
  • 一、嗟叹职业技能
  • 二、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应用进行全面的性能测试,确保应用的质量和用户体验。