为什么要做电量测试?

在移动互联网快速发展的今天,手机自身的实用性和娱乐性正在不断加强,手机已经成为了人们的必备生活品,但是在实际使用中发现,在安装相关应用之后,即便不怎么使用,手机的电量也会消耗很快。倘若对手机进行出厂设置恢复,发现手机在充满电之后又可以待机很长时间,而产生该种问题的关键其实就是手机软件的耗电。

在各大应用市场中搜索“电量管理”相关应用,每个应用都有几万到几十万次的下载量。这说明,越来越多的用户开始关注应用电量问题。所以,在研发阶段,有效的检测和定位电量问题,是十分重要的工作。

如何能够有效的检测和定位应用的电量问题呢?可以从两个方面入手:一方面,从手机系统入手,了解ROM对应用电量消耗的统计原理,进而通过代码层规避不必要的电量消耗。另一方面,从应用本身入手,在保证用户体验的前提下,尽可能减少不必要的操作。

下面分享下,在对应用电量优化过程中所做的专项测试工作。

业界通用的电量测试方法

在产品研发阶段,能够快速获取应用电量消耗,准确定位问题原因的测试方法,是开发和测试人员最需要的方法。所以,从2016年初开始,我们确定了电量测试工作的开展方向:

1、理清原理:Android系统电量统计原理;

2、调整策略:关注整机的硬件测试方案替换为关注APP的软件测试方案;

3、准确定位:获取更详细的数据;

4、提升效率:自动化电量测试方案建设。

Step1理清原理

在对业界现有测试工具的了解中,我们发现Android提供了对应用电量统计的系统工具“耗电排行”。

通过解读源码,掌握到系统对应用电量消耗的统计方法。如果可以在测试过程中获取到组成应用整体消耗的各部分的消耗值,就可以大体定位到问题方向。

Step2调整策略

硬件测试采集的是整机的电流值,由于外接干扰因素的影响_其他应用、手机环境、网络环境、人为因素等,经常导致的测试结果是:数据波动大、无法定位原因。并且,随着手机硬件、外观的调整,越来越多的机器无法自主拆卸电池,而厂商对内置版本的电量要求却越来越严格。目前现有的硬件测试方案,无法继续满足在研发阶段对应用电量的有效保障。

既然Android系统已经提供了对单个应用的电量统计应用,我们就可以利用源码并结合实际的需求,对已有的系统工具进行二次开发,通过软件的方式完成对单个应用耗电量的测试。

Step3准确定位

理清了系统对应用的电量统计原理后,我们发现“耗电排行工具”并没有详细输出组成应用总体电量消耗的每一部分的消耗值。所以,在解决“准确定位”的问题上,首先能够做的工作就是进一步细化数据。

Step4 提升效率

通过测试工具的开发,在一次电量测试过程中,已经能收集到帮助定位问题的足够详细的测试数据。所以,我们下一步需要思考的就是,如何能够更加高效更加精准的获取测试数据?

原有的电量测试流程:

存在的问题:

1、人工操作:设备连接、环境清理、应用安装、工具设置、初始数据采集;

2、人工操作:设备断开、场景操作执行、计时;

3、人工操作:设备连接、数据采集&保存。

人工干预每个环节导致:数据准确性低、执行效率低。

各环节的优化方案:

数据采集:脚本驱动+测试工具 替代 手动执行命令行;

操作执行:自动化脚本 替代 手工操作;

流程控制:PC控制 替代 人工控制。

优化后的电量测试流程:

解决需人工连接设备的问题:将传统的USB线中间增加硬件控制模块后,可由PC端的脚本控制硬件的断开连接。

解决USB连接断开后场景操作的执行问题:传统的解决方案:将自动化脚本放到手机端执行。

存在的问题:手机必须要有root权限。

解决的方案:adb无线控制,下发指令。

通过全流程的自动化处理,减少人工干预,除了提高数据的准确性外,有效的提升了测试效率。以1小时待机电量测试为例,原测试流程和自动化测试流程相比较:

我们的收益

总结下我们在电量测试方面所做的工作:

1、通过对Android系统电量统计原理的分析,清晰的掌握到组成APP整体电量消耗的每一部分的消耗值,从而可以直接定位导致电量问题的大体方向。

2、通过测试工具的开发,获取到更加详细的功耗数据,从而可以直接定位到具体代码逻辑。

3、通过电量测试的自动化建设,有效提升测试效率,除了缩短测试时长、减少人力投入外,还提高了测试数据的准确性。

在用例设计部分,我们将待机列为需要关注的场景,是因为用户对待机时应用的电量消耗更为敏感。而在这个场景下,经常会出现由于代码逻辑问题、产品策略问题导致应用电量消耗异常。在操作过程中的电量消耗,是用户预知的消耗。但如果使用不当,也会造成异常消耗。

