弱网测试及工具对比(Fiddler/Charles/NEWT/Clumsy/ATC/WANem/QNET)

2023-11-05

1.什么是弱网测试?

弱网测试主要就是对带宽、丢包、延时等进行模拟弱网环境。

衡量网络性能好坏的几个指标:
带宽(吞吐量):单位时间内传输的数据量,单位通常是:每秒比特数:bps。带宽反映了网络的传输能力,越大越好。
丢包:数据丢包个数=发送的数据包数-接收的数据包数。丢包反映了网络可靠性,越小越好。
时延:数据包从发送开始到接收到该数据,所耗费的时间,单位通常是ms。时延反映了网络的速度,越小越好。
抖动:指时延的变化,即两个数据包时延的差值。抖动反映了网络的稳定性,越小越好。
乱序:指接收到的数据包顺序和发送顺序不一致的次数。乱序反映了网络的稳定性,越小越好。当乱序比较严重的时候,丢包也会比较严重,所以一般都以丢包指标为主,忽略乱序指标。

2.为什么做弱网测试?

1.用户体验
使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易损失用户体验。
2.非正常情况下,出现bug概率会增加
在日常需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣。而服务面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。

3.弱网的衡量指标

衡量指标要根据实际使用环境来确定,这里不方便放出公司的指标。

4.弱网测试关注点

用户体验:响应时间、页面呈现、超时文案、超时重连机制、安全及大流量风险

弱网测试:功能在高丢包高延时下的实现等

无网状态:断网功能、本地数据存储

网络切换:wifi-有线-无网及之间切换

5.弱网测试常用工具

通过设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET,Clumsy,WANem等

在专有服务器上构建弱网络WiFi,移动设备连接该WiFi进行弱网络测试,相关的技术方案有ATC、WANem等

以独立 app 的方式,为用户提供弱网络模拟服务。比如QNET,在Android设备上直接安装使用

工具名称 描述 优缺点 使用链接
Fiddler 抓包工具,PC 端安装,作为代理服务器,设置延迟参数,模拟不同的网络情况 只能模拟延迟,如丢包、带宽等等是无法支持的 Fiddler
Charles 抓包工具,PC端安装,作为代理服务器,可以支持延迟、丢包、带宽等弱网配置 弱网配置项只支持HTTP/HTTPS Charles
NEWT 微软早年推出的弱网测试工具,PC 端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置 在win10上按照配置步骤配置后未生效,后续未再尝试 NEWT
Clumsy 专门针对弱网测试的工具,PC 端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置 对比的这几款软件中使用最简单的软件 Clumsy
ATC Facebook推出,需要部署在 Linux 系统上,移动端设备通过浏览器访问就可以切换不同的网络环境,还可以同时支持多台设备连接 环境部署较为复杂 ATC
WANem 广域网模拟器,支持从光盘启动,可以运行于虚拟机上,也可以直接刷到物理设备上 虚拟机部署不支持上下行网络设置 WANem
QNET 腾讯推出app,自动化弱网测试,支持adb命令驱动,用户可以编写脚本,实现自动化弱网测试,自带真实的全球网络和弱网场景 仅适用于安卓 QNET

简单使用推荐使用Clumsy,环境部署简单,使用门槛低;要模拟完全真实环境推荐WANem,直接刷到交换机上;安卓app推荐使用QNET

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

弱网测试及工具对比(Fiddler/Charles/NEWT/Clumsy/ATC/WANem/QNET) 的相关文章

  • Transformer warning: [encoder.embed_tokens.weight] is newly initialized

    在使用transformer 加载预训练的T5 encoder参数的时候 经常会出现 Some weights of T5EncoderModel were not initialized from the model checkpoint
  • Vue下载文件不成功及下载文件名称问题

    看代码 import axiosDown from axios downloadFile path return axiosDown url path method get responseType blob 这一步也很关键 一定要加上 r
  • Qt对动态库(*.dll)的封装以及使用

    创建工程 首先先择左侧项目的Library 再选择右侧的C Library库然后点击下一步 接下来需要设置工程名以及路径 点击下一步 下一步即可 这里需要设置Type为共享库Shared Library 并设置类名 然后一路默认即可 工程结
  • Fluid-数据缓存亲和性调度原理解析

    前言 在Fluid中 Dataset资源对象中所定义的远程文件是可被调度的 这意味着你能够像管理你的Pod一样管理远程文件缓存在Kubernetes集群上的存放位置 另外 Fluid同样支持对于应用的数据缓存亲和性调度 这种调度方式将应用
  • Windows——python版本的OpenCV的安装方法

    1 点进OpenCV的python版本下载网站 https pypi org project opencv python 2 点击历史版本 3 找到合适的版本 复制命令 4 打开cmd 粘贴已复制的命令
  • python中的异常处理方法

    目录 1 什么是异常 3 异常的分类 4 异常的类型 有很多 不一一列举 异常处理实操 基本语法结构 异常处理了解操作 1 什么是异常 代码运行出错之后就是异常 异常会导致程序立刻停止 是我们以后在编程过程中需要极力避免的情况 异常的外号
  • 爬虫之xpath插件下载与使用

    文章目录 1 下载xpath文件 2 打开chrome浏览器 3 点击右上角小圆点 4 更多工具 阔展程序 5 拖拽xpath插件放到阔展程序 6 如果失效 需要将后缀改为zip 7 再次拖拽 8 关闭浏览器重新打开 9 按ctrl shi

