专栏首页QA一隅APP性能测试—网络测试

APP性能测试—网络测试

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

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

网络测试要点

弱网测试

如何进行弱网测试

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

Charles弱网测试

  1. 启动charles,依次点击菜单:Proxy->Throttle Setting
  1. 勾选启动流量控制

配置参数解析:

  • 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、IPV6
  • interface 支持Any,WI-Fi,cellular(蜂窝网)

Chrome弱网模拟

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

  1. 应用打开webview调试功能,具体如下:
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下拉框,可以进行网络模拟。

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

验收标准

最佳实践

本文分享自微信公众号 - QA一隅(sutune2020),作者:Sutune

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-02-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • APP性能测试—功耗测试

    功耗,通俗的理解即电流通过导体使设备运行,导体本身的电阻将电能转换为热能的过程,因此,通常功耗测试也叫电量测试。

    清风穆云
  • APP性能测试—PerfDog

    PerfDog是一个移动全平台Android/iOS性能测试、分析工具。可以快速定位分析性能问题。手机无需ROOT/越狱,手机硬件、游戏及应用APP也无需做任何...

    清风穆云
  • 移动APP测试之android性能测试

      当应用实现了新功能后,准备发布版本前,必须进行性能测试以确定没有性能问题,内存使用情况便是其中必须要测试的性能之一。由于内存组成的复杂性,并没有简单通用的方...

    小老鼠
  • APP性能测试—帧率

    无论是手机端还是PC端,画面的流畅度一直被用户视为衡量应用视觉体验的重要标准。而对开发者来说,帧率(FPS)通常作为衡量应用是否流畅的标准。

    清风穆云
  • APP性能测试方便了

    可能很多人都不是做APP开发的,但这个工具非常有用,可以推荐给做APP的朋友,一定会帮到他 腾讯开源了一个APP调试平台 - GT GT(简称随身调)是可以直...

    dys
  • APP兼容性测试如何测试?

    随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP兼容性测试成为测试质量保障必须要考虑的环节。

    ITester软件测试小栈
  • Android APP性能及专项测试

    1、运行Monkey进行压力测试: adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 ...

    测试开发社区
  • App性能测试—CPU使用率

    CPU使用率是性能测试是一项重要指标,CPU占用过高会使得设备运行程序出现卡顿与发热,甚至出现应用程序Crash,影响用户体验。在排除硬件环境的限制下,应用程序...

    清风穆云
  • APP性能测试—启动耗时

    应用启动是整个App工序的第一道流程。对于开发者,一般需要在应用启动过程中进行初始化工作,启动页的UI展示。而对于用户来说,启动速度的快慢则极大地影响了使用体验...

    清风穆云
  • APP性能测试—过度绘制

    过度绘制就是在同一个区域中叠加了多个控件,也就是说一个像素点上会出现多个像素的叠加,实际上呈现在我们眼前的只是最上面的一个。

    清风穆云
  • Linux性能/网络测试综合脚本

    虽然网络上测试脚本有很多,但是没几个使用顺手的,于是今天花时间,修改编写了一个全新的Linux测试脚本。

    子润先生
  • 网络测试,带宽测试,流量测试

    节选自《Netkiller Testing 手札》网络测试章节 第 14 章 网络测试 目录 14.1. iperf3 - perform network t...

    netkiller old
  • 性能测试--3、性能测试过程

    在性能测试项目中大部分的时间花费在获取需求、验证需求以及实现需求上,只有这样才能为性能测试打下坚实的基础。其余的时间则用于录制事务脚本、执行性能测试和分析测试结...

    叨叨软件测试
  • 性能测试篇:入门性能测试

    性能测试一直是测试行业中比较难的一块,含金量比较高,工作经验越多工资越高,而且最近很多招聘中初级测试都要求会性能测试,要求越来越高了,那我们就一起学习性能测试吧...

    小雯子打豆豆
  • 性能测试-Jmeter性能测试实战

    接口地址:http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试

    用户6367961
  • 测试面试题集-性能测试

    性能测试是通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。验证软件系统是否能够达到用户提出的性能指标,发现系统中存在的性能瓶颈并加以...

    ITester软件测试小栈
  • APP性能测试工具PerfDog初探

    PerfDog是腾讯开发的,相关PerfDog Service服务介绍地址:https://wetest.qq.com/products/perfdog-ser...

    世平
  • APP性能测试工具iTest初探

    iTest由科大讯飞开发,官网:http://itest.iflytek.com/,支持监控Andorid系统(支持手机,平板,电视,车机等智能终端设备)以及应...

    世平
  • APP性能测试—内存使用率

    从操作系统的角度来说,内存就是一块数据存储区域,是可被操作系统调度的资源。在多任务(进程)的操作系统中,内存管理尤为重要,操作系统需要为每一个进程合理的分配内存...

    清风穆云

扫码关注云+社区

领取腾讯云代金券