Fiddler做弱网测试
网络测试在手机App应用中很常用,包括了想不同网络环境的网络切换,强网弱网的情况下应用的表现
网络切换
2G-3G-4G-5G互相切换
移动网和wifi互相切换
强网--弱网--无网互相切换
Fiddler做手机弱网测试
原理是用Fiddler做手机的代理服务器,通过限制网络的请求和响应时间,达到弱网环境
首先做一些设置:
确保手机和Fiddler所在的电脑在同一个网络中,手机上连接电脑所在网络,Fiddler所在的电脑设为手机的代理服务器,Flddler这边可以勾选上能抓远程的包,记得设完重启
然后就是如何用Fiddler设置弱网环境,这个容最后再表,咱们先简单看看弱网测试的思路。
针对我们App的某些关键(没网影响赚钱的)业务进行弱网测试
弱网测试基本思路
1、测试正常网速时,业务的响应情况(弱网测试前提当然是正常网时功能没毛病先~)
2、将网速调整正常网速的80%,测试支付的响应情况,期望?软件实际情况?(一般来说,这个网速还是能凑合的,所以我会希望他功能能够正常实现,慢一点问题不大)
3、将网速调整正常网速的50%,测试支付的响应情况,期望?软件实际情况?(慢成这个样子要考虑用户的感受了,比如如果是在支付时,可能转账请求已经发送,订单请求还没请求,那这时要考虑实际情况,是交易挂起还是,能够稍后补发)
4、将网速恢复成80%,测试支付的响应情况,期望?软件实际情况?
5、将网速恢复成100%(这个之所以要考虑,是确实有时候那个应用会在网络已经正常了,界面却还一直在哪转圈圈)
6、将网速调整正常网速的20%(突袭!秘技——网络突然拉闸之术)
无论如何,在这些测试过程中都不要出现App无响应,App崩溃,数据不同步的情况
使用fiddler工具设置网络延迟
在工具栏中找到Rules,从名字很显而易见这个功能是用来干嘛的了。再到Rules列表中找到Customize Rules,这个时候会弹出一个类似于文本编辑器的东西:
这段代码其余的都不用管,只需要知道request-trickle-delay代表的是网络请求的延迟时间,response-trickle-delay代表的是网络响应的延迟时间,单位都是毫秒,这里默认给的是300毫秒和150毫秒,所以,只需要修改这2个值即可模拟网络延迟和弱网络环境了,比如可以修改上述2个值为:2000和2000,代表网络请求延迟2秒,网络响应延迟2秒:crtl+s保存
开始网络延迟
接下来就可以开启网络延迟了,还是我们的Rules功能中,找到Performance,然后在子选项中可以看到一个Simulate Modems Speeds,选中它,大功告成,网络延迟已经开启,如果需要关闭网络延迟,再次点击即可。
扩展弱网络规则
可能我们在测试中不会想要一个一直虚弱的网络环境,而是随机强弱的网络,这样比较贴切我们的真是情况,那么我们可以修改上述代码为:
这里的randInt(1,2000)应该很好理解,代表1-2000中的一个随机整数,这样就会出现偶尔有延迟偶尔网络又良好的情况
1 static function randInt(min,max) { 2 returnMath.round(Math.random()*(max-min)+min); 3 } 4 if(m_SimulateModem) { 5 //Delay sends by 300ms per KB uploaded. 6 oSession["request-trickle-delay"] =""+randInt(1,2000); 7 //Delay receives by 150ms per KB downloaded. 8 oSession["response-trickle-delay"] =""+randInt(1,2000); 9 }