Fiddler

1. 简介

  • Fiddler是一款主流的抓包工具,它的原理是以 web代理服务器 的方式运行的
  • 如果你想要抓取 HTPPS 数据,则需要安装证书
  • Fiddler在验证数据传输是否安全以及接口测试等方面有着重要的作用

    2. 安装

  • 首先,去官网下载安装包,地址:https://www.telerik.com/download/fiddler

  • 下载完成后,点击安装即可

    3.使用过滤器

    image.png

    4. 抓取HTTPS数据

  1. 点击菜单栏中的「Tools-Options」,打开设置中心
  2. 点击「HTTPS」选项卡,将「Capture HTTP CONVVECTS、Decrypt HTTPS Traffic、ingore…」勾上
  3. 如果弹出安装证书的选项,都要点击「是」

image.png

5. 篡改数据

  1. 首先登录ecshop,获取到登录的url:http://120.78.74.14/ecshop/user.php
  2. ctrl+x 清除掉历史会话
  3. 进入ecshop登录页面
  4. 在Fiddler底部命令行中设置断点:bpu http://120.78.74.14/ecshop/user.php,按下回车
  5. 在浏览器中输入ecshop的账号和密码,点击登录按钮
  6. 登录会停止,因为设置了断点
  7. 在Fiddler中找到 红色T标志 的会话,将其中的密码修改成错误的密码,点击 run to complection 按钮
  8. 回到浏览器查看,登录失败,提示用户名或者密码错误

    取消已设置的断点是bpu

6. 抓取手机端数据

前提:手机与电脑必须在同一网络下

  • 模拟器,可以直连电脑,因为与电脑共享网络
  • 真实手机,需要用电脑共享WiFi,用手机连接该WiFi(同一路由器亦可)

步骤:

  1. Fiddler中勾选允许远程设备连接,重启Fiddler

image.png

  1. 查看电脑ip
  2. 手机端设置中,修改wifi属性,把代理服务器设为手动,服务器ip设置为电脑ip,端口是8888
  3. 手机端浏览器中输入电脑ip:8888端口,安装Fiddler证书(这一步骤不是必须的,如果要抓取HTTPS数据就需要安装)
  4. 手机端访问网页或者打开程序进行操作,在Fiddler中即看到抓取到的数据

    7. 弱网测试

    为什么要做弱网测试?
    一款优秀的APP应该针对不同网络情况都需要保证不会 崩溃,同时尽可能做到弱网情况下也能功能正常使用,或者使用体验达到最佳。弱网测试可以测试APP的「加载时间、可用性、稳定性和健壮性」。
    使用Fiddler进行弱网测试

  5. 确保网络正常,能够打开网页

  6. 在Fiddler中修改 customize rulectrl+f 查找 delay 关键字,修改请求和响应的延迟时间,然后保存
  7. performance 中勾选 Simulate Modem Speeds ,启用限速规则
  8. 在手机端中运行APP,查看APP在弱网条件下的运行情况

    附常见的网络环境延时参考:

  1. 8Kbit = 1KB
  2. 1024Kbit = 128KB
  3. 2G
  4. 上行:2.7Kb 延迟:1 / (2.7 / 8) * 1000 = 2960ms
  5. 下行:9.5K 延迟:1 / (9.5 / 8) * 1000 = 840ms
  6. 3G
  7. 上行:1M 延迟:1 / ((1 * 1024) / 8) * 1000 = 8ms
  8. 下行:3M 延迟:1 / ((3 * 1024) / 8) * 1000 = 3ms
  9. 4G
  10. 上行:50M 延迟: 1 / ((50 * 1024) / 8) * 1000 = 0.2ms

Monkey

1. 简介

  • Monkey是一款 稳定性测试 工具,Monkey(猴子测试),也叫 随机测试工具
  • Monkey是 Android SDK 中的一个命令行工具
  • Mnokey测试的对象是:APP
  • Monkey测试的时间点:系统测试之后,验收测试之前
  • Monkey测试的原理是:通过工具持续不断地(**724)向设备发送 随机 APP 操作(滑动,输入,点击…),验证APP是否会出现稳定性的问题(崩溃,闪退,卡顿… )
  • 如果是 ios,那么可以使用 xcode+ios Monkey 进行稳定性测试

    2. 安装Monkey

    2.1 安装Java

  • 双击安装包安装即可

  • 配置 java 环境变量

    • 桌面右击 计算机 图标
    • 选择 属性-高级系统设置-环境变量
    • path中添加:C:\Program Files\Java\jdk1.8.0_131\bin;C:\Program Files\Java\jdk1.8.0_131\jre\bin
    • 在命令行中输入:java -version验证是否安装成功

      2.2 安装SDK

  • android-sdk-windows压缩包解压至 C 盘的根目录

  • C:\android-sdk-windows\tools;C:\android-sdk-windows\platform-tools添加至环境变量
  • 在命令中输入:adb version,如果能够看到版本号即表示安装成功

    3. 准备APP与手机

    3.1 连接模拟器

  • 启动模拟器

  • 在命令行输入: adb connect 127.0.0.1:62001,将 adb 连上 模拟器

