iTesting软件测试知识分享

如何模拟不同网络环境及设置丢包率?

我们的产品近期收到关于网络情况的很多反馈,学生在上课过程中和老师的视频,音频有时候会不那么流畅,这个时候我们需要知道导致网络问题的原因是什么,
于是开发了一个新的功能来显示当前网络的联通情况,这种情况下,就需要我们测试不同的网络连接质量下产品的稳定度,显然我们需要模拟不同的网络情况,
那么有没有好用的工具呢?

我们开始使用chrome浏览器自带的throtting,不过它只能模拟不同的网络情况无法设置丢包率等。
经过搜索,发现了NetWork Enulator Client, 它是一款简单易用的工具,可以模拟不同的网络情况包括丢包率等等。

使用如下:

  1. 安装好后打开,新建一个channel:
  2. Channel建立好后,还在configuration选项里,选择new Filter, 在弹出的选项里,选择你要的网卡,我们这里全选。
  3. 新建立一个Link,Configuration->New Link,

    然后在新建立的link上,点击右键,设置incoming/outcoming的丢包率。


    设置好后保存,点击开始按钮,就可以了。
    说明:
    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)

PS:
进入到cmd, ping自己的网关地址,就可以观察自己的设置是否起效。

🐶 您的支持将鼓励我继续创作 🐶
-------------评论, 吐槽, 学习交流,请关注微信公众号 iTesting-------------
请关注微信公众号 iTesting wechat
扫码关注,跟作者互动