好好学习,天天向上,一流范文网欢迎您!
当前位置: >> 最新范文 内容页

Fiddler什么是弱网?弱网看字面意思网络比较弱

1 简介

如今,这个时代早已属于流量时代,用户对APP或小程序等操作界面的数据和交互的要求越来越高。 对于测试人员来说,弱网测试也是一项需要考验其专业技术能力的技能。 对于一个合格的测试人员来说,需要格外注意的场景远不止断线、网络故障那么简单。 对于弱网络的数据定义,不同应用的含义不同且不明确。 除了考虑各类网络的最低??速度外,还需要结合业务场景和应用类型来定义。 根据联通的特点,通常速度高于2G的应用属于弱网,3G也可以定义为弱网。 另外,信号较弱的Wi-Fi一般都会被纳入弱网测试场景。 不管我们是做web测试还是app测试,我们都需要测试弱网络。 弱网的方法有很多,比如:Fiddler模??拟弱网,控制笔记本网速等,明天介绍Fiddler如何测试弱网。 .

2.什么是弱网络?

弱网字面意思就是网络比较弱。 我们通常称之为信号差、网速慢、卡顿。 一般高于3G的网速和信号较弱的Wifi都是弱网。 在当今科技时代,大量用户会在轻轨、隧道、电梯、车库等场景下使用APP。 在这些场景中,网络会出现延迟、中断和超时。

3、什么是弱网测试?

弱网测试主要是模拟弱网环境对网络带宽、丢包、延迟等进行测试不同的应用软件,属于健壮性测试。

根据大部分用户使用联通终端软件模拟弱网测试监管得到的网络数据,弱网环境控制上行速率为10,下行速率为30,属于弱网测试。

4、为什么要做弱网测试?

中国联通智能设备在国外的快速普及,大大降低了用户碎片化使用智能设备的概率。 用户可能在东站、地铁、高铁、公交、电梯、楼梯间、隧道、地下车库等弱网环境下使用互联网应用。 . 对于那些弱网络环境,我们需要验证应用软件的健壮性和容错性,提升用户体验,防止因为不友好的用户体验而流失核心用户。

5、如何做弱网测试?

对于测试人员来说,为了高效的进行弱网测试,需要借助第三方工具搭建各种弱网环境,模拟弱网环境。 洪哥这里主要讲解和分享第三方工具Fiddler。

利用工具对数据链路层进行干扰,设置不同的网络带宽、丢包、时延等参数,模拟弱网络环境进行测试。

首先,搭建弱网环境,模拟弱网环境即可。 有软件和硬件两种方法。 软件方法可以通过模拟网络参??数配置弱网络环境来达到目的。

也可以选择第三方,例如:Charles、NetworklinkConditioner。 在各种网络软件中,主要是在带宽、丢包、延迟等方面模拟弱网环境。而且这种方法有一定的后果,不是特别接近弱网环境,而是想更接近于弱网络环境。 在windows环境下,我们一般可以使用fiddler和network emulator for windows toolkit进行模拟,在mac环境下,可以使用Charles和Xcode自带的开发环境网络异常模拟工具进行测试。

例如,大多数专项测试更倾向于使用硬件的方法来辅助测试,但这些方法都非常麻烦。 它们都是借助“Raspberry Pi”网络维度构建的! 如果遇到一些难以模拟的情况,只能靠手动连接到扶梯、地铁等信号较弱的地方。 另外,软件方式成本低,易于实现。

6.弱网测试工具

常用的弱网测试工具有:Fiddler、Charles、Clumsy、弱网测试仪等。

7.Fiddler模??拟限速原理

我们可以使用Fiddler来模拟限速。 由于Fiddler本来就是一个proxy,所以在client请求之前,server响应之前提供了一个rebound socket。 我们可以在这个套接字上自定义一些逻辑。 Fiddler的模拟限速是在客户端请求之前自定义限速的逻辑。 这个逻辑就是通过延迟发送或接收数据的时间来限制网络的下载速率和上传速率,从而达到限速的效果。

那么我们的算法是:

1000/下载速度 = 需要delay的时间(毫秒) //比如50kb/s 需要delay200毫秒来接收数据。

复制

8. 参考常见网络制式的上行和下载速率表

参考常见网络制式上下行速率表,如右图:

9. 弱网络测试思路 9.1 弱网络测试思路简单归纳

1.该功能在正常网络条件下正常工作。

2. 无网络时功能是否可用。

3、弱网情况下功能是否可用:

(1)前端服务器是否做了超时处理,提示是否友好;

(2) APP是否会出现Crash或ANR;

(3)数据是否会丢失;

(4)后台页面显示是否完整.....

4、网络变化:从4g到3g,从强wifi到弱wifi,断网时功能是否可用。

9.2 思维导图

弱网测试思维导图怎么测试上行速度,如右图:

10、弱网测试点

根据测试思路,我们可以列出测试的重点,如右图所示:

11. 弱网测试用例

根据测试点,我们可以编写弱网络测试用例,如右图所示:

12.弱网模拟常用工具 12.1360 free WiFi 12.1.1 prerequisite plan

