当前位置: 首页 > news >正文

测试技巧:弱网测试

弱网测试场景

当前APP网络环境比较复杂,网络制式有2G、3G、4G网络,还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。另外,当前app使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果app没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。因此,app网络测试,特别是弱网测试尤为重要。本文梳理了app网络测试要点和弱网测试常用模拟方法,让大家对网络测试有一个全面的认识。

网络测试经典问题(弱网)

场景一:弱网下,页面加载过程,程序闪退

原因:webview超时处理未在UI线程。Toast、关闭页面等操作需要再UI线程。

场景二:302跳转页面,达到内置超时阀值后,webview自动关闭

原因:业务员有页面加载超市自动关闭的逻辑,超时机制未考虑302场景

APP网络测试要点

1、各个网络下功能测试

不同网络下,检查基本功能点

运营商移动、联通、电信接入点测试(需要使用实际SIM卡)

若洋浦只能DNS功能,还需要关注运营商判断/归类

高延时、高丢包、无网、假热点耶可归入弱网测试范畴

2、网络切换测试

部分APP有智能DNS功能,网络切换涉及DNS切换。
网络切换检测机制:Android可以监听系统广播

3、弱网测试

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

弱网测试模拟

模拟环境配置

1、怎么样的网络属于弱网?

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

2、如何进行弱网测试

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

3、网络数据配置参考

android弱网测试

测试工具:charles、faddler

使用前提:安装java环境(建议安装JDK8)

配置参数如下:

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

charles弱网测试:

前提:查看charles开放端口号,点击proxy → proxy Settings 查看,默认情况下  Charles的默认连接端口号为8888

  1. 确保手机与电脑处于同一个局域网(一般手机连接,电脑连网线,他们都经过同一个路由器/电脑手机连接同一个wifi)
  2. 查看电脑的ip地址(cmd命令行提示符输入ipconfig)

 

我的电脑:cmd查看ip地址

 

查看手机的局域网ip

 

手机设置

 

 

Charle另外功能:抓包与过滤

 

注意事项:如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。

代理失败情况:

1、检查电脑和手机有没有连接的同一个wifi,必须连接的同一个网

2、更换charles和移动端设备的端口,默认是8888,可以改成其他的试试

3、有可能路由器设置的ap间不能相互访问,需要登录路由器,需要登录路由器。进行修改。把用户间访问的对勾勾上。

4、关闭电脑的防火墙。试试首先,如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。如果以上方法还是不行的话,那么请将手机wifi位置的ip地址设置成静态ip,然后重启charles工具。

5、代理后手机无法上网情况:

一般情况下,当用户手机配置完代理后电脑charles会弹出一个弹框,如果没有出现点击Proxy->Access control settings,添加你的手机IP。
(1) 将help -> Local IP Addresses 中的本地IP手动写入到:Proxy -> Access Control Settings中

第二种方法:
在 Proxy -> Access Control Settings中添加个:0.0.0.0/0。
在Charles中的Proxy setting中如下勾选并配置端口号

Charles测试配置步骤:

  1. 首先,打开Charles,在Throttle Settings中设置网络状况点击proxy---》throttling settings
  2. 勾选【enable throttling】使得限制网速可用,相当于开启了限制网宿的功能
  3. 关于网速的选择

概念介绍:Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(最大传输单元)

3G:300k-2Mbps左右

2.5G(GPRS)一般在100kbps

2G(GSM)一般在5-9kbps

如果不习惯自定义设置带宽等,可直接在Throttle Preset下拉列表中选择,按照顺序,网速逐渐提升

只对某地址的请求进行弱网测试,勾选【only for selected hosts】

 

进行这项操作后,可观察到小红旗处于工作状态

 

然后打开sequence查看每个请求的执行情况

 

上图中可以看到每个请求的大小(size),以及请求的状况(status)。

 

web弱网设置

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


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

2、浏览器测试

IOS手机wifi弱网测试

如果在设置中没有找到开发者工具,则需要使用工具将其打开,注意重开机开发者工具会自动隐藏

1、使用xcode打开:https://zhidao.baidu.com/question/1450315882336635100.html

2、使用iTunes打开:https://jingyan.baidu.com/article/0a52e3f4edcf59bf62ed7229.html

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(蜂窝网)


具体步骤参考:

设置

开发者工具

