参考别人网址: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. 跨交换机划分vlan配置

    实验要求:使两台交换机上同一vlan的主机能够通信,不同vlan的主机不能通信 拓扑如下: 涉及内容有: 1.vlan的创建和划分 2.端口trunk模式的设置 配置如下: Switch1 enabl ...

  2. Spring Boot 揭秘与实战 源码分析 - 开箱即用,内藏玄机

    文章目录 1. 开箱即用,内藏玄机 2. 总结 3. 源代码 Spring Boot提供了很多”开箱即用“的依赖模块,那么,Spring Boot 如何巧妙的做到开箱即用,自动配置的呢? 开箱即用,内 ...

  3. Spring Boot 揭秘与实战(七) 实用技术篇 - 异步任务

    文章目录 1. Spring Boot 集成异步任务 2. 单发服务模式 3. 请求应答模式 4. 源代码 Spring 对异步任务具有很好的支持.这篇文章,我们透过 Spring Boot 来讲解下 ...

  4. Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks(paper)

    本文重点: 和一般形式的文本处理方式一样,并没有特别大的差异,文章的重点在于提出了一个相似度矩阵 计算过程介绍: query和document中的首先通过word embedding处理后获得对应的表 ...

  5. Hive错误:User root is not allowed to impersonate anonymous

    修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项: <property> <name>hadoop.proxyuser.root.h ...

  6. C++ Tips

    1. 虚函数不能是内联的 因为“内联”是指“在编译期间用被调用的函数体本身来代替函数调用的指令,”但是虚函数的“虚”是指“直到运行时才能知道要调用的是哪一个函数.”如果编译器在某个函数的调用点不知道具 ...

  7. Linux压缩文件笔记

    https://my.oschina.net/dongqianlin/blog/97168http://linux.it.net.cn/CentOS/fast/2017/0628/27029.html ...

  8. 05 面向对象:构造方法&static&继承&方法 &final

    构造方法及其重载: /* 构造方法格式特点 * a:方法名与类名相同(大小也要与类名一致) * b:没有返回值类型,连void都没有 * c:没有具体的返回值return; * 构造方法的重载 * 重 ...

  9. C++学习(三十一)(C语言部分)之 栈和队列(括号匹配示例)

    括号匹配测试代码笔记如下: #include<stdio.h> #include<string.h> #include <stdlib.h> #define SIZ ...

  10. hdu2174 kiki's game 博弈

    Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes th ...