参考别人网址:http://blog.csdn.net/no1mwb/article/details/53638681

弱网测试,属于健壮性测试;怎么样去做弱网测试呢?

一、安装弱网测试工具-Network-Emulator-Toolkit

推荐一个工具:Network-Emulator-Toolkit,这个工具的作用主要是设置丢包率和延时;

1.安装与卸载

下载地址:https://blog.mrpol.nl/2010/01/14/network-emulator-toolkit/

然后下载完成之后,点击.exe文件安装,即可;

安装完成后,界面如下:

2、再次安装一个共享wifi工具

下载地址:http://wifi.liebao.cn/   猎豹wifi

以上就是进行弱网测试的前期准备工作;

二、Network-Emulator-Toolkit使用教程

基本操作步骤如下:

1、新建VirtualChannel,File->new或者 Configuration->New Channel;

2、再建一个过滤器Filter,Configuration->New Filter

设置说明:1. All Network 是指所有网络;

2. IPV4、IPV6(本地IP(Local IP),或者远程IP(Remote IP)及子网掩码(IP Mask));

3.可以指定本地端口(Local Port)或远程端口(Remote Port)大小范围;

4.协议(Protocol),针对TCP\UDP协议;

5.可以选择网卡适配器(Adapaters),对适配器增删改;

3、新建连接Link,Configration->New Link

注:未配置的情况下,左右两条线都是灰色的

4.设置UpStream和DownStream

双击link或者悬浮link上方鼠标右键,打开UpStream、DownStream;

【loss】丢包:

    • No Loss:默认,不模拟丢包。
    • Periodic loss: 模拟周期性的丢包。按填写数量(设为x个),每x个包,就丢一个包(one packet is dropped per given number of packets)。
    • Random loss: 模拟随机丢包,按给定丢包的概率,随机丢包。
    • Burst loss: 模拟根据给定的可能性进行丢包。当发生一个丢包事件时,接着连续丢几个包(丢包数量控制在最大(max)最小值(min)之间)。
    • G-E loss: 模拟发生数据包丢失遵循Gilbert-Elliot模型,由两个状态组成:好的状态和坏的状态。可分别为这2个状态指定数据包丢失率,同时可设置网络传输在这两种状态的概率
      (And the network transit between the two states is at given transition probabilities)

【error】数据错误(网络传输过程中,包中一个或者多个字节出现Error)

    • No Error 不模拟数据传输错误
    • Random error:根据给定的比例,模拟随机发生传输错误。
    • G-E error:发生传输错误遵循Gilbert-Elliot Model, 模型,由两个状态组成:好的状态和坏的状态。可分别为这2个状态指定数据包丢失率,同时可设置网络传输在这两种状态的概率(the network transit between the two states according to given transition probabilities)
    • 错误概率单元(Error Rate Unit):
      Bit error: 设置出错概率为每个字节出错的概率。
      Packet error: 设置出错概率为每个包出错的概率。
 
  【Latency】出错和丢包的关系
   
