APP性能测试--功耗测试

时间:2022-11-03 20:30:40

一、功耗测试基础

移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要。另外,android的很多特性都比较耗电(如屏幕,GPS,sensor传感器,唤醒机制,CPU,连网等的使用),我们必须要慎重检查APP的电量使用,以免导致用户手机耗电发热,带来不良体验。

获取手机电池信息

adb命令:adb shell dumpsys battery

得到信息如下:

1 AC powered: false 2 USB powered: true 3 Wireless powered: false 4 status: 1 #电池状态:2:充电状态 ,其他数字为非充电状态 5 health: 2 #电池健康状态:只有数字2表示good 6 present: true #电池是否安装在机身 7 level: 55 #电量: 百分比 8 scale: 100 9 voltage: 3977 #电池电压10 current now: -335232 #电流值,负数表示正在充电11 temperature: 335 #电池温度,单位是0.1摄氏度12 technology: Li-poly #电池种类=

二、测试项:

  • a、测试手机安装目标APK前后待机功耗无明显差异。
  • b、常见使用场景中能够正常进入待机,待机电流在正常范围内。
  • c、长时间连续使用应用无异常耗电现象。

三、软件功耗测试方法:

第一种基于android提供的PowerManager.WakeLock来进行;

第二种通过 adb shell dumpsys batterystates 来获取。

四、功耗测试方案

【1】 手工测试---adb命令测试功耗

流程:进入APP,定格画面,拔掉数据线,操作,插上数据线

1、进入手机进程:adb shell

2、清除历史数据:dumpsys batterystats --reset

3、根据包名查询UID:ps| grep excelliance(某个词,系统自动补全)

4、根据查到的UID查询数据:dumpsys batterystats | grep UID

5、等时间到了之后,通过下面命令来保存电池信息到本地:adb shell dumpsys batterystats > batterystats.txt(不能进入shell进程里面输出日志)

6、使用我们的battery-historian来生成我们可见HTML报告: python historian.py batterystats.txt > batterystats.html

【2】自动化测试---Python脚本

原理:同样使用adb命令来查询功耗,通过更改电池状态记录改变信息

电池状态(status):充电、放电、未充电、已充满、未知等不同状态。

1.改变手机电池状态

手机连接到电脑,默认为充电状态

切换手机电池为非充电状态: adb shell dumpsys battery set status 1

2. 改变手机电量

让手机电量显示百分百: adb shell dumpsys battery set level 100

让手机电量显示1: adb shell dumpsys battery set level 1

3. 软件角度模拟断开充电(实际上是充进电)

adb shell dumpsys battery unplug (注意:必须在andorid 6.0以上的版本)

APP性能测试--功耗测试的更多相关文章

  1. [原创]App性能测试指标篇

    [原创]App性能测试指标篇 目前由于苹果,三星等大厂对智能手机的研发及投入,使的智能手机发展非常迅速,每个人手中都有一些离不开生活的App,如:微信,微博,百度或是各游戏App等,但是到底App性能 ...

  2. APP性能测试工具GT的使用总结:app内存测试

    APP性能测试工具GT的使用总结:app内存测试 GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment). ...

  3. App性能测试揭秘(Android篇)

    阿里云 云原生应用研发平台EMAS 李嘉华(千瞬) 简介: 性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术 ...

  4. Elong App 性能测试分享

    个人简介: 测试老鸟,曾做过6年的测试以及2年的大数据开发:曾就职于伟景行.高德(大数据开发):钟情于钻研开源测试框架:目前挂单于艺龙. 有对本主题感兴趣的同学,可以加我Q私信(305285925): ...

  5. 当云遇见APP性能测试会怎样?

    一个测试人员应该明白,无论是在云内部或是外部,对一个应用程序而言,需要进行测试的地方都是一样的.最终用户只关注的是一个无缺陷的高性能的应用程序,而不关心应用程序位于哪里.在大多数的云服务协议里,都会提 ...

  6. Jmeter之app性能测试(ios,android)

    测试小菜鸟alter今天一大早又学习了一点东西关于jmeter-app性能测试,现在记录一下.提到性能测试,那我就简单总结一下.(想跳过的,直接将页面下移到下一个红色字体处) 性能测试的相关知识介绍 ...

  7. 互联网App应用程序测试流程及测试总结

    互联网App应用程序测试流程及测试总结 1. APP测试基本流程 1.1流程图 仍然为测试环境 Pass 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日 ...

  8. Android app性能测试小结(7个性能指标)

    1.性能测试的几个指标:       2.性能测试环境准备: 3.启动时间 3.1,监控值的获取方法 启动分为冷启动和热启动,冷启动:应用程序首次启动,进程首次创建并加载资源的过程:热启动:应用程序启 ...

  9. app性能测试,你需要关注哪些指标?

    app性能测试,你需要关注哪些指标? 一.Android客户端性能测试常见指标: 1.内存 2.CPU 3.流量 4.电量 5.启动速度 6.滑动速度.界面切换速度 7.与服务器交互的网络速度 二.预 ...

