#抛出问题
移动端的性能测试指标有很多,分为响应时间类,资源消耗类,包括cpu、mem、电量、流畅度,网络流量,其中最影响用户体验的就是响应时间,因为它的好坏直接关乎用户的直观感受,所以参考价值也最高。而已有响应时间测试方法存在局限性,如何低成本的快速开展App响应时间性能测试呢?
#已知的方法
- 方法一:Android端可通过AM计算App启动时间,或者通过DisplayManager日志计算activity打开时间。
- 方法二:程序植入log打点代码,通过特定位置的日志标签计算启动或页面加载时间。
- 方法三:通过摄像或者截图,然后使用手工或程序的图像对比方法计算。
#存在的缺点
- 方法一计算得出的结果往往和人眼感知的结果存在差距,这是因为页面加载一般存在网络异步交互,原生的系统日志,无法准确表达App的响应时间,且测试范围存在局限性,对于特定场景,例如控件级别的加载或渲染无法实现测量。
- 方法二涉及到产品代码的侵入,需要保证测试代码和产品发布代码的有效隔离,无形中增加了产品代码维护成本。除非必要,一般也不会在实际项目中使用。
- 方法三缺点是,要么依赖高速摄像器材,要么使用手机自身截图的方式,后者容易对测试本身产生干扰,测试结果的权威性无法保证,因为截图本身消耗了计算资源。前者测试成本投入较大。另外,程序图像对比也经常产生误差,例如手机屏幕上的时间标签刚好在图像对比那一帧发生了变化,图像对比结果就会出现错误。