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 .

     处理数据

  • 相关阅读:
    简明Python3教程 12.问题解决
    简明Python3教程 11.数据结构
    【SPOJ 694】Distinct Substrings
    【codeforces Manthan, Codefest 17 C】Helga Hufflepuff's Cup
    【CF Manthan, Codefest 17 B】Marvolo Gaunt's Ring
    【CF Manthan, Codefest 17 A】Tom Riddle's Diary
    【SPOJ 220】 PHRASES
    【POJ 3261】Milk Patterns
    【POJ 3294】Life Forms
    【POJ 1226】Substrings
  • 原文地址:https://www.cnblogs.com/ychun/p/14337577.html
Copyright © 2011-2022 走看看