当前APP网络环境比较复杂,移动运营商网络有2G、3G、4G、5G网络,甚至未来的6G网络,以及越来越多的公共Wi-Fi
。不同的网络环境和网络制式的差异,都会对用户使用App
造成一定影响。
另外,当前App
使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果App没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR
、数据丢失等问题。因此App
网络测试,特别是弱网测试尤为重要。
网络测试要点
弱网测试
如何进行弱网测试
SIM
卡的网络切换( 手机-设置-移动网络设置-网络类型选择,可以进行2G/3G/4G网络切换)- 具体弱网场景测试,常见场景包括:地铁/巴士、电梯、楼梯间、停车场
- 使用虚拟机模拟网络速度,如用树莓派搭建的弱网测试仪。
- 使用网络代理工具如
Charles
或Fiddler
,模拟不同的网络带宽、延时率、丢包率。
Charles弱网测试
- 启动charles,依次点击菜单:
Proxy->Throttle Setting
- 勾选启动流量控制
配置参数解析:
bandwidth
:带宽,即上行、下行数据传输速度utilisation
: 带宽可用率,大部分是100%
round-trip latency
:第一个请求的时延,单位是ms
。MTU
:最大传输单元,即TCP
包的最大size
,可以更真实模拟TCP
层,每次传输的分包情况。Reliability
:指连接的可靠性。这里指的是10kb
的可靠率。用于模拟网络不稳定。Stability
:连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。unstable quality range
:不稳定质量范围。
iOS设备弱网模拟
iPhone手机打开开发者选项:设置-开发者选项 > Network Link Conditioner
入口。系统已经内置常见网络配置,也可以增加自定义配置。
具体配置参数:
in Bandwidth
下行带宽,即下行网络速度In packet loss
下行丢包率in delay
下行延迟,单位ms
out bandwidth
上行带宽out packet loss
上行丢包率out delay
上行延迟DNS delay DNS
解析延迟protocol
支持Any,IPV4、IPV6interface
支持Any,WI-Fi,cellular(蜂窝网)
Chrome弱网模拟
使用chrome的webview调试工具,缺点是只适用于web页面的弱网模拟。具体步骤:
- 应用打开webview调试功能,具体如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
- 手机链接电脑,运行APP,进入具体H5页面;
- chrome的DevTools中打开Webview:进入chrome://inspect/#devices,会显示已经连接设备,选中待调试webview的inspect network页面,No throttling下拉框,可以进行网络模拟。
2G~5G网络速率
要模拟不同网络,那么需要了解不同网络速率上下行频率与速率,这样测试起来才会更加接近实际的网络情况。首先我们看一下2G、3G和4G网络制式频段划分,特别提醒,以下内容多指我们国家的应用,部分制式还可能包含其它频段,速率部分也只是个参考值,实际应用还跟网络状况、级别甚至是运营商的RP都有关系,仅供参考。
2G
第二代移动通信技术,简称2G(Second Generation)。相对于前一代直接以模拟信号的方式进行语音传输,2G移动通信系统对语音系以数字化方式传输,除具有通话功能外,某些系统并引入了短信(SMS,Short message service)功能。在某些2G系统中也支持数据传输与传真,但因为速度缓慢,只适合传输量低的电子邮件、软件等信息。
2G技术基本上可依照采用的多路复用(Multiplexing)技术形式分成两类:一种是基于TDMA所发展出来的系统,以GSM为代表;另一种则是基于CDMA所发展出来的系统。
主要的第二代手机通信技术规格标准有:
- GSM:以TDMA为基础所发展、源于欧洲、目前已全球化。
- IDEN:以TDMA为基础所发展、美国独有的系统。被美国电信系统商Nextell使用。
- IS-136﹙也叫做D-AMPS﹚:基于TDMA所发展,是美国最简单的TDMA系统,用于美洲。
- IS-95﹙也叫做cdmaOne﹚:基于CDMA所发展、是美国最简单的CDMA系统、用于美洲和亚洲一些国家。
- PDC﹙Personal Digital Cellular﹚:基于TDMA所发展,仅在日本普及。
3G
第三代移动通信技术,简称3G(英语:3rd-Generation),规范名称IMT-2000(International Mobile Telecommunications-2000),是指支持高速数据传输的蜂窝网络移动电话技术。3G服务能够同时发送声音(通话)及信息(电子邮件、即时通信等)。3G的代表特征是提供高速数据业务,速率一般在几百kbps以上。
3G规范是由国际电信联盟(ITU)所制定的IMT-2000规范的最终发展结果。原先制定的3G远景,是能够以此规范达到全球通信系统的标准化。目前3G存在四种标准:W-CDMA、CDMA2000、TD-SCDMA、WiMAX。
4G
第四代移动通信技术(英语:The fourth generation of mobile phone mobile communication technology standards,缩写为4G),是3G之后的延伸。
从技术标准的角度看,按照ITU的定义,静态传输速率达到1Gbps,用户在高速移动状态下可以达到100Mbps,就可以作为4G的技术之一。4G包括TD-LTE和FDD-LTE两种制式。
有关部门对TD-LTE频谱规划使用做了详细说明:中国移动获得130MHz频谱资源,分别为1880 -1900MHz、2320-2370 MHz、2575-2635 MHz;中国联通获得40MHz频谱资源,分别为2300-2320 MHz、2555-2575MHz;中国电信获得40MHz频谱资源,分别为2370-2390 MHz、2635-2655 MHz。
5G
第五代移动通信技术(英语:5th generation mobile networks或5th generation wireless systems,简称5G)是最新一代移动通信技术,为4G(LTE-A、WiMAX-A)系统后的延伸。5G的性能目标是高数据速率、减少延迟、节省能源、降低成本、提高系统容量和大规模设备连接。
5G网络的主要优势在于,数据传输速率远远高于以前的蜂窝网络,最高可达10 Gbit/s,比先前的4G LTE蜂窝网络快100倍,另一个优点是较低的网络延迟(更快的响应时间),低于1毫秒,而4G为30-70毫秒。