以前安卓 APP 刚起来的时候,人们一般只关注功能的正常。而随着安卓 APP 的不断发展,为了在同类竞品中脱颖而出,为了防止用户流失,不得不开始关注其他方面的质量,比如性能,安全等。安卓性能测试包含了几大方面的测试,有耗电,流量,内存,流畅度等。由于每个方面细说起来都需要很多篇幅,所以这里先大概介绍一下性能测试的测试要点和主要方法,详细的后面会在其他文章继续介绍。
做性能测试前,我们首先要了解:
1.测试的目的
做这个性能测试是为了什么,是为了发现性能问题,还是为了防止性能恶化,监控每个版本的性能指标,或是用来跟竞品对比,评估产品在市场性能排名等。如果没有先明确好测试的目的,就很可能变成做完一堆性能测试,生成一份漂亮的报告,然后就上交了事的情况。测试目的不一定只有一个,在性能测试中,我们是可以设定多个测试目的。拿耗电测试来说,目的可以有:a.检测 APP 是否有耗电问题; b.记录此次版本 APP 的耗电数据,用于判断此次版本在耗电方面是否有恶化等。制定多个测试目的原因是性能测试的成本要比一般的功能测试的要高,在同个测试流程中记录不同的数据,有利于我们节省测试时间。
2.测试的内容
在确定好测试目的后,我们要开始设计具体要测试的内容。延续前面说到的耗电测试,可以确定几点测试内容:a.APP 在前台并且手机灭屏时是否有不必要的 cpu 占用;b.APP 在后台时是否有不必要的 cpu 占用;c.APP 在前台并且手机灭屏时的 cpu 占用率;d.APP 在后台时的 cpu 占用率等。测试内容还可以多列几项,主要是跟 APP 的属性有关。如果是一个用户操作时间较短但需常驻的应用,常见于工具类 APP,那么就主要关注 APP 在后台时的耗电表现,需要多设计相关的测试场景。而如果是一个用户操作时间长的应用,常见于游戏,购物等 APP,那么就需要关注 APP 在前台时的耗电表现,不但是要测试出不必要的耗电使用,还要想办法进行优化。
3.测试工具
现在已经有很多好用的安卓测试 APP 和工具。APP 有 GT,emmagee 等,工具有 android studio,adb 命令等。都是可以检测到常规的性能指标,cpu,内存,网络消耗,电量消耗等。APP 和 android studio 适合手动测试,adb 命令适合自动化测试。由于不同的测试工具记录的方式会有点偏差,所以对比不同版本的性能指标时,需要选择同一种测试工具,保证计量方式的统一以便发现真正的问题。
4.测试准备
首先要准备好测试手机,最好选用户量 TOP5 的机型来测试,同时测多款机型也有利于测试数据的参考性;
若是要记录多次性能数据,最好写个自动化脚本来执行,防止因手动测试造成性能数据的偏差,同时也减少劳动量;
保证测试环境,APP 配置的一致。比如 wifi 和移动数据下的耗电量,肯定是不能用来作对比的。或者不同的运营配置导致 APP 展示的页面不一样,也不能用来对比耗电量和内存,从而判断是否恶化。
5.测试报告
虽然测试报告是测试结束时需要编写的,但一开始想好测试报告的内容,却有助于测试的开展,可以防止测试项的遗漏。边测试边记录也避免在测试结束后需要大量时间整理报告。
报告一般包括测试机型,测试环境,性能问题,性能数据等组成。其中性能数据是从至少三次的相同场景性能数据平均值所得。
下面的表格是笔者常用的一种报告格式,方便大家参考
一般的性能测试有:耗电测试,内存测试,页面流畅性测试,流量测试,应用启动时间等。其中耗电测试又包括 cpu 占用测试,耗电量测试等。内存测试包括内存泄露测试,内存占用测试等。
笔者接下来会继续更新耗电,内存,流畅性方面的测试方法。