大多数情况下,包出错导致包丢失,特殊情况下,包中的数据被编码,协议栈可恢复被损坏的包,经过修正后,包为可接受的包,即包不丢失。此外,除了包出错会导致包丢失,其它因素也会影响包丢失,如连接失败(Link failure),缓冲区溢出(buffer overflow),队列管理和传输超时(transmission timeout)等。
    • 延迟来自某应用发送的数据包被另一个应用程序接收到的时间。
    • Fixed delay: 按给定值,延迟固定时间(单位:毫秒)packets are delayed for a fixed amount of time.
    • Uniform delay: 按统一分布,延迟一定量的时间(时间控制在最大最小值之间)
    • Normal delay: 按正态分布.延迟一定量的时间(average:平均值,Devation:偏差)
    • Linear delay: 延迟一定量的时间(在给定时间周期(Period)内,延迟的时间大小从最小值线性增加到最大值,当达到最大值时,又从最小值开始。
    • Burst delay: 根据给定概率(Probability),延迟一定量的时间(Latency), 丢包数控制最大值和最小值之间
 
【BW&Queue】
   
   如果不指定带宽(bandwith),则不修改传输速率。
          如果不设置队列,则不对接到的包做任何队列操作
 
 队列:
        Normal queue:所有接收到的包都被放入一个指定队列大小的先进先出(First In, First Out)队列。
        Randomly Early Detection (RED) queue:所有接收到的包都被放入一个RED队列。如果队列大小小于                 给定的最低阈值(Minimum Threshold),队列被评估为不拥挤的,什么都不做;如果队列大小大于给定                   最大阈值(Maximum Threshold),则队列被评估为拥挤的,根据丢包规则,丢弃一些包。
 
        丢包规则:
Drop front: 必要时,丢弃位于队列头部的包。.
Drop tail: 必要时,丢弃位于队列尾部的包。
Drop random:必要时,根据统一分布,随机丢个包。
Queue Mode:设置队列大小的单位,以包(Packet Mode)为单位或者以字节为单位Byte Mode
 
 

【BgTraffic】背景流->延时效果

一些网络数据包交换和模拟的两端没有任何关系,被指为背景流(background traffic)。这些背景流会带来延时效果。
Constant-bit rate (CBR) traffic: 根据给定的固定比例生成背景流(每XX kbps、mbps数据包,xx字节背景流)
Exponential traffic:根据指数On/Off时间分布生成背景流。个人理解,Burst则为生成背景流时间,Idle则不生成背景流时间(时间单位:秒
Pareto traffic: 同上,不过是排列图分布(Pareto)

【Recorder】接收顺序

模拟收到的包不是按发送顺序排序的。
No Recoder:不模拟

【Disconnection】模拟周期性断开

模拟周期性断开连接的行为。
Connection time: 一段时间周期内,link保持连接状态的持续时间。
 
Disconnection time: 一段时间周期那日,link保持断开状态的持续时间
 
Disconnection rates: link发生断开连接的比率
 
例子:设置connection time为10秒,disconnection为5秒,那么周期为15秒,如果设置rate为0.4,那么平均每10秒内,有4秒是link处于连接断开的时间(if connection time is 10 seconds, time is 5 seconds, the period will be 15 seconds. If rate is 0.4, then on average in 4 out of 10 periods disconnection occurs. )。

5、开始控制(开始按钮)

6、停止控制(停止按钮)

7、保存文件(导出XML,方便重用)

附录

工具栏介绍

连接方式:

Dialup56k:通过传输速率为56kbps的modem进行连接

ADSL(128/512): 通过上行128kbps,下行512kbps的ADSL连接。

GPRS:它是GSM移动电话用户可用的一种移动数据业务,理论传输速率115kbit/s,实际可达53.6Kbps。

CDMA2000:3G移动通讯标准。

WCDMA:宽带码分多址(英语:Wideband Code Division Multiple Access,常简写为W-CDMA),是一种3G蜂窝网络,使用的部分协议与2G GSM标准一致。

IEEE802.11b:通过无线局域网,带宽最高可达11Mbps,实际的工作速度在5Mb/s左右,室外为300米;在办公环境中最长为100米

 
  • 丢包或者延时,能够带来哪些危害呢?

1、丢包:丢包最常见,在TCP协议中,需要不停的发送请求,来确认连接状态,一旦发生丢包,就需要重传;

这个时候,就需要去测试一下 产品的处理机制,UI界面是否给出友好提示,服务端是否做了异常处理;

2、延时:由于出现了网络波动,导致数据包在传输的时候出现了抖动,导致请求出现超时现象;这个时候就需要去测                   试一下产品的处理机制,UI界面是否给出友好提示,服务端是否做了异常处理;

弱网测试—Network-Emulator-Toolkit工具的更多相关文章

  1. 弱网测试-Network Emulator 网络模拟工具使用

    参考链接 https://www.jianshu.com/p/6a3d38aafac1

  2. 使用Network Emulator Toolkit工具模拟网络丢包测试(上)

    弱网络测试包括延时和丢包二种场景下应用的功能是否正常: 网络延时测试使用Fiddler工具控制上下行数据传输延时时间来模拟网络延时场景: 网络丢包测试使用Network Emulator Toolki ...

  3. App弱网测试与常用模拟工具

    iOS平台,通过自带的开发者选项 >Network Link Conditioner, 即可简单的模拟各种速度的网络情况: 通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddle ...

  4. 使用Network Emulator Toolkit工具模拟网络丢包测试(下)

    用户会在各种网络环境下使用我们的App,PC应用,我们决不能祈求用户的网络环境都是稳定的,因此我们需要模拟出弱网络的情况,用来测试我们的APP在弱网络环境下的表现如何.Network Emulator ...

  5. APP弱网测试

    APP弱网测试   App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...

  6. Xcode弱网测试工具

    Network Link Conditioner Network Link Conditioner工具是Mac下提供的一个弱网测试工具. 安装Network Link Conditioner Xcod ...

  7. APP弱网测试工具(QNET)

    QNET介绍官网链接:https://wetest.qq.com/product/qnet 目前在测试移动设备上进行弱网络专项测试的方案主要有两种: 通过Android设备连接到PC上进行弱网络测试, ...

  8. 『言善信』Fiddler工具 — 14、使用Fiddler进行弱网测试

    目录 1.什么是弱网测试 2.弱网环境的影响 3.弱网环境测试场景 4.使用Fiddler进行弱网测试 (1)Fiddler模拟弱网环境 (2)设置弱网的参数 (3)进行弱网测试对比 (4)恢复设置 ...

  9. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(15)-Fiddler弱网测试,知否知否,应是必知必会

    1.简介 现在这个时代已经属于流量时代,用户对于App或者小程序之类的操作界面的数据和交互的要求也越来越高.对于测试人员弱网测试也是需要考验自己专业技术能力的一种技能.一个合格的测试人员,需要额外关注 ...

随机推荐

  1. L296 EST 科技英语翻译-美学取向 (上)

    tips:对语言进行恰如其分的润饰,讲究词法.句法及篇章的粘连,增加可读性. 1 Accuracy 精确性 科技文章用词要求准确,尽量避免含糊不清和一词多义 dead air静空气 2 Paralle ...

  2. L264 how cats are psychopaths

    When Becky Evans started studying cat-human relationships, she kept hearing, over and over again, ab ...

  3. 2019-02-22 L231

    Scientists at the Massachusetts Institute of Technology have said lobsters could be key to creating ...

  4. MySQL Workbench将模型生成SQL文件出错

    采用MySQL Workbench 设计好表和表关系后,从 File | Export 菜单中,选择 Forward Engineer SQL CREATE Script(正向引擎), 将我们的模型生 ...

  5. HDU 6045 17多校2 Is Derek lying?

    题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=6045 Time Limit: 3000/1000 MS (Java/Others)    Memory ...

  6. SQL注入之Sqli-labs系列第一关

    在开始接触渗透测试开始,最初玩的最多的就是Sql注入,注入神器阿D.明小子.穿山甲等一切工具风靡至今.当初都是以日站为乐趣,从安全法实施后在没有任何授权的情况下,要想练手只能本地环境进行练手,对于sq ...

  7. shell 或 Makefile 学习网站

    1.http://man.linuxde.net/ 2.http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html

  8. Spring Boot 揭秘与实战(八) 发布与部署 - 开发热部署

    文章目录 1. spring-boot-devtools 实现热部署 2. Spring Loaded 实现热部署 3. 模板文件热部署 4. 源代码 Spring Boot 支持页面与类文件的热部署 ...

  9. 【error】'isnan' was not declared in this scope

    error问题 'isnan' was not declared in this scope isnan在cmath中被取消宏定义: // These are possible macros impo ...

  10. 百练8216-分段函数-2016正式A题

    百练 / 2016计算机学科夏令营上机考试 已经结束 题目 排名 状态 统计 提问   A:分段函数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序 ...