• APP常见的性能测试指标


    APP常见的性能测试指标有:

    1. 响应

    2. 内存

    3. CPU

    4. FPS

    5. GPU渲染

    6. 电量

    7. 流量

    一、响应

    响应时间和响应速度直接影响到用户的体验度,进而影响到产品的日活、留存。应用程序的响应时间包括安装、卸载、启动、切换各功能页面的耗时。

    测试点:

    1、冷启动:首次启动app的时间间隔(只是启动时间,不包括页面加载)

    2、热启动:非首次启动app的时间间隔(只是启动时间,不包括页面加载)

    3、完全启动:从启动到首页完全加载出来的时间间隔

    在项目中,主要测试关注点是冷启动,热启动

    二、内存

    在Android系统中,每个APP进程除了同其他进程共享内存(shared dirty)外,还独用私有内存(private dirty),通常使用PSS(私有内存+比例分配共享内存)来衡量一个APP的内存开销。移动设备的内存资源是非常有限,为每个APP进程分配的私有内存也是有限制,如果内存消耗过大就会造成应用卡顿或者闪退。正常情况下,应用不应占用过多的内存资源,且能够及时释放内存,以免发生内存泄漏。

    测试点:

    1、空闲状态:切换至后台或者启动后不做任何操作,消耗内存最少

    2、中强度状态:时间偏长的操作应用

    3、高强度状态:高强度使用应用

    4、应用内存峰值

    5、应用内存泄露

    6、应用是否常驻内存

    7、压力测试后的内存使用

    三、CPU

    手机CPU,即中央处理器是手机最重要的硬件指标,它是整台手机的控制中枢系统。应用程序占用的CPU大小直接影响了系统性能。CPU测试,主要关注的是cpu的占用率。CPU使用率过高,导致手机发烫发热,手机响应变慢,用户体验就会很差。

    测试点:

    1、在空闲时间(切换至后台)的消耗(cpu占用率0%)

    2、在运行一些应用的情况下,观察应用程序占用cpu的情况(cpu占用率50%)

    3、在高负荷的情况下看CPU的表现(cpu占用率80%以上)

    具体场景:

    1、应用空闲状态运行监测CPU占用率

    空闲状态:应用按Home键退到后台,不再占用系统的状态(通常是灭屏半分钟后)

    CPU占用率=0%

    2、应用中等规格运行监测CPU占用率

    中等规格:模拟用户最常见的使用场景

    CPU占用率≤30%

    3、应用满规格长时间正常运行监测CPU占用率

    CPU占用率≤30%

    4、应用正常运行期间监测CPU占用率峰值

    应用正常运行:打开应用进行基本操作

    CPU占用率≤50%

    四、FPS (应用的使用流畅度)

    FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅一般来说,Android设备的屏幕刷新率为60帧/s,要保持画面流畅不卡顿,要求每一帧的时间不超过1000/60=16.6ms,这就是16ms的黄金准则,如果中间的某些帧的渲染时间超过16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面变发生了卡顿。

    五、GPU渲染

    GPU渲染是指在一个像素点上绘制多次(超过一次):显示一个什么都没有做的activity界面算作画了1层,给activity加一个背景是第2层,在上面放了一个Text View(有背景的Text View)是第3层,Text View显示文本就是第4层仅仅只是为了显示一个文本,却在同一个像素点绘制了四次。过度绘制对动画性能的影响是极其严重,需要进行优化。

    测试点:

    1、界面过度绘制

    2、屏幕滑动帧速率

    3、屏幕滑动平滑度

    六、电量

    测试耗电量前需要知道对手机本身的电量消耗,先看规定时间内手机正常待机下(重启后待机)电量消耗为多少,然后再启动待测试APP看看消耗的电量增加了多少取差值。

    测试点:

    1、测试手机安装APK前后待机功耗无明显差异

    2、常见使用场景中能够正常进入待机,待机电流在正常范围内

    3、长时间连续使用应用无异常耗电现象

    七、流量

    手机流量指的是手机连接网络时,与服务器进行通信上传下载数据所产生的流量大小。由于运营商流量包是手机独有的上网方式,所以监控应用程序的流量耗费也是手机性能测试特殊的一个关注点。手机流量分为启动应用程序时所耗费的流量、应用程序后台运行时的流量和应用程序连续高负荷运行时使用的流量。

    测试点:

    1、应用首次启动流量提示

    2、应用后台连续运行2小时的流量值

    3、应用高负荷运行的流量峰值:应用极限操作下

    4、应用中等负荷运行时的流量均值:应用正常操作下

    萌新签到
  • 相关阅读:
    List里如何剔除相同的对象?
    Collections工具类中的sort方法如何比较元素?
    TreeMap和TreeSet在排序时如何比较元素?
    Map的实现类中,哪些是有序的,哪些是无序的,如何保证其有序性?
    LinkedHashMap、LinkedHashSet、LinkedList哪个最适合当作Stack使用?
    ArrayList与LinkedList哪个插入性能高?
    HashSet和HashMap有什么区别?
    HashSet实现原理是什么?有什么特点?
    TreeSet的原理是什么?使用需要注意什么?
    Java中已经数组类型,为什么还要提供集合?
  • 原文地址:https://www.cnblogs.com/Harrydz/p/14142838.html
Copyright © 2020-2023  润新知