移动APP测试 -- 性能测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动APP测试 -- 性能测试相关的知识,希望对你有一定的参考价值。

性能测试

 

移动产品的功能测试,以及功能测试的自动化,可以验证被测试产品功能层面的正确性和可用性

  适用情况:

    App 使用的时候,卡顿

    查询信息 或者 执行一个操作时, 服务端需要好久,才能响应

    当 Application 使用高峰期, application 频繁报错

    App 使用一段时间后,内存占用过高,甚至闪退

    手机访问应用的界面,打开非常缓慢

  为了避免上面的风险, 通常,会在测试阶段,进行 性能测试,获取测试数据,这样便于对性能量化分析,也便于该收的对比

  性能测试的开展和 被测系统的特点,密切相关,针对移动互联网产品的构成,性能可以分为 前段性能和后台接口性能

    前端 : Web 页面 和原生App code [ android && ios ]

   

 

 

一、Web 前端性能测试

  1)M 站, 输入同一地址,按照 PC or Mobile 返回不同的内容 

    通过 Http 的 User-Agent [ Http Header] 字段 , 以及 Http 协议的302 响应码和对应的跳转机制

  2)很多APP 都是混合方式, 既有原生的代码,也有内嵌的网页

      PC browser -> Mobile browser | App 内嵌 browser [ eg : WebView ]

      HTTPS = HTTP + SSL [ 安全套接口层 ]

      URI : Uniform Resource Identifiers

      HTTP 请求方法:

        GET、POST、PUT、DELETE、【前4个常用】 HEAD、TRACE、CONNECT、OPTOINS

        HTTP-Version

        Status-Code :

          1XX : tip info 

          2XX : success 

          3XX : redirect

          4XX : client error

          5XX : server error

        eg :

          200 : OK 

          400 : Bad Request , 

          401 : Unauthorized

          403 : Forbidden  

          404 : Not Found

          500 : Internal Server Error

                              503 : Server Unavailable , 服务器当前不能处理client request, 一段时间后,可能恢复正常

              【 cdn 】

 

    技术分享

 

 Accept-Encoding ,标识,是否使用 gzip 压缩, 压缩后缩短为 原来的 1/3 , 客户端,可以更快的获取也卖弄内容,进而缩短页面打开时间,  压缩是双向的, 客户端和 服务端都需要开启

    技术分享

 

   Web 前端性能测试方法

   Http 前端常用的性能测试工具 : Fidder , YSlow , HttpWatch , Firebug 

   常用Web 性能测试工具: 

    在线工具 WebPageTest     

    Chrome PC / 手机远程测试 调用

        chrome://inspect/#devices

 

二 APP 端性能测试

  内存分析, App 内嵌Web 组件的性能分析

  1  内存分析

      首先要 了解 JVM 垃圾回收机制

        垃圾回收 主要包括

          静态变量 、 栈上指向的 堆内存对象、寄存器、Other

         在一些情况下,垃圾回收线程 也会压缩掉 内存碎片, 内存分配器 记录空闲内存开始的地方, 接下来按顺序分配内存

  2  Java 的几种 引用

      强引用

      弱引用

      软引用

      其他

 

  3  Android 内存占用分析实践

    MAT : 强大的head dump 内存分析工具

      Eclipse 的 DDMS 、 Android Studio 的 DDMS 都能进行抓取工作

      run MemoryAnalyzer ,open 抓取的.hprof 文件

     Care:  

      大对象常驻内存 : open Dominator Tree for entire heap

      内存泄漏

 

  4  IOS 内存问题分析

    IOS 的内存管理 使用了 引用计数器

    ARC :Automatic Reference Counting : 主要help developer release space

        但是并不代表,使用了 ARC的模式开发的APP,就没有 内存 泄漏的问题

 

  5   App 内嵌 web 组件的 性能分析

    1)  Android webView 性能分析

    2)  IOS webiew 性能分析

        ios 的 webview 内部引擎和 safari 不同, 由于 ios 的webview 不支持javascript 加速,所以性能会差很多

    

 三、  后台服务性能测试

   性能测试目的: 量化地 评估 被测系统的响应时间和 容量等维度的指标

  根据侧重点,可以分为

    负载Load测试: 

    压力Press测试:

    耐久性Endurance测试: 

     可扩展性Scalability测试:

    基准Benchmark测试: tCP && SPEC

   

  2  模拟用户请求

      JMeter

      Think time

      构建模拟用户组

      测试流量的设定

         选择数据样本,并发量

 

 

  

 

以上是关于移动APP测试 -- 性能测试的主要内容,如果未能解决你的问题,请参考以下文章

APP测试---性能测试工具

移动全平台性能测试分析工具:PerfDog性能狗

移动端性能测试概述

移动端性能测试概述

移动端app性能测试——monkey

移动端性能测试工具——PerfDog使用说明