1、笔记本插入无线网卡(台式机一般需要插入网卡,电脑一般不需要)

2.笔记本安装360免费WiFi软件

12.1.2 部署环境

1、在360免费WiFi设置中配置WiFi名称和WiFi密码,如右图:

2.将手机连接到此无线WiFi。

3、在360免费WiFi中打开连接的手机,点击图标可以清楚的看到下载和上传速度。

4、在360免费WiFi中打开连接的手机,点击限速管理图标开始设置下载速率和上传速率,下载速率为2KB/s,上传速率为10KB/s,即最大下载速率为每秒2KB/s,最大上传速率为每秒10KB/s。 如右图所示:

上述方法通过限制下载和上传网络请求达到测试弱网络的目的。

12.2 浏览器限速,打开F12控制台

洪哥这里简单介绍两款浏览器,其他浏览器类似

12.2.1边缘

1、Edge的设置如下。 如果想自己设置网速,点击自定义设置,如右图:

12.2.1 铬

1、Chrome网络设置,如右图:

12.3 Fiddler12.3.1 在Fiddler中启动弱网

1.打开Fiddler,Rules->Performance->勾选SimulateModemSpeeds。 如右图所示:

2、查看网站后,你会发现访问该网站时网络慢了很多。

12.3.2 设置弱网参数

1. 打开Fiddler,规则-> CutomizeRules。 如右图所示:

先和洪哥一起分析一下这几行代码:

 if (m_SimulateModem) {
  // Delay sends by 300ms per KB uploaded.
   oSession["request-trickle-delay"] = "300"; 
   // Delay receives by 150ms per KB downloaded.
   oSession["response-trickle-delay"] = "150"; 
}

复制

首先判断m_SimulateModem是否为真(是否开启),即是否设置了弱网模式。 在前面,我们可以发现这样的代码默认是不开启的。 当检查simulateModeMspeeds时,varm_simulatemodem:boolean = false; 将更改为 varm_SimulateModem:boolean=true; 有兴趣的男士或者童鞋可以自己验证一下,洪哥没错。

    // Cause Fiddler Classic to delay HTTP traffic to simulate typical 56k modem conditions
    public static RulesOption("Simulate &Modem Speeds", "Per&formance")
    var m_SimulateModem: boolean = false;

复制

Delaysendsby300msperKBuploaded:上传1KB内容需要300ms,换算上传速率:1Kb/0.3s=3.3KB/s,也就是说网络上传速率只有3.3KB。

oSession[“request-trickle-delay”] = “300”;

复制

Delayreceivesby150msperKBdownloaded:下载1KB的内容需要150ms,换算后的下载速率:1KB/0.15s=6.6KB/s,也就是说网络下载速率只有6.6KB。

oSession["response-trickle-delay"] = "150";

复制

如果要设置下载速率为50KB/s,需要设置Delay time为20ms。 您还可以通过调整 oSession["response-trickle-delay"] 的值来限制上传速率。

12.3.3 编写自定义脚本

1、我们可以对CustomRules.js中的逻辑进行扩展,在模拟弱网环境下可以参考Jscript文档添加更多的自定义逻辑。 这里实现了一个随机的延迟设置,使得网络带宽不是恒定在一个低速值,而是会在一定范围内随机抖动。 这里的randInt(1,50)应该很容易理解,代表一个1-50的随机整数,这样总会有延迟,网络好。 健康)状况。 参考代码如下:

static function randInt(min, max) {
    return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = ""+randInt(1,50);
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = ""+randInt(1,50);
}

复制

据悉,(1)路由器改变上下行速度,(2)Charles弱网模拟(红哥后面可能还会出一系列关于这个工具的文章),(3)iOS手机自带NetworkLinkConditioner弱网模拟.

13.验证功效

为了更清楚的查看疗效,洪哥单独抓取百度网址的包,然后抓取访问百度的请求和响应,然后搜索“北京-洪哥”看疗效。 具体操作步骤如下:

1、打开fiddler——选择filter,如右图:

2、勾选“UseFilters”,选择“ShowonlythefollowingHosts(只显示以下主机)”,在下方编辑框中输入百度网址,如右图:

3、点击“Action”,选择“RunFiltersetnow(立即运行过滤器)”,如右图:

4、不启动Fiddler弱网开始抓包,访问百度,搜索“北京-红阁”,如右图:

5.Ctrl+A选择所有session,查看Statistics和Timeline,如右图:

6、启动Fiddler的弱网怎么测试上行速度,再次重复4、5步,是不是感觉比昨天更卡了,圈子还在loading。 如右图所示:

7、查看Statistics and Timeline,如右图:

14.恢复设置

完成测试后,需要再次执行:打开Fiddler,Rules->Performance->勾选SimulateModemSpeeds,关闭弱网模拟。 否则Fiddler一启动就会影响上网速度,切记! ! !

15.总结

Fiddler模??拟弱网环境的局限性

Fiddler的限速比较简单灵活,配置也比较方便,而且因为是应用层的HTTP代理,所以只能模拟这一层的行为。 对于一些复杂的网络层丢包、重传等情况不能很好模拟,但不支持其他合约的应用。