随机推荐

  1. html table冻结列

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  2. FusionCharts简单教程(一)---建立第一个FusionCharts图形

    由于项目需求需要做一个报表,选择FusionCharts作为工具使用.由于以前没有接触过报表,网上也没有比较详细的fusionCharts教程,所以决定好好研究FusionCharts,同时做一个比较 ...

  3. 2014-08-07 SSDB 使用 rocksdb 引擎

    http://www.ideawu.net/blog/archives/824.html 为了满足各位对 Facebook 出品的 rocksdb 的爱好, SSDB 数据库也可以使用 rocksdb ...

  4. DOI EXCEL显示报表

    我这个是比较不规则的数据填充 1.程序开头,定义一个工作区,存对应单元格的值: BEGIN OF TY_EXCEL, C031() TYPE C, C032() TYPE C, C033() TYPE ...

  5. 51nod1202 子序列个数

    看到a[i]<=100000觉得应该从这个方面搞.如果a[x]没出现过,f[x]=f[x-1]*2;否则f[x]=f[x-1]*2-f[pos[a[x]]-1];ans=f[n]-1,然后WA了 ...

  6. windows apache vhost 403 error

    <Directory D:\workspace\ecshop> Options FollowSymLinks AllowOverride None Order deny,allow all ...

  7. 嵌入式Linux系统Bootloader启动调试技术&lpar;回想&rpar;

    嵌入式系统搭建过程中,对于系统平台搭建project师最初的一步一般是移植Bootloader ,当然移植有几个级别,通常最常见的是參考的EVM 的硬件有了改动(如更改了FLASH ,更改了SDRAM ...

  8. UVA 10594-Date Flow&lpar;无向图的最小费用网络流&plus;题目给的数据有误)

    题意:给一个有N个点的无向图,要求从1向N传送一定的数据,每条边的容量是一定的,如果能做到,输出最小的费用,否则输出Impossible. 解析:由于是无向图,所以每个有连接的两个点要建4条边,分别是 ...

  9. 开源的&period;NET媒体文件操作组件TagLib#解析

    人生得意须尽欢 莫使金樽空对月.写博客都会在吃饭后,每次吃饭都要喝上二两小酒,写博客前都要闲扯,这些都是个人爱好,改不掉了,看不惯的人,还望多多包含一下,有相同爱好的同学,咱们可以一起喝着小酒一边吹牛 ...

  10. &sol;usr&sol;bin&sol;ld&colon; warning&colon; libavformat&period;so&period;57&comma; needed by &sol;home&sol;camera&period;so&comma; not found &lpar;try using -rpath or -rpath-link&rpar;

    ffmpeg中,使用libavformt.so.57时,查找不到. 解决方案: 修改ld.so.conf文件,添加路径. sudo gedit /etc/ld.so.conf 在文件末尾添加路径 /u ...