移动性能测试 移动弱网测试方案之一

rywu · 2014年02月19日 · 最后由 yufuchen 回复于 2019年04月18日 · 273 次阅读
本帖已被设为精华帖!

移动 app 在测试时,有时需要考虑弱网的情形下,app 的表现,那么怎么营造这样子的环境呢?

一、首先需要控制网络,有两种方式其一使用网络损伤仪进行,其二采用软件方式。硬件采购费用太贵,因此使用 win 平台下的 ShunraVESMBEditon 或者 Network Emulator for Windows Toolkit。两者都能达到控制丢包率,延迟等功能。考虑到 ShunraVESMBEditon 收费,接下来使用 Network Emulator for Windows Toolkit 软件。

二、手机 app 使用 wifi 连接到服务器,但是我们的控制软件控制的为电脑本身的网络。那么就需要将电脑自身有线网络转换为 wifi 供手机 app 使用。connectify 软件提供了该功能,将有线网络 share 出来。

安装、使用 Network Emulator for Windows Toolkit 软件
1 安装
下载地址:http://blog.mrpol.nl/2010/01/14/network-emulator-toolkit/
拥有 32 位和 64 位两个版本
2 使用
2.1 首先运行软件 Network Emulator Client
在菜单栏找到 Configuration →New link(新建链路)→设置 loss(丢包率)、latency(延时率)→设置成功点击"确定"

Connectity 安装
Connectify 下载地址:http://www.connectify.me/
运行软件比较简单
在 internet to share 选择 你的有线网卡

Share over 选择 Wi-Fi
Sharing Mode 选择 Wi-Fi Access Point,Encrypted(WPA 2)

然后点击 Start Hotspot,启动 wifi 后,就可以使用手机连接了。密码为 connectify 中 password,该域可编辑。

三、测试方案

考虑现有的 2G 网络,一般上行带宽在 8-15kb/s,下行 20kb/s-50kb/s。
单一场景:
上行下行均采用如下参数设置

网络丢包率 5% 10% 20% 50% 80%
缺陷个数

网络延迟时间 30ms 50ms 100ms 200ms 500ms
缺陷个数

带宽限制
上行
网络带宽 5kb/s 8kb/s 15kb/s 50kb/s 100kb/s
缺陷个数

下行
网络带宽 10kb/s 15kb/s 50kb/s 100kb/s 150kb/s
缺陷个数

混合场景(表格,不好编辑,暂时这样吧)

网络带宽 10kb/s 15kb/s 50kb/s 100kb/s 150kb/s
缺陷个数
丢包率

5%

10%

20%

50%

80%

完毕
本人对网络这块不是很熟悉,如果有好的建议和意见,请指出。谢谢!!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 36 条回复 时间 点赞

受教了,我一般是找个电梯或者地下室等信号不好的地方,实地的测试!哈哈

我之前测试的软件在弱网状态下会崩溃!

很不错啊,这个方法可以应用到电脑上么?比如我测试网页应用?

Cool!
弱网的我一直让运维大哥帮忙在路由那做设置(他的用那个软件不是文中说的,但好像很流弊的样子,有控制丢包率限制带宽这些功能~他说运维手里都会有些类似的工具~)。
Connectity 之前用过,配置时总出错~后来改用 wifi 共享精灵来做的~

rywu #5 · 2014年02月20日 Author

#3 楼 @lihuazhang 这个控制 pc 的有线,可以尝试下。

rywu #6 · 2014年02月20日 Author

#4 楼 @mingway_hu linux 平台下有个 nistnet。也可以控制丢包率,限制带宽。没有使用过,但是网络上有教程。

Network Emulator 这个可用 我们做 PC 上游戏的网络测试也是用的这个~

iOS 设备中有设置网络的选项,可以控制丢包等情况

#4 楼 @mingway_hu 可以尝试使用 160wifi,我觉得分享 wifi 更好用

#10 楼 @jakewendao 哦哦,有看过那个,wifi 共享精灵、160wifi、Connectity 功能都类似~

#9 楼 @lihuazhang ios 设备和 Mac 开发机用数据线连接过后(连接再拔掉数据线也可以,如果重启手机的话就会消失),设置中有 “开发者” item(在社交工具 item 下面,airport 等 item 的上面),点击进入后又 Network LInk Conditioner 选项,进入之后可以自定义 in/out packet loss delay 等等
如果想控制某个特定请求的话,一般用 fiddler 代理来做

