一文了解,弱网测试的详细流程

软件测试呀 软件测试呀     2022-12-05     379

关键词:

当前APP网络环境比较复杂,网络制式有2G、3G、4G网络,还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。另外,当前app使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。

如果app没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。因此,app网络测试,特别是弱网测试尤为重要。本文梳理了app网络测试要点和弱网测试常用模拟方法,让大家对网络测试有一个全面的认识。

01APP网络测试要点
1、各个网络下功能测试

不同网络下,检查基本功能点
运营商移动、联通、电信接入点测试(需要使用实际SIM卡)
若有智能DNS功能,还需要关注运营商判断/归类
高延时、高丢包、无网、假热点也可归入弱网测试范畴
2、网络切换测试
部分APP有智能DNS功能,网络切换涉及DNS切换。
网络切换检测机制:Android可以监听系统广播

3、弱网测试
用户体验和异常处理是各个网络场景都需要关注的,只是弱网场景下,需要重点关注。

02弱网测试模拟

1、什么样的网络属于弱网
低于2G速率的时候都属于弱网,3G也可划分为弱网,一般Wi-Fi不划入弱网测试范畴。

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

配置参数解析:

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


Fiddler也可以进行弱网环境模拟

方法二:chrome的webview调试工具弱网模拟

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

具体步骤:

应用打开webview调试功能,具体如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) undefined
WebView.setWebContentsDebuggingEnabled(true);

手机链接电脑,运行APP,进入具体H5页面;
chrome的DevTools中打开Webview:进入chrome://inspect/#devices,会显示已经连接设备,选中待调试webview的inspect network页面,No throttling下拉框,可以进行网络模拟。

方法三:

iOS手机自带Network Link Conditioner 弱网模拟

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(蜂窝网)
具体步骤参考:



网络测试经典问题分享

场景一:弱网下,页面加载过程,程序闪退
原因:webview超时处理未在UI线程。toast、关闭页面等操作需要在UI线程
场景二:302跳转页面,达到内置超时阀值后,webview自动关闭
原因:业务有页面加载超时自动关闭的逻辑,超时机制未考虑302场景

房子要一层一层盖,知识要一点一点学。大家在学习过程中要好基础,多上手实操,话不多说,这里狠狠上一次干货!我熬夜整理好的各阶段(功能、接口、自动化、性能、测开)技能学习资料+实操讲解,非常适合私下里学习,比找资料自学高效多了,分享给你们。

领取关 w/x/g/z/h:软件测试小dao

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

app测试系列-超详细的app测试攻略,一文带你学会移动端测试

一.功能性测试:根据软件需求说明书或用户需求验证App的各个功能实现,使用如下方法测试并评估功能测试过程:1.采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提取App的用户使用场景,对... 查看详情

一文带你全面了解什么是自动化测试?

目录简介自动化测试概述自动化测试目标自动化测试流程1.测试计划和设计2.测试脚本开发3.测试执行和管理4.测试维护和优化自动化测试最佳实践自动化测试工具和框架结论简介软件测试是软件开发过程中一个必不可少的环节。... 查看详情

一文带你详细了解华为禁令事件的始末

上世纪70年代日本政府开始扶持半导体产业,组织了多家公司来整合半导体资源人才,以提升日本半导体芯片的技术水平。1980年日本拿下全球30%的半导体内存市场,5年后其世界市场占有率超过50%,将原先处于领先位置的美国甩... 查看详情

fiddler进行弱网测试的坑

用fiddler进行弱网测试的流程总结1、首先需要下载安装fiddler安装包,进行安装;2、安装好之后,打开fiddler,Rules->CustomizeRules,打开之后会有一个FiddlerScriptEditor文件弹出;在弹出的文件里找m_SimulateModem字段;这段代码就是模拟... 查看详情

弱网测试总结

一、【背景】弱网测试,属于健壮性测试的内容。随着国内移动端迅猛发展,大大增加用户碎片化使用使用APP的。想象一下,用户在地铁里,巴士上,甚至是电梯,车库等场景使用APP,我们就需要针对这些场景的弱网环境下,验... 查看详情

