1.功耗测试关注点

  • CPU占用
  • Memory占用
  • 电量消耗

2.测试方法

  • 准备工作

    为避免测试过程中连接USB充电,所以用WIFI的方式连接手机调试
    1.重启adbd监听tcp 端口 5555
      adb tcpip 5555
    2.通过wifi连接手机
      adb connect <IP>:5555
    3.断开数据线  
  • 手机唤醒配置

    1.唤醒时间间隔设置为1分钟
    2.唤醒次数设置为999
    3.手机保持灭屏状态,每隔10秒(可配置)进行一次亮灭屏
  • CPU占用

    1.一定时间内(时间可配置)每隔几秒(可配置)取一次CPU信息数据:adb shell top -s cpu -n 2 -d 1
    2.解析对应进程名的CPU占用信息
    3.保存CPU占用信息
    4.10分钟之后统计数据,并将数据以直方图或者曲线图的形式展示出来
  • Memory占用

    1.一定时间内(时间可配置)每隔几秒(可配置)取一次Memory信息数据:adb shell dumpsys meminfo proc_name
    2.解析对应的Native Heap 和 Dalvik Heap
    3.保存Memory占用信息
    4.10分钟之后统计数据,并将数据以直方图或者曲线图的形式展示出来
  • 电量消耗

    1.设置手机连接数据线不充电:adb shell dumpsys battery set usb 0
    1.测试开始之前杀掉所有第三方应用进程。
    2.初始化配置
    3.记录当前电量
    4.执行测试
    5.测试完毕记录当前电量,获取电量消耗值

宿主功耗测有插件与没有插件两种情况,用以对比插件工作时的功耗情况。

3.自动化测试工具使用

  • Git 仓库地址:
    http://gitlab.baice100.com/liyanqing/wake_performance
  • 代码下载:
    [email protected]:liyanqing/wake_performance.git
  • 使用方法:

    1.修改/wake_performance/src/data/config/data_config.json 配置需要唤醒的应用及频次
    2.将要测试的唤醒插件放在/wake_performance/src/data/sdk 目录下
    3.设置手机以wifi的方式连接电脑(假设手机IP为172.21.53.188)
      a.adb -s <serial number> tcpip 5555
      b.adb connect 172.21.53.188:5555
      c.手机断开连接
      d.adb devices
        List of devices attached
        IJ999DV8KVSGLJHI        device
        f01213bb        device
        172.21.53.188:5555      device
    4.在/wake_performance/src/data/config/job_config.json配置文件中填写被测手机的IP及端口号"serial": "172.21.53.188:5555"
    5.在/wake_performance/src/data/config/job_config.json配置文件中配置测试执行时间,亮灭屏时间间隔,以及数据获取时间间隔
    6.启动测试:
      a.如果在PyCharm中直接运行test_device.py
      b.如果在控制台,需要首先进入工程目录:wake_performance下执行命令:python -m unittest src.test.test_device.TestDeviceHelper
    7.结果查看:
      结果保存在工程下/src/data/results下
        ├── results
        │   ├── test-2019-08-23-16-12.log
        │   ├── with_plugin       #有插件时结果目录
        │   │   ├── 2019-08-23-16-13
        │   │   │   ├── battery.csv      # 电量消耗信息
        │   │   │   ├── cpu_info.csv     # cpu占用数据
        │   │   │   ├── cpu_info.jpg     # cpu占用数据图
        │   │   │   ├── dalvik_heap.csv  # dalvik内存占用信息
        │   │   │   ├── dalvik_heap.jpg  # dalvik内存占用信息图
        │   │   │   ├── native_heap.csv  # Native内存占用信息
        │   │   │   └── native_heap.jpg  # Native内存占用信息图
        │   ├── without_plugin             # 插件被销毁时的测试结果
        │       ├── 2019-08-23-16-14
        │       │   ├── battery.csv
        │       │   ├── cpu_info.csv
        │       │   ├── cpu_info.jpg
        │       │   ├── dalvik_heap.csv
        │       │   ├── dalvik_heap.jpg
        │       │   ├── native_heap.csv
        │       │   └── native_heap.jpg
     
01-10 15:14