App性能测试——网络测试

当前APP网络环境比较复杂,移动运营商网络有2G、3G、4G、5G网络,甚至未来的6G网络,以及越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用App造成一定影响。

另外,当前App使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果App没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。因此App网络测试,特别是弱网测试尤为重要。

网络测试要点

network

弱网测试

如何进行弱网测试

  • SIM卡的网络切换( 手机-设置-移动网络设置-网络类型选择,可以进行2G/3G/4G网络切换)
  • 具体弱网场景测试,常见场景包括:地铁/巴士、电梯、楼梯间、停车场
  • 使用虚拟机模拟网络速度,如用树莓派搭建的弱网测试仪。
  • 使用网络代理工具如CharlesFiddler,模拟不同的网络带宽、延时率、丢包率。

Charles弱网测试

  1. 启动charles,依次点击菜单:Proxy->Throttle Setting

Throttle Setting

  1. 勾选启动流量控制

Throttle Setting_detail

配置参数解析:

  • bandwidth :带宽,即上行、下行数据传输速度
  • utilisation: 带宽可用率,大部分是100%
  • round-trip latency:第一个请求的时延,单位是ms
  • MTU :最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
  • Reliability :指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
  • Stability :连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
  • unstable quality range:不稳定质量范围。

iOS设备弱网模拟

iPhone手机打开开发者选项:设置-开发者选项 > Network Link Conditioner 入口。
系统已经内置常见网络配置,也可以增加自定义配置。

logging

Network Link Conditioner

Network Link Conditioner type

Network Link Conditioner setting

具体配置参数:

  • in Bandwidth 下行带宽,即下行网络速度
  • In packet loss 下行丢包率
  • in delay 下行延迟,单位ms
  • out bandwidth 上行带宽
  • out packet loss 上行丢包率
  • out delay 上行延迟
  • DNS delay DNS解析延迟
  • protocol 支持Any,IPV4、IPV6
  • interface 支持Any,WI-Fi,cellular(蜂窝网)

Chrome弱网模拟

使用chrome的webview调试工具,缺点是只适用于web页面的弱网模拟。
具体步骤:

  1. 应用打开webview调试功能,具体如下:
1
2
3
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
  1. 手机链接电脑,运行APP,进入具体H5页面;
  2. chrome的DevTools中打开Webview:进入chrome://inspect/#devices,会显示已经连接设备,选中待调试webview的inspect
    network页面,No throttling下拉框,可以进行网络模拟。

chrome_network

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所发展,仅在日本普及。

2G

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。

3G

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。

4G

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毫秒。

验收标准

pass standard

最佳实践

best practice

参考资料