手机发烫像火炉??教你App电量测试定位方法
作者:网络转载 发布时间:[ 2017/6/26 10:47:32 ] 推荐标签:软件测试 APP测试
为什么要做电量测试?
在移动互联网快速发展的,手机自身的实用性和娱乐性正在不断加强,手机已经成为了人们的必备生活品,但是在实际使用中发现,在安装相关应用之后,即便不怎么使用,手机的电量也会消耗很快。倘若对手机进行出厂设置恢复,发现手机在充满电之后又可以待机很长时间,而产生该种问题的关键其实是手机软件的耗电。
在各大应用市场中搜索“电量管理”相关应用,每个应用都有几万到几十万次的下载量。这说明,越来越多的用户开始关注应用电量问题。所以,在研发阶段,有效的检测和定位电量问题,是十分重要的工作。
如何能够有效的检测和定位应用的电量问题呢?可以从两个方面入手:一方面,从手机系统入手,了解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、通过电量测试的自动化建设,有效提升测试效率,除了缩短测试时长、减少人力投入外,还提高了测试数据的准确性。
在用例设计部分,我们将待机列为需要关注的场景,是因为用户对待机时应用的电量消耗更为敏感。而在这个场景下,经常会出现由于代码逻辑问题、产品策略问题导致应用电量消耗异常。在操作过程中的电量消耗,是用户预知的消耗。但如果使用不当,也会造成异常消耗。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11