随机推荐

  • Pycharm连接Mysql8.0的坑

    Pycharm连接Mysql8 0 1 错误 S1009 The connection property zeroDateTimeBehavior acceptable values are CONVERT TO NULL EXCEPTIO
  • 数据数仓的三种建模方式

    所谓水无定势 兵无常法 不同的行业 有不同行业的特点 因此 从业务角度看 其相应的数据模型是千差万别的 目前业界较为主流的是数据仓库厂商主要是 IBM 和 NCR 这两家公司的除了能够提供较为强大的数据仓库平台之外 也有各自的针对某个行业的
  • 新基建时期助力打造数字化智慧交通体系

    在没多久之前公布的政府工作报告中 明晰了将重点扶持 两新一重 基础建设的战略方针 并且对 两新一重 体系的实际价值给出了 既促消费惠民生又调结构增后劲 的评价 两新一重 体系包含三个基础建设方向 即增强新型基础设施建设 发展新一代的信息网络
  • Struts2 标签详解(学习深入)

    Struts2 标签详解 详细的说明了struts2所有标签 a a标签创建一个HTML超链接 等价于HTML 的
  • 软件测试 - 自动化测试工具 selenium1

    1 什么是自动化测试 2 自动化测试金字塔 2 1 单元测试 2 2 接口测试 2 3 UI 自动化测试 3 为什么要使用 selenium 自动化框架 4 什么样的项目适合自动化测试 5 Selenium IDE 6 Webdriver
  • 手写一个服务器代码将 《vue电商后台管理系统》部署上去 上线、打包

    我将在博文中全程以cnpm作为代码格式 为了好复制 它快啊 你要知道node安装包自带npm npm下载cnpm才可以使用cnpm 今日目标 1 上线vue电商后台管理项目 2 手写搭建服务器并挂载 node 3 打包优化 完成上线 前期回
  • MySQL的数据查询详解

    MySQL查询数据 一 基本查询语句 二 单表查询 三 常用函数查询 四 连接查询 五 子查询 六 合并查询结果 七 为表和字段取别名 八 使用正则表达式查询 一 基本查询语句 数据库管理系统的一个最重要的功能就是数据查询 数据查询不只是简
  • 【AI实战营第二期】第三次作业——基于 RTMDet 的气球检测(包含数据集)

    作业 基于 RTMDet 的气球检测 背景 熟悉目标检测和 MMDetection 常用自定义流程 任务 基于提供的 notebook 将 cat 数据集换成气球数据集 按照视频中 notebook 步骤 可视化数据集和标签 使用MMDet
  • three.js---一个基础的demo

    在学习three js过程中 不难发现 每新开发一个3D场景都会从创建场景 scene 创建物体 创建相机这三个基础的方法开始 从而在其身上衍生出其他的一些API 为了方便日后的开发 特此记录一个简单基础的demo 在之后的开发中可直接使用
  • python测试网络连通性_PYTHON 测试服务器连通性

    coding utf 8 import os import sys import urllib2 import pygame import re import socket import subprocess 输入要测试的site值 pri
  • 基于Jenkins CICD的代码发布与回滚

    案例知识点 1 Jenkins 介绍 Jenkins 原名 Hudson 2011 年改为现在的名字 它是一个开源的实现持续集成的软件工具 官方网站 https jenkins io Jenkins 能实施监控持续集成过程中所存在的问题 提
  • UI自动化测试-第一个测试脚本

    前提 我们在进行UI自动化测试时 一般采用java selenium或者python selenium的方式 由于python比较简单 上手快 因此建议大家采用python selenium的方式来进行UI自动化 1 安装pycharm P
  • 浏览器控制器进行request(ajax)请求

    浏览器控制器进行request ajax 请求 问题 代码 问题 前后分离开发时 经常出现跨域问题 用postman开发的时候不会出现 所以用以下代码在浏览器的控制器里面进行模拟请求 做个记录 代码 var url http XXX XXX
  • Unable to cast object of type ‘System.Byte[]‘ to type ‘System.System.String‘

    环境 C MySQL数据库 asp net core 3 1 问题 调试 确实有问题 异常还原与异常信息一致 初步分析为数据库数据表实体类映射字段没对起来 检查数据库数据表与实体类映射 发现 某字段类型为longblob 映射类型为Stri
  • Qt开发记录18——授权校验

    授权校验 Windows系统 获取cpu序列号 BIOS序列号 网卡mac地址 代码 Linux系统 获取硬盘序列号 网卡MAC地址 代码 生成的授权码 代码 读取授权文件中的授权码 代码 校验 代码 Windows系统 获取cpu序列号
  • Java Stream流操作

    Stream目录 一 概述 二 分类 三 具体用法 1 流的常用创建方法 1 1 使用Collection下的 stream 和 parallelStream 方法 1 2 使用Arrays 中的 stream 方法 将数组转成流 1 3
  • 使用PlayerPrefs的数据存储

    LasText text 上次 长度 PlayerPrefs GetInt lastl 0 上次 分数 PlayerPrefs GetInt lasts 0 如果上次长度没有 则设置上次长度为零 PlayerPrefs SetInt las
  • VLC media player 官方下载

    http www videolan org vlc index zh html
  • HTML5制作个人简历模板

    利用表格标签制作一个个人简历的模板 代码片段如下 table cellspacing 1 width 700px align center caption 个人简历 caption tr height 45 th 姓名 th td td t
  • 弱网测试及工具对比(Fiddler/Charles/NEWT/Clumsy/ATC/WANem/QNET)

    1 什么是弱网测试 弱网测试主要就是对带宽 丢包 延时等进行模拟弱网环境 衡量网络性能好坏的几个指标 带宽 吞吐量 单位时间内传输的数据量 单位通常是 每秒比特数 bps 带宽反映了网络的传输能力 越大越好 丢包 数据丢包个数 发送的数据包