zoukankan      html  css  js  c++  java
  • app性能测试

    1         App 响应时间和响应速度测试

    1.1     主要测试点

    • 冷启动

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

    • 热启动

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

    1.2     测试方法

    • 冷启动

         

    • 热启动

         按返回按键后再启动 adb 命令

         测试标准:冷启动时间不超过 1.5s,热启动不超过 1s。

    2         内存占用测试

    2.1   主要测试点

     2.2 测试方法

    • 使用 adb 命令

             adb shell dumpsys meminfo com.tencent.mm

    • 主要指标

      Native heap alloc、Dalvik heap alloc

    若这两个值一直增长,说明可能出现内存泄漏

       PSS

     App 实际占用的内存大小

    主要关注

     

    3、 CPU 繁忙测试

    3.1  主要测试点

     3.2 具体场景

     3.3 测试方法

    adb shell dumpsys cpuinfo apk 包名

    adb -s 192.168.231.101:5555  shell dumpsys cpuinfo com.tencent.mm | findstr com.tencent.mm

     

     

    adb shell top -m 10

     

     指定按照CPU进行排序

    adb shell -m10 -n3 -s9

     查看微信内存占比,每个10s刷新一次,总共刷新3次

    adb shell top  -n3 -s10 -d10 | findstr com.tencent.mm

     将微信CPU占比,刷新10次,每隔2s一次,存到桌面的log.txt文件中

    adb shell top  -n10 -s9 -d2 | findstr com.tencent.mm > Desktoplog.txt

    4、        FPS 应用流畅度测试

    1)开启 Profile GPU rendering

        Settings→System→Advanced→Developer options→查找 profile→找到并单击 Profile GPU rendering→In adb shell dumpsys     gfxinfo

    2) 打开要测试的 app

    3)  adb shell dumpsys gfxinfo 包名

       Graphics info for pid  1789 [com.tencent.mm]:表明当前 dump 的为 com.tencent.mm

    的帧信息,pid 为 1789。

       Total frames rendered: 145:本次 dump 搜集了 145 帧的信息。

       Janky frames: 60  (41.38%):帧中有 60 帧的耗时超过了 16ms,卡顿概率为 41.38%。

       Number Missed Vsync: 10:垂直同步失败的帧

       Number High input latency:123:处理 input 时间超时的帧

       Number Slow UI thread: 11:因为 ui 线程导致 slow 的帧

       Number Slow bitmap uploads: 0:因为 bitmap 加载 slow 的帧

       Number Slow issue draw commands: 19:因为绘制导致 slow 的帧

     

     

    4)通过 execl 进行表格处理可以直观的查看软件的流畅度

    adb shell dumpsys gfxinfo com.tencent.mm > Desktoplog.txt

    --》创建Excel,复制数据 Process、Draw、Execute,求和

     --》选中Draw+process+execute一列,插入图表

    --》添加标准列16

     --》右击图表,选择数据

     ---》将=Sheet1!$D$1:$D$121改为=Sheet1!$D$1:$E$121

    --》查看图表 ,标准线已添加

     5)  Settings→System→Advanced→Developer options→查找 profile→on screen as bars

     

     

     

    5、 GPU 过度渲染测试

     

     

    6      使用monkey App 进行压力测试

    1)monkey 是做什么的

    • monkey 是 Android 中的一个命令行工具,由 java 编写,可以运行在模拟器里或实际设备中。
    • 它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现  对 APP 进行压力测试。
    • monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

    2)   monkey 的优劣

    优势

    •    脱离 Case 的依赖
    •    可封装自动化执行
    •   可封装后作为客户端性能测试的驱动

    缺陷

       完全随机,不可控

    3)monkey命令

     4)monkey结果分析

    随机点击微信500次,将结果保存到log.txt文件中

    adb shell monkey -p com.tencent.mm  -v -v -v  500  > Desktoplog.txt

    7、使用GT 测试App 性能

    1)简介

    • GT(随身调)是腾讯研发的开源 APP 随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment)。
    • GT 仅凭一部手机,无需连接电脑,即可对 APP 进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。
    • 如果觉得 GT 提供的功能还不够满足需要,还可以利用 GT 提供的基础 API 自行开发有特殊功能的 GT 插件,帮助您解决更加复杂的 APP 调试问题。

    2)使用

    --》选择待测 App、选择测试指标

       AUT:设置被测应用信息

       pss:实际使用的物理内存

       private dirty:私有内存

       jiffies:CPU 时间片,反映进程的 CPU 消耗

       net:整个手机产生的流量

    --》选择监控参数

       点参数→编辑→拖动需要监控的参数到“已关注的参数”→不点完成

      添加监控耗电量、流量和流畅度的参数

    耗电量

    流量

     流畅度

      点“检测”必须出现 ok,否则点“更改”→检测,提示“select a app first”忽略

    选择显示指标

     刷新内存指标

     启动监控

     查看监控图

    双击各项看图

     导出结果与分析

    保存数据

     导出的文件夹  /sdcard/gt/gw/org.chromium.webview_shell/1.0/

    压缩文件

    进入/sdcard/gt/gw/org.chromium.webview_shell/1.0/ 将文件压缩 

    -->adb shell

    -->  cd  /sdcard/gt/gw/org.chromium.webview_shell/1.0/

    --> tar czvf baidu.tar.gz baidu

     拉取文件

    --》adb pull  /sdcard/gt/gw/org.chromium.webview_shell/1.0/baidu.tar.gz .

     处理数据

  • 相关阅读:
    jeos没有消亡,但看 debian 的 netinst .iso格式,那就是jeos的系统!
    ubuntu-14.04.x-desktop-amd64.iso:安装Oracle11gR2
    ubuntu-16.04.1-desktop-amd64.iso:ubuntu-16.04.1-desktop-amd64:安装Oracle11gR2
    JDBC 基础
    How to check for null/empty/whitespace values with a single test?
    STRING DELIMITED BY SIZE
    分行符
    甲醛超标
    notepad++ 去空行
    shell脚本中的set -e和set -o pipefail
  • 原文地址:https://www.cnblogs.com/ychun/p/14337577.html
Copyright © 2011-2022 走看看