常见的网络环境
App在使用的过程中,难免会遇到各种复杂的网络环境。常常会出现网络异常、上行或下行超时,导致应用中出现丢包。
所以,我们要对app在上线前做一定场景的弱网络环境测试,并查看app在各种网络环境下是否存在某些未知的问题。下面是我们常见的几种网络环境:
- 正常的 WiFi
- 4G
- 3G
- 2G
- 高延时
- 高丢包
- 假热点
- 无网离线状态
模拟网络环境
iOS 预置网络环境
Apple在 iOS 系统中预置了网络调试工具,添加测试设备并使用XCode连接设备激活开发者模式。将手机系统中“设置 —> 开发者 —> NETWORK LINK CONDITIONER ->Enable” 打开即可。
预制的网络环境.png说明:
-
图中是系统中预制的网络环境,也可以根据不同需求自己配置相应的网络环境;
-
开启后影响的是整个系统的网络环境,所以测试完毕后不要忘记关掉;
自定义配置网络环境
根据不同的需求配置相应的网络环境,需要了解配置选项的含义,以100% Loss为例看看具体的配置及含义:
网络环境配置参数.png说明:
- 带宽:
带宽,是数据的传输能力,指单位时间内能够传输的数据量。
上行带宽(速度)指的是上传的速度,而下行带宽(速度)指的是下载数据的速度。 - 丢包率:
丢包,是指在通信中是指通信数据包丢失;丢包率是指所丢失数据包数量占所发送数据组的比率。 - 延迟:
网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。
网络延迟程度:
1~30ms:极快,几乎察觉不出有延迟,玩任何游戏速度都特别顺畅;
31~50ms:良好,可以正常游戏,没有明显的延迟情况;
51~100ms:普通,对抗类游戏能感觉出明显延迟,稍有停顿;
100ms以上:差,无法正常游戏,有卡顿,丢包并掉线现象
- DNS延迟:
DNS的作用就是根据域名查出IP地址;在解析的过程中出现延迟。 - IPv4/IPv6 的Protocol选『Any』即可;
各种网络环境的设置可参考下图进行配置:
网络环境 | 上/下行带宽(kbps) | 上/下行丢包率(%) | 上/下行延迟(ms) | DNS延迟(ms) |
---|---|---|---|---|
2G | 20/50 | 0/0 | 500/400 | 0 |
3G | 330/2000 | 0/0 | 100/100 | 0 |
4G | 40000/80000 | 0/0 | 15/10 | 0 |
正常WIFi | 33000/40000 | 0/0 | 1/1 | 0 |
带宽有限环境 | 32/32 | 0/0 | 200/100 | 0 |
低丢包率、低时延的环境(上行) | 33000/40000 | 10/0 | 100/100 | 200 |
低丢包率、高时延的环境(上行) | 33000/40000 | 10/0 | 350/350 | 350 |
低丢包率、低时延的环境(下行) | 33000/40000 | 0/10 | 100/100 | 200 |
低丢包率、高时延的环境(下行) | 33000/40000 | 0/10 | 350/350 | 350 |
低丢包率、低时延的环境 | 33000/40000 | 10/10 | 100/100 | 200 |
低丢包率、高时延的环境 | 33000/40000 | 10/10 | 350/350 | 350 |
高丢包率的环境(上行) | 33000/40000 | 90/0 | 100/100 | 200 |
高丢包率的环境(下行) | 33000/40000 | 0/90 | 100/100 | 200 |
高丢包率的环境 | 33000/40000 | 90/90 | 100/100 | 200 |
网络超时(响应) | 33000/40000 | 0/100 | 100/100 | 200 |
网络超时(请求) | 33000/40000 | 100/0 | 100/100 | 200 |
网络超时(100%丢包) | 33000/40000 | 100/100 | 100/100 | 200 |
无网(飞行模式) |
弱网场景下的测试:
- 弱网下的功能测试
一般的功能测试都是在正常的Wi-Fi网络环境下进行的,为了保证程序的稳定性,至少应在一种弱网环境下(建议在iOS预置的100%Loss、Very Bad Network、High Latency DNS中选择一种)将所有功能测试过一遍。
- 弱网下响应超时的异常处理
a. 加载状态
加载过程中,检查加载图标、加载文案、Loading、进度条的正确性。
b. 响应超时:
不同的功能及页面根据业务的需要,应设置合理的超时限制;
响应超时处理:
1) 超时提示
商店数据加载、登录、收藏等操作,请求超时时,页面显示友好明确的异常提示;
2) 超时重连
购买、上传播放记录、下载等重要或不可重复的操作,超时或断网后,检查是否重新发送请求;
3) 稳定性
弱网情况下等待超时,检查使用网络功能的稳定性,有无异常闪退;
- 无网状态测试
a. 无网时请求网络操作(下载、注册登录、购买等),友好提示;
b. 已下载的音频可播放,缓存在本地的数据显示正常;
c. 无网状态的某些操作(播放列表、播放记录等),有网时上传;
- 大流量下网络形态测试
蜂窝网络情况下,下载、观看视频等大流量功能,询问用户是否使用蜂窝网络
网友评论