什么是弱网测试?为什么要进行弱网测试?怎么进行弱网测试?「建议收藏」

什么是弱网测试?由于处在移动互联网盛行的时代,网络形态除了有线连接外,还有2G/3G/4G/Wifi/5G等多种手机网络连接方式。首先额外补充一些5G的知识;2分钟了解什么是5G。在前不久结束的MWC2018上,5G成了全球的一个热门话题,而国内对5G的关注度也是异常地高。实际上,与2G、3G、4G相比,我国在5G方面的布局并不晚于其他国家;而且中国三大运营商在中国5…

大家好,又见面了,我是你们的朋友全栈君。

什么是弱网测试?

由于处在移动互联网盛行的时代,网络形态除了有线连接外,还有2G/3G/4G/Wifi/5G等多种手机网络连接方式。首先额外补充一些5G的知识;2分钟了解什么是5G。

在前不久结束的 MWC 2018 上,5G 成了全球的一个热门话题,而国内对 5G 的关注度也是异常地高。实际上,与 2G、3G、4G 相比,我国在 5G 方面的布局并不晚于其他国家;而且中国三大运营商在中国 5G 发展中的角色至关重要,因此它们在 5G 上的节奏基本上决定了整个中国 5G 的迈进步伐。

身为一个合格的测试人员,需要额外关注的场景就远不止断网、网络故障等情况了。还要对于弱网的数据定义,不同的应用所界定的含义是不一样且不清晰的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分。按照移动的特性来说,一般应用低于2G速率的都属于弱网,也可以将3G划分为弱网。除此之外,弱信号的Wifi通常也会被纳入到弱网测试场景中。

那么为什么要进行弱网测试?

确实有这种情况,就拿一款适配于低资源环境的医疗IT系统项目来说,而它的使用场景主要是在一些2G网络环境下,3G网都很少,并且稳定性也是比较差。因此,这款AP应用要想完成交付,就一定要在弱网状态甚至在没有网络状态下运行。

如何做弱网测试?

首先,只要搭建出来弱网环境,模拟一个弱网环境即可。可以通过软硬件方式两种。软件方式利用模拟网络参数来配置弱网环境,就可以达到目的。你也可以选择第三方,比如,Charles , Network link Conditioner 。 在各类网络软件中,主要就是对带宽、丢包、延时等进行模拟弱网环境。但是方式是由一定的弊端的,不是非常接近弱网络环境,想要更接近弱网环境,例如大多数专项测试,会更倾向于通过硬件方式来协助测试,但这种方式又会变得很麻烦,都是通过「树莓派」网维协助搭建!如果出现有些无法模拟的情况,只能靠人工移动到电梯、地铁等信号比较弱的地方。补充一点,软件方式的成本低且实施起来容易操作。

弱网测试的思路

弱网功能测试:2G/3G/4G、高延时、高丢包

无网状态测试:断网功能测试、本地数据存储

用户体验关注:响应时间、页面呈现&超时文案&超时重连、安全及大流量风险

网络切换测试:Wifi—-4G/3G/2G—–无网多状态切换

弱网功能测试

这一部分主要是在各种非wifi网络环境下进行的功能测试,同时模拟高延时和高丢包的异常网络环境进行健壮性测试。关注网页的响应时间、页面呈现是否完整一致等。高延迟和高丢包的网络环境需要借助工具来模拟,在windows环境下可以使用fiddler和network emulator for windows toolkit来模拟,在mac环境下则可以使用Charles和Xcode自带的开发环境网络异常模拟工具进行。工具的使用在工具篇具体介绍。

弱网功能测试建议将整体的功能测试用例在弱网环境下进行一轮测试,相同模块下的功能可以分多个网络条件进行测试。这部分发现的问题可能会有:页面图片在弱网环境下加载不出来(图片加载逻辑需优化)、需要模板的页面板式结构混乱(模板文件在弱网环境的加载需优化)、页面响应时间较长没有任何显示(页面显示逻辑优化、重试机制加入)等。

网络切换测试

这部分主要是进行几个不同网络场景的切换,包括wifi-2G/3G/4G、wifi-无网、2G/3G/4G-wifi、2G/3G/4G-无网、无网-2G/3G/4G、无网-wifi等。主要关注页面的显示与交互,尤其是弱网到wifi,wifi到弱网的情况,是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等。

用户体验关注

弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:

1)页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。

2)页面呈现是否完成一致。

3)超时文案是否符合定义,异常信息是否显示正常。

4)是否有超时重连。

5)安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。

6)大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126794.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HashMap的hash碰撞

    HashMap的hash碰撞看了看HashMap的源码,有些心得先写下,以便以后查看,不然又要忘了,但不知道对不对,希望没误人子弟吧。主要是解释下HashMap底层实现与如何解决hash碰撞的。HashMap底层是table数组,Entry是HashMap的内部类。可以看到HashMap的key与value实际是保存在Entry中的,next是下一个Entry节点。staticfinalEntry<…

    2022年6月22日
    26
  • 基于UDP编程_udp详解

    基于UDP编程_udp详解基于UDP编程1UDP是数据报协议,无连接的,不可靠,追求传输效率的一种通信协议数据的发送和接收是同步的.在进行通信之前,不需要建立连接.其传输效率比TCP高.对其服务器而言,并没有三次握手的过程.因此和TCP相比,少了被动监听(listen)和(accept).只需要创建通信设备,绑定IP地址和端口号.然后进行数据的收发.1.服务器端的编程模型创建一个socket端点,返回该端点的文件描述符fdsocket(2)2)将fd和本地地址绑定bind(2)while(1){3)阻塞等待

    2022年9月4日
    2
  • phpStudy中升级MySQL版本到5.7.17的方法步骤

    phpStudy中升级MySQL版本到5.7.17的方法步骤

    2021年10月22日
    28
  • PhpStorm 2021.5 激活码[在线序列号]

    PhpStorm 2021.5 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    39
  • BCG界面库_如何用vc设计界面

    BCG界面库_如何用vc设计界面BCGControlBarLibraryProfessionalEdition installation:整个库的源代码安装在\BCGCBPro 目录下面.可执行文件(*.dll)安装在\Bin (forVisualStudio6.0)或\Bin7 (forVisualStudio.NET)下面。请在你的源代码中做如下的改变:在应用程序的Inc

    2022年10月8日
    0
  • Java学习之final与匿名内部类篇

    Java学习之final与匿名内部类0x00前言续上几篇文章,得知子类继承父类后是可以在父类的基础上进行改写的,那么在程序中有些东西可能是不能让我们给轻易给改动的,那么Java给提供了final

    2021年12月11日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号