客户端性能的重要性不言而喻,一方面影响着客户端整体质量稳定性,任何性能指标的越界都可能造成整个 APP 的崩溃
一、客户端性能测试的需求和重要性
客户端性能的重要性不言而喻,一方面影响着客户端整体质量稳定性,任何性能指标的越界都可能造成整个 APP 的崩溃,例如 CPU 使用过高导致应用 hang 住,内存占用过多导致 OOM 等等;另一方面,性能影响用户体验,例如页面加载的速度、划动浏览的流畅度等等,对于用户的使用和留存意愿有直接的影响。本文将详细介绍优酷通用性能测试解决方案的落地情况。
二、通用性能测试解决方案的建设
常见的性能数据采集方式是通过应用内置的接口进行数据上报,整体获取线上存量 APP 的数据,如启动时间、页面加载时间、页面 FPS 等等。但是以此作为版本发布的质量指标并指导性能优化的动作还不够细致。大盘数据更适合给出如 90% 区间值等指标来指导整体性和方向性的调整动作,但是每个版本迭代中的微小变化,很难反映出来。同时对于有竞品及行业数据对比的情况,大盘数据也不适用。为此优酷技术质量部着手建设了性能测试解决方案。
第一步是确定需要满足哪些测试场景的性能测试需求。性能测试通常覆盖两种测试场景:
获取时间维度的数据,如启动时间、页面加载时间、播放起播时间等等;
获取基础性能数据,如 FPS、CPU、内存、IO 等等指标。
作为以视频播放为主的应用,优酷的性能测试还需要关注播放场景下的特定数据采集,例如卡顿次数和播放时长等。
基础性能数据通常可以直接从手机中获取,Android 及 IOS 均提供了一些命令行工具或者系统接口帮助获取这类信息。对于基础性能数据的采集,只需把自动化执行过程和数据采集过程有机的整合起来,做好数据同步的同时减少数据采集对性能的影响即可。</