APP专项测试之耗电量测试
随着应用市场不断推陈出新,用户在使用APP时更加关注电量问题。如果自己的App不小心出现在耗电量排行榜Top10,用户卸载的概率就会很高,针对APP耗电量测试,在此与大家分享。
耗 电 量 测 试 分 析
相对于PC端来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要。Android的很多特性都比较耗电(如屏幕、GPS、sensor传感器、唤醒机制、CPU、连网等的使用),我们必须要慎重检查APP的电量使用,以免导致用户手机耗电发热,带来不良体验。
1、耗电场景
主要的耗电场景有:
cpu:复杂的运算逻辑、死循环等会直接导致CPU负载过高,会导致耗电;
wakelock:只要有应用拿到wakelock这个锁,系统就无法进入睡眠状态。频繁wakelock或者申请了wakelock没有释放,会导致耗电;
wifiscan和wifilock:wifiscan和wifilock也会导致手机的wifi模块处于激活状态,频繁的wifiscan或者wifilock不释放,会导致耗电;
sensor:传感器打开后会导致系统持续监听设备外围环境的数据变化,使用后不及时关闭,会导致耗电;
network:大量的数据传输,或者长时间的移动网络数据传输导致radio长期处于活跃状态,会导致耗电;
gps:gps也是一种传感器,定位中没有及时关闭,会导致耗电。
业务层面,用户最核心基础的模块:
新增的基础逻辑,倘若入口明显,潜在较大访问,必须保证性能;
活动需要,因为活动上新的逻辑,存在较大的用户访问,需尽力提升用户体验;
反馈体验不好的模块。
2、耗电量测试
获取测试结果时我们要注意数据的有效性,避免数据误差,让数据更有效的说明问题,下面提供两种方法,来提高获取数据的有效性。
横向对比法:分两步测试,第一步测量手机硬件运行消耗的电量;第二步测试手机硬件和软件运行综合的耗电量。最后将两次的耗电进行对比,得出软件消耗的电量大小;
纵向对比法:同时进行两台手机,其中一台手机不运行软件,另一台手机运行软件;分别获得两台手机的耗电量,对比两台手机耗电量差异,得出软件消耗的电量大小。
这两种方法在测试上有一定的差异,很多应用软件都是需要移动网络的支持,而手机接收的网络信号是会随时间变化的。
第一种方法的误差主要来源于手机在不同的基站网络下工作状态的变化。
第二种方法的差异则体现在两台手机本身硬件消耗的电量可能存在差异,所以需要尽可能使用同一型号,同一批次的手机。