你的弱网应该指的是 weak signal area,这之前公司我有做过 field trail,这个是需要做的,不过测试环境是找到这种区域,比如说地下停车场,你这种解决方法给了 local 进行弱网测试的解决方案,不错!

linux 下有个类似的工具:tc
功能强大,而且简单易用

#15 楼 @lihuazhang
tc 非常强大,控制丢包、网络延迟只是其中很简单的功能
这里有篇文章介绍了其中一部分功能:
http://bhjsj04516.blog.51cto.com/714720/225210

----------本楼绝不是广告帖,说到弱网测试,向各位朋友推荐下 WANem---------------

网络损伤模拟推荐使用塔塔开源的优秀开源镜像 WANem,灵活的路由添加模式,强大的带宽,随机丢包率,突发丢包等模拟机制,提供方便的 WEB 管理界面,能够模拟出互联网真实的损伤环境。开源地址:http://www.oschina.net/p/wanem 我个人和一个同事维护了一个该镜像的中文版本 CCWANem。

CCWANem 对基于 KNOPPIX 的 WANem 进行了汉化及优化,重新打包制成了独立的中文版镜像文件,换句话说:
不用再等官方的语言包了,这是一个独立的镜像版本,完整汉化。

WANem:

模拟常见带宽和自定义带宽
设置丢包/延时,随机丢包,突发丢包
配合各种参数

我们将其应用在了我们通信产品的弱网测试中,特别是互联网复杂环境下的模拟,WANem 都能胜任。

CCWANem 的 SF 地址以及 Wiki 上我写上了简单的使用例程

http://sourceforge.net/projects/ccwanem/

在 linux 环境有没有好的弱网络模拟软件?

#18 楼 @yunmu 14 楼的筒子有提到 linux 下有个 tc。。。你可以 @ 他问下~

弱弱的问一下 上行带宽 和下行带宽 在哪里设置的 ?

楼主,求 之二。

我下载了,发现不太会用。有详细的操作步骤吗?万分感谢!

1.tc,利用 linux,控制网卡网速,利用路由器提供 wifi 服务,即可达到,可以控制延迟和丢包。
2.android 手机利用 iptable,定制防火墙规则。ios 手机开发者模式上带有一个 ios 提供的简单弱网

我是用 Fiddle 把手机和 PC 连接,然后再 Fiddle 上配置上下行速率来配置弱网。不过这个只能改网速,不能改丢包率之类的

25楼 已删除

#3 楼 @lihuazhang 那个软件本来就是设置电脑网卡参数的,只是通过 wifi 共享了手机连到那才对移动端测试起的作用

刚好用到,多谢了

WANem,不错,简单易用,很容易维护

很好,感谢

按照作者给出的思路,先安装了 Network Emulator for Windows Toolkit。添加 link 后设置了网络延迟时间 100ms 及丢包率 5%(上行/下行宽带参数一致)。然后安装了 Connectify,将 pc 网络 share 出来,命名为 M。后手机 wifi 连接 M,发现网速还是很强,达不到我限制网速的要求。
求助:
1.我理解为 Network Emulator for Windows Toolkit 的作用是对 pc 端的 wifi 限速,然后通过 Connectify 将 pc 端 wifi 分享出来。如果我的理解是对的 ,怎么来确定我对 pc 端的 wifi 限制参数成功。

工具安装上面的思路设置后,没有任何效果。是否有详细的配置信息

rywu #33 · 2016年02月02日 Author

#31 楼 @eat_an_apple 可以使用其他电脑连接共享 wifi,然后测试他的延迟等。尝试了下使用 360wifi 硬件替换 connectify,应该更稳定些

—— 来自 TesterHome 官方 安卓客户端

求教 我在 windows 64 位系统上使用该软件 导入设置好的丢包率文件后 点击 start 按钮后,一直提示我 failed to create virtual channel 这是为什么呢?

tester 弱网测试方法整理 中提及了此贴 02月10日 01:38

几年之前,在测端游的时候,用这个软件模拟过弱网进行测试,但后来不知道为啥,软件突然就不好使了。。
不管怎么说,感谢分享!

Network Emulator for Windows Toolkit 建议不要在在 windows10 环境中使用,相同配置,在 win10,start 即断网,无法进行弱网模拟,未找到原因和解决方法。相同的网络配置在 win7 中能够正常使用。

lyoul 回复

我最近也在使用这个工具,同样遇到你回复中提到的问题,正在找 win7 的机器试验。看到你的回复就像看到希望了一样,谢谢。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册