面向对象一文了解java继承(超详细超有趣)(代码片段)

目录引子何为继承超类和子类继承的实现子承父业类的继承层次类的继承路径青出于蓝——方法重写创新驱动发展命名冲突后继无人血脉相连——protected修饰符引子在具体讲解之前,先看下面两个程序(查看注释可以更... 查看详情

面向对象一文了解java继承(超详细超有趣)(代码片段)

目录引子何为继承超类和子类继承的实现子承父业类的继承层次类的继承路径青出于蓝——方法重写创新驱动发展命名冲突后继无人血脉相连——protected修饰符引子在具体讲解之前,先看下面两个程序(查看注释可以更... 查看详情

职场日常:一文剖析性能测试流程,时间为啥那么长?(代码片段)

...,为什么性能测试时间要长那么多呢?今天就用一文,带大家了解性能测试工作流程。这是一张性能测试工作流程导图。从数量上,流程环节并不多,但是,细心的人,可能会发现,这里有个性能... 查看详情

一文带你了解anr(测试人员)(代码片段)

一、首先,了解一下什么是ANRANR,是“Application?Not?Responding”的缩写,即“应用程序无响应”。系统会向用户显示一个对话框,用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。在Android中,应用程序的响应是... 查看详情

一文了解epaxos核心协议流程

简介: EPaxos(EgalitarianPaxos)作为工业界备受瞩目的下一代分布式一致性算法,具有广阔的应用前景。但纵观业内,至今仍未出现一个EPaxos的工程实现,甚至都没看到一篇能把EPaxos讲得通俗一点的文章。EPa... 查看详情

弱网测试--使用fiddler进行弱网测试

弱网测试原理以及方法(一)一、为什么要进行弱网测试?按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间、可用性、稳定性二、什么样的网络属于弱网?低于2g速率的时候都属... 查看详情

一文带你了解hive详细介绍hive与传统数据库有什么区别?

...么是埋点?如何进行数据埋点?【超详细介绍】一文搞懂什么是数据仓库(DataWarehouse)数据仓库与数据库区别有哪些?什么是元数据?本期终于要给大家介绍Hive了,为此我还花了好几个小时的写了如何安装Hive的... 查看详情

webrtc弱网测试分析(代码片段)

文章目录影响观看体验的是什么?网络差的具体表现弱网网络模型带宽受限型网络信道差错型网络WebRTC视频接收处理流程WhyFec?Nack的特点Jitterbuffer拥塞控制FECBuffer?实验影响观看体验的是什么?影响观看体验的主... 查看详情

app专项测试:app弱网测试(测试工具)

app专项测试:app弱网测试(测试工具)除了常用的fiddler,charles可以模拟弱网,还有硬件工具弱网仪HoloWAN也可以模拟弱网使用弱网仪有以下优点:1、即插即用,无需调试和复杂的部署,它就像一根网线一样透明的存在,可以串... 查看详情

一文带你了解自动化测试是什么?

📌博客主页:程序员二黑📌专注于软件测试领域相关技术实践和思考,持续分享自动化软件测试开发干货知识!📌如果你也想学习软件测试,文末卡片有我的交流群,加入我们,一起交流和学... 查看详情

弱网测试之序言

...事直播测试,更多的是功能测试。其他测试也不少,直播弱网测试不同于超文本的弱网测试,常用的fiddler并不能独立完成实时消息的限定。这里给出弱网测试的框架:本文基于两种思路实现1、基于fiddler+wanem完成2、基于硬件路... 查看详情

app弱网测试

使用工具Charles进行弱网测试背景:  遇到的问题:    1.弱网情况下,登录后台会报错(如:登录超时、空指针异常等等)    2.弱网情况下,连续多次点击,生成重复的记录    3.弱网情况下,页面加载失败导致崩... 查看详情

一文带你了解单元测试和基准测试干货(代码片段)

 在平时,通过代码实战部分你可以看到,在写每个功能的时候,都会编写测试代码。那是因为TDD(Test-DrivenDevelopment,测试驱动开发)中提倡先编写测试代码,然后再编写功能代码,每做一个修改... 查看详情