注意:如果是真实手机

  • 首先打开手机设置 开发者选项-USB调试 开关
  • 用数据线插上电脑
  • 电脑会自动安装驱动,然后就连接成功了。(如果驱动安装失败,下载一个豌豆荚等助手,自动重新安装驱动)

    3.2 安装APP

  • 在手机应用市场(应用宝或其他),下载需要测试APP安装包

  • 将安装包复制到 C:\android-sdk-windows\platform-tools目录下
  • platfrom-tools目录下打开命令窗口,输入:adb install apk名字 安装APP到模拟器

    3.3 找到程序包名

  • 在命令行中输入:adb shell,进入adb的命令模式

  • 输入:logcat | grep START,查看应用启动日志
  • 在模拟器中启动今日头条
  • 回到命令行中找到最新刷新的一行日志中的 cmp=xxxxxx 就是程序的包名(鼠标右键选择标记,选中需要的部分按下回车键即可复制)
  • 如:com.ss.android.article.news(今日头条包名)

    4. 执行测试

    4.1 基础版

    在命令行输入 ```bash adb shell monkey -p com.ss.android.article.news -v 2000

adb shell monkey : 使用monkey工具 -p : 后面指定程序包名 -v : 日志级别,-v -v -v 是最详细的日志级别 2000 : 操作次数

  1. <a name="a9598e9a"></a>
  2. ### 4.2 进阶版
  3. 在命令输入:
  4. ```bash
  5. adb shell monkey -p com.ss.android.article.news -s 123 --throttle 500 --ignore-crashes --ignore-security-exceptions --ignore-timeouts -v -v -v 200 > D:\201919.log
  6. adb shell monkey : 使用monkey工具
  7. -p : 后面指定程序包名
  8. -s : 指定一个标志,下一次测试时使用同样的标志保持操作顺序(重现问题场景)
  9. --throttle 500 :操作间隔,单位是ms(类似思考时间)
  10. --ignore-crashes : 忽略崩溃问题
  11. --ignore-security-exceptions : 忽略安全异常问题
  12. --ignore-timeouts : 忽略超时
  13. -v -v -v: 日志级别,-v -v -v 是最详细的日志级别
  14. 200 : 操作次数
  15. > D:\201919.log : 将日志信息写入到指定的文件中去

5. 分析日志

在日志文件中搜索以下关键字:

  • crash: 崩溃,闪退
  • exception: 异常问题
  • ANR: 无响应问题(answer no response)

如果发现了稳定性问题,提交相对的 bug 以及日志给开发人员进行分析,修复。
测试人员的主要工作是协助开发修复。

Perfdog

1. 简介

  • 参见官网:https://perfdog.qq.com/

    2. 安装

  • 3. 连接手机

    IOS
    1. 用数据线将手机连接至电脑
    2. 下载并打开 爱思助手,连接上爱思助手(期间会自动下载iTunes等之类的工具)
    3. 在perfdog中选择iphone设备即可
    Android
    1. 用数据线将手机连接至电脑
    2. 下载并打开 360手机助手,连接上该助手(连接期间会有连接提示,按照助手连接提示操作)
    3. 在perfdog中选择Android设备即可

在真实的测试场景中,需要专门设计一些性能场景。比如说:登录,浏览文字文章,浏览视频… …

4. 执行测试

  1. 左上角选择设备
  2. 选择被测应用
  3. 点击右下角加号,确认需要抓取哪些性能数据(一般包含 FPSCPU使用率、内存使用率、电池温度电量消耗、网络情况等)
  4. 点击右上角开始按钮,开始抓取性能数据,同时按照提前设计好的性能场景对APP进行操作
  5. 操作过程中,可以点击右上角的定位按钮,对操作场景打标签进行区分
  6. 操作完成后,点击右上角完成按钮,停止抓取,并将数据上传云端

    5. 分析性能数据

    分析APP的性能数据时,一定要考虑不同的机型,配置,不同系统版本,不同APP类型… … 具体场景具体分析

  • cpu占用率:日常生活类app(爱贝云)不超过 30-40%,如果是大型app(拍照,王者荣耀),建议不超过 70-80%
  • 内存占用率:一般情况下不超过 20-30%,大型app除外,还要考虑手机自身的内存容量
  • 流量:根据使用场景分析,比如阅读文字资讯与看视频的流量是不一样的
  • FPS:一般建议在60左右,稳定在这个值即可,日常生活类软件可以稍微低一点
  • 电量: 具体情况具体分析(使用情况,使用什么类型app…)
  • 温度: 具体情况具体分析,一般不超过45°C

    附游戏APP性能指标分析图

1602319635128.png

附注

1. 使用adb获取app运行日志

  • 在命令行执行:adb logcat -b main -v time>app.log
  • 会在adb目录下生成app的运行日志文件