网络

WiFi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-2686.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

PMP哪里报名

首先了解下PMP考试时间,一年四次,正常情况是每年3、6、9、12月份考试; 其次了解PMP考试需要两次报名,分别是英文报名和中文报名;且两次报名通过后,才能正常考试。 下面分别介绍PMP英文报名和PMP考试中文报…...

c++程序设计中虚基类,多继承知识点

一.前言 如上 二.题目 分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派 生出新类Teacher_Cadre(教师兼干部)类。要求: (1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 (2&a…...

FFmpeg:avcodec_encode_video()

本文简单分析FFmpeg的avcodec_encode_video2()函数。该函数用于编码一帧视频数据。avcodec_encode_video2()函数的声明位于libavcodec\avcodec.h,如下所示。 /*** Encode a frame of video.** Takes input raw video data from frame and writes the next output p…...

SpringBoot中必须掌握的45个注解

1.SpringBoot/spring SpringBootApplication: 包含Configuration、EnableAutoConfiguration、ComponentScan通常用在主类上; Repository: 用于标注数据访问组件,即DAO组件; Service: 用于标注业务层组件; RestController: …...

侯捷CPP---面向对象(上)

侯捷CPP---面向对象(上)前言头文件防卫式声明class 分类不带指针的class(complex)成员变量私有化inline function(内联函数)构造函数常量成员函数参数传递返回值传递友元函数操作符重载临时对象带指针的cla…...

使用注解开发

1; 2.mapper 2.测试...

苏宁易购启动六一宝宝节,首提“共情消费”

5月26日晚8点,苏宁易购六一宝宝节掰头大会在多个平台播出。六一宝宝节全面启动。 六一宝宝节定位于打破营销套路,打破传统电商促销节奏。它是大促,更是一场成年人释放压力、共情消费的盛典。 掰头大会灵魂辩题 开启宝宝节 六一宝宝节的启…...

设计一个windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList

设计一个windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList,该类包含一个Student集合,使用索引器访问该集合。 (1)创建一个Windows应用程序Myproject6_1。 …...

python笔记19年8月23日

-------------py打包exe教程------------ 准备好需要转换的py文件和一张用于做图标.ico的照片 将他们存放于同一个文件夹中,文件的路径全部为英文路径 1.利用cmd窗口安装pyinstaller插件 指令 :pip install pyinstaller 2.使用cd指令到py文件夹 3.执行命令 pyinstaller -F -i X…...

系统集成模拟3-55分

1、合同法律关系是指由合同法律法规调整的在民事流转过程中形成的(权利义务关系) 2、当已经采取了多种沟通方式还未能与用户达成一致时,应考虑沟通升级原则-双方高层沟通 3、数据域安全包括:行级数据域安全,数据域安全…...

Centos7 配置DHCP

实验内容及步骤 1、实验背景 某企业计划构建一台 DHCP服务器来解决IP地址动态分配的问题,要求能够分配 IP地址以及网关、DNS等其它网络属性信息。同时要求DHCP服务器为DNS、WEB、Samba服务器分配固定IP 地址。 2、网络拓扑 略. 3、实验环境 假设企业DHCP服务器…...

JVM常见配置汇总

堆设置 -Xms:初始堆大小-Xmx:最大堆大小-XX:NewSizen:设置年轻代大小-XX:NewRation:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRation:年轻代中Eden区与两个Survivor区的比…...

从类,API,框架三个层面学习如何设计可复用软件实体的具体技术学习心得

从类,API,框架三个层面学习如何设计可复用软件实体的具体技术学习心得软件复用概述软件复用概念软件复用的软件支持三方面讲述软件复用类代码复用设计的复用分析的复用测试信息的复用Liskov替换原则 ——LSPAPI框架软件复用概述 软件复用概念 软件复用(…...

惠普(HP) Officejet Pro 8610商用彩色喷墨一体机

专业彩色打印件的单页成本比激光打印机低 50%,从而在日常打印中节省更多打印成本。无论您身在何处,均可通过任意移动设备进行打印。 借助惠普“云打印”技术,您现在可以随时随地,随心打印。使用智能复印解决方案,创建完美无瑕的副本,同时轻松打印双面身份证。专业彩色打印…...

easyPOI和导入复杂excel的各种坑

//easyPOI的依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.3</version> </dependency>//要操作pdf,word还是用原生poi比较好 <dependency><groupId>org.…...

用直流电机测转速——测速发电机标定实验

测速发电机标定实验 文章目录测速发电机标定实验1 测速发电机原理和应用1.1 原理1.2 应用2 硬件搭建3 实验数据4 总结1 测速发电机原理和应用 1.1 原理 直流电机同时也是一个发电机。也就是说&#xff0c;当直流电机被通入直流电的时候&#xff0c;会将电能转化为机械能&…...

httprunner_locust_场景1:登录1次,添加10次地图

场景1&#xff1a;任务执行 > login执行1次&#xff0c;addtitle执行10次 from locust import HttpUser, task, SequentialTaskSet, between import json# 场景1&#xff1a;任务执行 > login执行1次&#xff0c;addtitle执行10次 class FlashTask(SequentialTaskSet): …...

Actor模型

传统的游戏服务器要么是单线程要么是多线程&#xff0c;过去几十年里CPU一直遵循摩尔定律发展&#xff0c;带来的结果是单核频率越来越高。而近几年摩尔定义在CPU上已然失效&#xff0c;为什么呢&#xff1f; 大于在2003年左右&#xff0c;计算机的核心特性经历了一个重要的变…...

冠美会计

...

C1任务03-Web基础与布局

文章目录任务一:使用富文本编辑器任务二:所见所得 式开发拓展任务:CSS盒子模型任务一:使用富文本编辑器 描述:制作表,让表格隔行换色.加入JavaScript按钮弹出框. 富文本编辑器 <style>.cl{color:red}table,tr,td{border:1px solid; padding:5px 20px 5px 0;font-size:10…...

赶紧收藏!javasocket聊天室和私聊

前言 这些算法&#xff0c;都是小编一点一点看的大佬们的方法&#xff0c;自己积累的. 如果有什么描述的不对的地方还望大佬赐教 多交流才能进步&#xff0c;加油&#xff0c;冲冲冲&#xff01;&#xff01;&#xff01; RPC概述 RPC(Remote Procedure Call)即远程过程调用&a…...

2021-06-01 中小型物流企业仓库管理中存在的问题

中小型物流企业信息化程度虽然在近几年有所提高&#xff0c;但物流信息化程度仍有待加强&#xff0c;同时存在以下问题&#xff1a;物流信息化程度较低&#xff0c;订单电子化水平明显不高&#xff0c;许多工作尚停留在手工作业阶段&#xff0c;导致员工工作效率不高&#xff0…...

C1任务二

任务点1.网络抓包 进入网址&#xff1a;http://temp.blog8090.com/ 输入手机和姓名 提交表单 打开控制台network 返回http://temp.blog8090.com/ 打开F12查看并修改元素 输入信息&#xff1a;手机&#xff0c;姓名&#xff0c;暗号 并提交表单 至此&#xff0c;任务点一完成…...

诚意分享:这里有份超全Java体系化进阶学习图谱

摘要 Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log)&#xff0c;之后成为Apache项目的一部分。 成千上万的企业都在使用Kafka&#xff0c;三分之一的世界500强公司也在其中&…...

Burp Suite功能介绍

一、概述 Burp Suite 是用于攻击web 应用程序的集成平台&#xff0c;包含了许多工具。BurpSuite为这些工具设计了许多接口&#xff0c;以加快攻击应用程序的过程。 &#x1f449; 下载及安装过程 二、工具栏功能简介 1. Dashboard(仪表盘) 主要分为三块&#xff1a;Tasks(任务…...

Ant Design Vue实现a-table表格单元格合并

Ant Design Vue实现a-table表格单元格合并 参考Ant design Vue官网关于行和列合并api https://antdv.com/components/table-cn/ 下面官网对表格合并这块的描述 &#xff01;&#xff01;&#xff01;注意注意注意重要事情说三遍&#xff1a;很多同学都习惯性的将columns写在d…...

Android Studio如何导出apk文件

我们平时写Android&#xff0c;大多数情况是在模拟器上运行调试。但实际开发中&#xff0c;有许多大型项目&#xff0c;比如无人车的操控&#xff0c;需要将应用放到遥控器上调试成功才行。有时候&#xff0c;大家也想把做好的APP放到自己手机上试一下。这时候&#xff0c;我们…...

ann2snn的代码分析

首先&#xff0c;主函数是if_cnn_mnist_work.py 1.输出snn测试结果的就是这么一些代码&#xff1a; utils.pytorch_ann2snn(model_namemodel_name,norm_tensornorm_tensor,test_data_loadertest_data_loader,devicedevice,TT,log_dirlog_dir,configconfig)2.ctrl鼠标左键点击py…...

PMP哪里报名

首先了解下PMP考试时间&#xff0c;一年四次&#xff0c;正常情况是每年3、6、9、12月份考试&#xff1b; 其次了解PMP考试需要两次报名&#xff0c;分别是英文报名和中文报名&#xff1b;且两次报名通过后&#xff0c;才能正常考试。 下面分别介绍PMP英文报名和PMP考试中文报…...

Python中最常见的10个问题(list)

列表是Python中使用最多的一种数据结果&#xff0c;如何高效操作列表是提高代码运行效率的关键&#xff0c;这篇文章列出了10个常用的列表操作&#xff0c;希望对你有帮助。 1、迭代列表时如何访问列表下标索引 普通版&#xff1a; items [8, 23, 45] for index in range(…...

扫外部二维码进入小程序,并且在小程序内获取二维码链接

首先确定生成的二维码链接 如&#xff1a;https://ewm.com?nameewm01&keerrmm配置小程序规则&#xff1a;如&#xff1a;https://ewm.com?name登录小程序配置二维码规则 链接&#xff1a;https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html#%E4%BA%…...

怎样做到微信支付二维码链接,单独跳转?

weixin://wxpay/bizpayurl?prfQrYYGd 像这种支付二维码链接 微信内才能打开 怎么才能做到单独跳转 怎么让微信打开这个链接呢 &#xff1a;code_url &#xff08; weixin://wxpay/bizpayurl?pradsfaf&#xff09;&#xff0c;半天没搞定&#xff0c;望高手出来给个办法。 微…...

Java前后端分离项目生成二维码链接带中文参数遇到的问题及解决办法

遇到的问题 最近项目做二维码分享链接过程中遇到了个小问题&#xff0c;使用Java后端生成二维码链接时&#xff0c;当拼接的参数中带有中文&#xff0c;使用手机浏览器扫码正常&#xff0c;但是用微信扫码&#xff0c;url中的中文被和谐掉了&#xff0c;导致页面显示有问题。 …...

Java生成二维码链接或解析二维码

Java生成二维码链接或解析二维码生成二维码1、引入二维码插件2、Controller 获取生成二维码链接3、Service 接口4、Service 接口实现类5、Util 工具类解析二维码生成二维码 1、引入二维码插件 <!-- 二维码 --> <dependency><groupId>com.google.zxing</…...

微信支付 生成付款二维码链接 并生成支付二维码图片 .net C#

//生成付款二维码链接string pay_url PayURL(order_id_parent.ToString(), _total_fee.ToString());if (pay_url ! "")create_two(order_id_parent.ToString(), pay_url);private void create_two(string order_id_parent, string pay_url){//QRCodeEncoder qrCodeE…...

科乐美秘籍哈哈哈

上上下下左右左右BA <script>var kkeys "",konami_str "38384040373937396665",konami_array [38, 38, 40, 40, 37, 39, 37, 39, 66, 65];document.addEventListener(keyup, function (e) {let key_code e.keyCode;if (konami_array.indexOf(ke…...

如何将pdf生成二维码链接?

越来越多的产品说明、电子图书、公司文告、网络资料、电子邮件内容都在开始使用pdf格式来呈现。大家纷纷把图文内容转换成PDF格式&#xff0c;这样传阅起来更加直观和便捷。 在一些场合下&#xff0c;直接传阅PDF文档给大批量的人是不现实的。所以&#xff0c;这就催生了PDF二…...

微信公众号二维码 链接

http://open.weixin.qq.com/qr/code/?usernamemeitianxinlixue 参数【username】就是微信号。 http://mp.weixin.qq.com/mp/qrcode?scene10000001&size102&__bizMjM5NzAwNzMwMQ 参数【__biz】就是微信号ID。 该公众号的一篇图文链接mp.weixin.qq.com/s?__bizMjM…...

通过支付宝二维码链接直接调起支付宝支付

项目里面遇到要通过支付宝二维码调起支付宝应用支付的功能&#xff0c;做完之后在此记录一下&#xff1a;Intent intent new Intent(Intent.ACTION_VIEW);Uri uri null;try {uri Uri.parse("alipays://platformapi/startapp?saId10000007&qrcode" URLEncode…...

Qrcode生成二维码链接地址,网页授权获取微信用户信息

&#xff08;1&#xff09;一个简单的二维码地址生成使用easywechat扫描获取微信用户的信息&#xff1a; 首先生成二维码链接这里引用的QrCode生成的 QrCode::size(300)->generate($url]); url为扫描二维码所跳转的地址 &#xff08;2&#xff09;当用户扫描二维码跳转至…...

奥特曼系列艾斯愿望服务器序号,泽塔奥特曼:泽塔的寓意是最后的勇士,蕴含了艾斯哥哥最大的愿望...

艾斯哥哥终于在泽塔奥特曼里登场了&#xff0c;这次我们还看到了艾斯奥特曼与宿敌亚波人的对线&#xff0c;超兽巴拉巴体内就拥有亚波人的力量。另外就是贝塔冲击终于习得了新的技能&#xff0c;整体来说本周的故事还是相当精彩的&#xff0c;同时我们也是看到了泽塔奥特曼与艾…...

PPT(office365)常见操作技巧

一、批量更改字体、形状、图片等对象格式 选中已调整好的对象格式&#xff0c;左键快速双击格式刷图标两下&#xff0c;单后左键单击要更改的对象&#xff0c;修改完成后&#xff0c;按ESC退出&#xff1b; 二、建立PPT默认字体 设计→变体→字体→自定义字体&#xff0c;选择…...

office ppt放映时,视频无法播放

问题&#xff1a;office ppt放映时&#xff0c;嵌入视频无法播放&#xff0c;但是不放映的时候可以播放。 office版本如下&#xff1a; 解决方法&#xff1a;安装wps&#xff0c;演讲完毕&#xff0c;卸载wps。...

极速office2021怎么在PPT里面给文字添加批注

PPT里面&#xff0c;我们有时需要给文字添加批注&#xff0c;那么怎么批注呢&#xff1f;以最常用的极速office2021为例。 首先&#xff0c;选择需要添加批注的文字&#xff0c;如图&#xff1a; 接着&#xff0c;在“插入”菜单栏里面找到“批注”项目&#xff0c;如图&#…...

office PPT插件

记录几个PPT插件 目前看下来只有ISlide支持Mac&#xff0c;其他的都只支持Win。...

Office PPT录屏功能

新建一个ppt 在 插入 的选项卡里找到媒体一栏 会发现确实有屏幕录制的功能&#xff0c;但不出意料的话应该是灰色的 这时候选择 文件 选项卡&#xff0c;将文件类型改成 .pptx 然后点击保存&#xff0c;再回到 插入 选项卡中会发现屏幕录制的功能可以用了...

LVGL---复选框(lv_checkbox)

目录 1.复选框(lv_checkbox) 2.零件和样式 3.用法 4.事件处理 5.按键控制 1.复选框(lv_checkbox...

PPT中插入高亮代码——PPT对象

以下使用wps为例&#xff1a; 新建一页ppt 插入对象&#xff0c;选择 doc 文档 然后将代码粘贴进doc文档对象中&#xff0c;最好是从vscode中复制出来的&#xff0c;本身会带代码高亮格式。 保存后 关闭doc对象&#xff0c;可以看到ppt中有了矢量高亮代码。 双击对象&#xf…...

Microsoft Office PPT如何批量修改所有页文本框的字体大小、种类以及颜色

1. 上方&#xff0c;视图——大纲视图 左侧改变 2. 点击每一页前的方框&#xff0c;然后按 ctrla 键 选中 全选 3. 上方切换到开始即可修改...

Win10系统 Office2010程序打开PPT文档报错“此应用无法在你的电脑上运行

文章目录1 问题描述2 解决方法1 问题描述 在windows10上安装的office2010 使用启动菜单中的microsoft PowerPoint2010程序直接打开PPT文档报错“此应用无法在你的电脑上运行”&#xff0c;但是先打开microsoft PowerPoint2010空白程序&#xff0c;再从程序中打开文件又不会报错…...