• 0
  • 0
分享
  • 第一次做弱网测试--fiddler模拟网络延迟——软件测试圈
  • 饭团🍙 2022-04-08 11:16:28 字数 1895 阅读 1751 收藏 0

因为公司项目业务需要,前不久测试老大需要我这边对我们的性能测试apk做一下弱网测试,虽然以前弱网测试都有所了解。但是还没有实操过,作为一个三年工作经验的软件测试工程师确实是有点菜了,这里我就讲一下我根据网上教程自己去在公司内部做的一个弱网测试

首先先确定弱网测试做什么?

这里我就先说一下我对性能测试apk关注的弱网测试点,整理了一份测试方案,测试方案就不方便放上来了,但是主要内容其实就是看各类请求耗时最多,从而让开发去对页面的访问进行访问速度的优化

做弱网测试的话单纯网络上提供的工具就有,fiddler,charles,httpwatch,Wireshark,这几个弱网工具功能是各有千秋,挑选适合自己的工具就可以了,因为公司使用的win10电脑,我就用了fiddler工具,简单好用还免费

正常下载安装fiddler的教程的网上有很多,这里提供一个CSDN的我喜欢的博主的链接去下载安装教程fiddler的安装与使用

因为我是针对app做的弱网测试,fiddler还需要另外去设置

首先你的fiddler所在的电脑和手机必须处在同一个局域网内

查看你自己的本机ip地址,win电脑可以直接cmd命令ipconfig得到

配置连接信息的话可以直接进入Tools-Options-Connections

图片 1.png

设置手机里的代理

1.进入到手机设置-WLAN设置-选择该wifi,点击右边的箭头进去

2.点击代理选择手动

3.配置好主机名(也就是你的ip地址),与端口8888(就是之前让你设置的)

图片 2.png

因为我需要测的app是我们的安卓开发的一个小工具app上报一些异常数据的,里面的请求都只是http请求,所以不需要另外去安装下载证书,如果你们测试的app里是有https协议的就需要自己去下载证书了

下载证书的方法也很简单我这里就顺便说一下,直接在你手机浏览器里输http://10.224.xx.xx:8888 ,这个中间的host地址就是前面查到的本机地址,然后会出现一个html的页面,单纯点击其中发蓝颜色的字体进行下载就可以了

图片 3.jpg

1.手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

2.打开fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾选这个选项就可以了

…from all processes :抓所有的请求

…from browsers only :只抓浏览器的请求

…from non-browsers only :只抓非浏览器的请求

…from remote clients only:只抓远程客户端请求

(千万注意:如果手机设置代理后,测完之后记得恢复原样,要不然手机无法正常上网。)

图片 4.png

下面就开始步入正题了,弱网测试正式开始,之前都只是将环境布置好

接下来我们先抓取正确的接口数据,我们的app上报数据接口是post,很轻易的就能抓取到,这时可以直接查看到此接口的一个statistics分页去统计请求和响应的一些信息

图片 5.png

图片 6.png

这时候我们就可以进行一个弱网测试了,不过弱网测试之前你得知道2G,3G的一个上下行带宽与一个DNS延迟,这里我就直接为大家提供这份数据,因为后续修改fiddler其中的一个延迟参数需要用到。

图片 7.png

1.设置模拟调制器的速度:

图片 8.png

2.手动设置上行,下行速率,模拟网路速度的原理,每上传/下载1kb要delay(延迟)多久,手动进入Customize Rules里查找代码如下

图片 9.png

//Delay sends by 300ms per KB uploaded. //每延迟300ms发送1kb的数据,也就是每1s发送3kb的数数据(每上传1kb数据,延时0.3s)
oSession["request-trickle-delay"] = 300
//Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = 150//每延迟150ms下行1kb的数据 }

这里我们使用计算公式不难得出上行延迟与下行延迟,2G的取近似整值3000ms与1000ms,3G的就取20ms与2.5ms

请注意,当你存档之后,原本已经勾选的SimulateModem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔!


作者:王大宝
链接:https://zhuanlan.zhihu.com/p/187044723

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、Appium加载的过程图解Appium的原理WebDriver script:我们的测试脚本(java or python)Appium:会首先开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar(注意这里的请求不是整个脚本文件,而是对应的命令请求,比如:点击一个元素就是一条请求)Bootstrap.jar:监听4724端口由appium发送过来的相关请求,并且将请求转换成UiAutomator可以识别的命令发给UiAutomator进行处理二、初步认识appium工作过程appium是c/s模式的 appi...
            0 0 1155
            分享
          •   一、背景  随着各类应用快速和多样化的发展,产品迭代更换频繁,导致业务需求旺盛,开发测试任务源源不断。项目团队通过采取测试分层策略、测试数据治理、自动化回归、性能测试等一系列举措确保系统的安全生产。然而,通过调研发现,投产运行后的缺陷90%以上为性能问题,为我们敲响了性能警钟。为此,项目团队探索打破以项目维度开展性能测试的壁垒,按系统维度进行性能周期性检测,尽可能模拟系统生产运行模式,检验特定情况下是否会有系统级性能问题,降低系统投产的性能风险。  二、探索实践  性能周期性检测实践从性能测试环境建设、性能测试范围选取、测试脚本集准备、性能测试场景设置、性能测试结果对比分析及调优几个维度逐...
            1 1 2535
            分享
          •        今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它也是因为最近公司上了代码质量管控的指标,会考评各个项目的单元测试覆盖率,以及sonar扫描出来的各种问题,很多老项目老代码,或者着急交付的项目,单元测试严重缺失,覆盖率只有5%不到,所以几个小伙伴这几天就在疯狂的堆单元测试,3个人堆了2天才堆到30%,于是我也来上手帮忙写了两个,写到第二个的时候就发现,这个活不应该是人干的,要去看原来的代码,然后根据逻辑写各种Mock,感觉是有迹可循的东西,所以就查了下,发现果然有插件帮我们来干这个事情,那么解下来就来看看...
            15 14 6660
            分享
          •   富士通和 Cohere宣布建立新的战略合作伙伴关系,以提供日语企业人工智能服务。Cohere 表示,他们将为企业开发几种高度安全的模式,并满足企业的需求,"为客户带来实际影响"。  Cohere 的 Command R+ 模型将成为计划中模型的基础,因为它具有可验证的准确性、多语言支持和自动化工具等功能。私有云部署将作为交易的一部分,帮助金融机构、公共部门和研发单位等受多种法规约束的组织获得服务。  除 Command R+ 模型外,富士通还将使用Cohere 的 Embed 和 Rerank 模型创建企业搜索应用程序和检索增强生成 (RAG) 系统。  在谈到协议时,...
            0 0 366
            分享
          • 今天我们来说说在 windows 系统上如果有多版本的 python 并存时,如何优雅的进行灵活切换。虽然 Python3 已经出来很久了,虽然 Python2 即将成为历史了,但是因为历史原因,依然有很多公司的老项目继续在使用着 Python2 版本(切换成本太高),所以大多数开发者机器上 Python2 和 Python3 都是并存的,本文主要说明这种情况下如何便捷的在 Python2 和 Python3 之间进行切换。先说明下,本次我们不介绍 virtualenv,也不介绍 pipenv,因为这两个都是为了大型的 Python 工程做准备的,之后会单独文字进行说明。本次是不借助外部工具,...
            1 1 2048
            分享
      • 51testing软件测试圈微信