iphone发热测试软件,手机发烫像火炉——教你App电量测试定位方法相关推荐

  1. 技巧: iPhone玩游戏手机发烫?有妙招

    夏天到了,各位朋友有没有注意到不仅天气温度高,我们手中的手机也特别容易发烫,特别是在玩游戏时候,那简直是烫手的山芋一样啊. 那么问题来了,为什么手机会发烫?有没有办法解决? 不急我们慢慢来 发烫原因 ...

  2. 手机:导致手机发烫的原因有哪些?

    为什么手机频繁发烫呢?相信每位用户都有遇到过使用手机时发现手机发烫严重的情况,因为手机如果发烫严重是会损耗手机寿命的,那么手机为什么会发烫呢?如何为发烫的手机迅速降温呢?如果大家对本文知识感兴趣,那么 ...

  3. 手机总是发烫怎么办?教你这5招,让你的手机再也不变暖手宝

    最近有看到网上说iPhone11发热严重的问题,想必大家也有所耳闻.手机在使用过程中发热是不可避免的,但是我们却可以通过一些方法来改善,平时在生活中用合理的方法使用手机也是可以减少手机发烫现象的.那么 ...

  4. 手机发烫是为何—— App 电量测试定位方法

    为什么要做电量测试 随着移动互联网的快速发展,手机的实用性.娱乐性越来越强.日常使用中发现,安装了应用后,即使不怎么使用,电量也会消耗很快.但如果恢复出场设置充满电后,手机可以待机很长时间.真相只有一 ...

  5. 【腾讯TMQ】手机发烫是为何 --App电量测试定位方法

    为什么要做电量测试 随着移动互联网的快速发展,手机的实用性.娱乐性越来越强.日常使用中发现,安装了应用后,即使不怎么使用,电量也会消耗很快.但如果恢复出场设置充满电后,手机可以待机很长时间.真相只有一 ...

  6. 声学测试软件手机版_免费5G SA测试软件“网络优化资源服务助手”2.0版全新上线,新增多种功能!(附下载方式)...

    "网络优化资源服务助手APP"2.0版全新上线 在本主编上次推出1.3版后,该APP经过1.4,1.5,1.6,1.7,1.8,1.9版本迭代,现在2.0版正式上线,软件优化了很多 ...

  7. 解决Mac book pro播放网页flash视频以及下载app视频软件造成发烫

    17款15.4 touch bar 16g 520g 电脑玩使命召唤发烫都没有看视频发烫严重,尤其是touch bar前面那一块 先按住option 查看屏幕工具栏的电池保证电池正常 重制电源控制程序 ...

  8. 手机稳定测试软件,手机稳定性健壮性测试--monkey

    参考资料:http://blog.csdn.net/io_field/article/details/52189972 一.Monkey测试原理:Monkey是Android中的一个命令行工具,可以运 ...

  9. 声学测试软件手机版_最新手机性能排名:小米84万分拿到第一,iQOO5Pro第五,华为?...

    华为Mate40 Pro首发麒麟9000处理器,安兔兔跑分高达69+,是今年最强旗舰,不过在此之前还是以骁龙865.麒麟990 5G为主.鲁大师发布了2020年Q3季度手机性能排行榜,第一名的跑分高达 ...

最新文章

  1. 我眼里的几种失败的人生
  2. WorkFlow入门Step.4—Adding Procedural Elements-For-WF4.0-(续)
  3. 上班第一天(1)--一个程序员的成长史(10)
  4. 形容人的内核是什么意思_成语雪泥鸿爪是形容什么的?雪泥鸿爪什么意思?蚂蚁庄园2020年12月10日答案...
  5. [react] react的mixins有什么作用?适用于什么场景?
  6. java if (name!=null name!=),java中的NullPointerException异常
  7. Go1.18 新特性:多 Module 工作区模式
  8. R语言向matlab转化,我有一段MATLAB的程序,现在想转换成R语言代码
  9. 【数据结构】线性表之链式线性表
  10. mysql5.464位下载_MySQL Front 64位
  11. 经典信息图表:2013 扁平设计 VS 拟物设计
  12. 怎么用电脑把mp4格式转换成mp3格式
  13. docker部署minio分享图片链接ip问题
  14. commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(二)-中英对照文档及源码赏析
  15. 【python】 turtle实现汉诺塔游戏动画过程
  16. 生物信息学: 使用python包GOATOOLS查询GO
  17. selenium4+pyetsst+allure+pom进行自动化测试框架的最新设计
  18. [springboot]应用服务启动事件的监听
  19. C6678板卡学习资料:202-基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板
  20. python对Excel文件的读写操作

热门文章

  1. java过山车手游,过山车工艺手游(Roller Coaster Craft)
  2. APIClound-从0开始写脉脉(1)app的简单布局
  3. 【音乐爬虫】Python爬虫-selenium+browsermob-proxy 解决动态网页 js渲染问题
  4. js 鼠标移入移出防抖
  5. 一些好看的代码注释图案
  6. Python遍历列表获取列表中的索引值
  7. SQL分页查询总结{转}
  8. json.hpp解析和遍历json数据
  9. Xms Xmx PermSize MaxPermSize
  10. APP测试(四)弱网测试