app专项测试:app弱网测试

弱网测试背景

用户体验

APP使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易伤害用户体验

非正常情况下,Bug出现几率会增加

在解决日常支持需求中,经常出现一些用户反馈的Bug无法复现,有很大部分是因为用户的网络不稳定导致,导致出现一些意想不到的BUG

APP异常

延迟和丢包

crash/崩溃:应用在使用是会有对话框提示(应用已经停止运行)

闪退:在使用应用时,无征兆退出返回桌面(native层体现,不易抓取Log)

ANR:应用无响应

网络测试要点

弱网测试关注指标

丢包

丢包是最常见的问题。在TCP协议中,需要不停的发送请求,来确认连接状态,一旦发生丢包,就需要重传。此时需要建好擦产品的处理机制,给予什么提示,如果未响应该如何处理。

延时

延时也是最常见的问题。由于网络环境太差,产生了网络波动,导致数据包在传输的时候出现抖动。可能出现请求超时的现象。此时也需要给予提示,或有其他处理方式。

弱网测试工具

fiddler:模拟网络延时场景

Network  Emulator Toolkit:模拟网络丢包场景

 fiddler模拟网络延时场景

第一种:启用模拟低网速环境路径【 Rules/Performances/Simulate Modem Speeds】,启用后你会明显感觉到网速相对之前变慢了许多,尤其是在资源文件比较大的时候。

第二种: 限速设置

 或者快捷键【Ctrl + R】直接打开 fiddler 规则脚本页面,查找到如下红框所示的内容

时间单位对应为 毫秒,为每上传/下载 1KB 所需耗时。根据所需测试、开发场景所需进行计算设置即可。

PS:设置后【 Rules/Performances/Simulate Modem Speeds】会默认取消勾选,需再次自行启用,设置才会生效。

网络设置参考

 

Network  Emulator Toolkit模拟网络丢包场景(windows网络)

 创建一个过滤器:configuration---》new filter,点击add,如下:

 接着,创建一个新的连接configuration ---》 new link ,创建好如下:

 我们将上行和下载的丢包率都设置为0.03,确定后,点击工具栏上的三角符号开始,再次ping路由:

 

APP弱网测试

 弱网使用工具:

 iOS平台:通过自带的开发者选项 》Network Link Conditioner, 即可简单的模拟各种速度的网络情况:
安装平台:通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddler, charles。

Charles操作:延迟设置 》选择相应的网络延迟设置或者自定义延迟 》开启延迟即可,如图:

app弱网测试要点

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

APP网络测试要点

1、各个网络下功能测试

不同网络下,检查基本功能点
运营商移动、联通、电信接入点测试(需要使用实际SIM卡)
若有智能DNS功能,还需要关注运营商判断/归类
高延时、高丢包、无网、假热点也可归入弱网测试范畴

 

2、网络切换测试

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

3、弱网测试

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

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

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

5、使用弱网仪 HoloWAN网络损伤仪器

网络测试经典问题分享

场景一:弱网下,页面加载过程,程序闪退。
原因:webview超时处理未在UI线程。toast、关闭页面等操作需要在UI线程。

场景二:302跳转页面,达到内置超时阀值后,webview自动关闭。
原因:业务有页面加载超时自动关闭的逻辑,超时机制未考虑302场景。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

库的操作【MySQL】

文章目录 创建数据库字符集和校验规则概念分类例子 查看数据库显示创建语句修改数据库删除数据库备份和恢复备份恢复 创建数据库 SQL: CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSETcharset_name] [[DEFAULT] COLLATEcollation_name];其中,大写的单…

xhadmin多应用Saas框架之超级SEO应用介绍

xhadmin是什么? xhadmin 是一套基于最新技术的研发的多应用 Saas 框架,支持在线升级和安装模块及模板,拥有良好的开发框架、成熟稳定的技术解决方案、提供丰富的扩展功能。为开发者赋能,助力企业发展、国家富强,致力于…

面对史上最难求职季,哪些测试技能更容易拿到offer?

在一线大厂,没有测试这个岗位,只有测开这个岗位。这几年,各互联网大厂技术高速更新迭代,软件测试行业也正处于转型期。传统的功能测试技术逐步淘汰,各种新的测试技术层出不穷,测试人员的薪资也水涨船高。与…

ChatGPT 助力英文论文翻译和润色

文章目录 一、前言二、主要内容1. 中英互译2. 中文润色3. 英文润色 三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 随着全球化的推进,跨文化交流变得越来越重要。在学术领域,英文论文的质量对于研究成果的传…

JAVA设计模式全解(独家AI解析)

JAVA设计模式全解(独家AI解析) 一、JAVA介绍二、JAVA设计模式六大原则三、JAVA设计模式介绍四、JAVA设计模式详解4.1 单例模式4.1.1 懒汉式(Lazy Initialization)4.1.2 饿汉式(Lazy Initialization) 4.2 代…

nginx配置负载均衡--实战项目(适用于轮询、加权轮询、ip_hash)

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

制药企业固体制剂设备管理及维护要点

在制药企业的生产过程中,固体制剂设备是至关重要的一环。有效管理和维护这些设备对于确保生产质量、提高生产效率以及延长设备寿命至关重要。本文将从以下三个方面介绍制药企业固体制剂设备的主要类型、常见管理问题以及设备维护的关键要点。 制药企业固体制剂设备主…

java智慧工地云平台源码,以物联网、移动互联网技术为基础,结合大数据、云计算等,实现工程管理绿色化、数字化、精细化、智能化的效果

智慧工地将更多人工智能、传感技术、虚拟现实等高科技技术植入到建筑、机械、人员穿戴设施、场地进出关口等各类物体中,围绕人、机、料、法、环等各方面关键因素,彻底改变传统建筑施工现场参建各方现场管理的交互方式、工作方式和管理模式,智…

分析概览 文章管理 草稿管理 图片管理 站点管理 主站 关于 登出 手写操作系统项目----进程

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家来访。 这里记录了,手写操作系统项目中关于进程的部分。 进程四要素 首先进程有四要素。 …

Linux软件包和进程管理

一、RPM软件包管理 1、RPM管理工具 (1)RPM是红帽包管理(Redhat Package Manager)的缩写。 由Red Hat公司提出的一种软件包管理标准。 是Linux各发行版中应用最广泛的软件包格式之一(还有debian的发行版deb安装包)。 RPM功能通过…

数据结构:选择题+编程题(每日一练)

目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:单值二叉树 思路一: 题二:二叉树的最大深度 思路一: 本人实力有限可能对…

MySQL的索引——索引的介绍及其数据结构B+树 索引的类型 索引的使用及其失效场景 相关名词解释

前言 索引是存储引擎用于快速查找数据纪录的一种数据结构,索引是数据库中经常提及的一个词,究竟什么是索引,索引的数据结构是什么,索引有什么类型? 本篇博客尝试阐述数据库索引的相关内容,涉及什么是索引…

用 Java 在 PDF 中创建和管理图层,实现交互式文档

PDF 图层(也称为可见图层或附加图层等)是组织和管理 PDF 文档中内容可见性的一种方法。PDF 图层可用于创建交互式文档、隐藏或显示特定信息、创建多语言版本文档等。通过添加和删除图层,用户可以根据需要定制 PDF 文档指定内容的可见性与显示…

适用于物联网的UI设计工具都有哪些?

随着科学技术的飞速发展,“万物相连的互联网”时代逐渐成为现实。如今,物联网已经不是什么新词了。事实上,早在各种屏幕设备诞生之前,人们就与物理世界交织在一起,产生了无数的互动。如何将人们多年积累的互动经验与物…

蓝桥杯 Java 青蛙过河

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改/**二分法从大(n)到小找足够小的步长前缀和记录每个位置的前面有的总石头数(一个石头表示可以容纳一个青蛙,一位置有多少个石头hi就是多少)&…

025-第三代软件开发-实现需求长时间未操作返回登录界面

第三代软件开发-实现需求长时间未操作返回登录界面 文章目录 第三代软件开发-实现需求长时间未操作返回登录界面项目介绍实现需求长时间未操作返回登录界面实现思路用户操作监控QML 逻辑处理 关键字: Qt、 Qml、 QTimer、 timeout、 eventFilter 项目介绍 欢迎…

秋季期中考复现xj

flow analysis 1 What is the backdoor file name that comes with the server?( Including file suffix) 服务器自带的后门文件是什么?(含文件后缀) 题目还要求最后把那个文件名MD5一下,再去提交 开始的前三题是流量分析的&…

发挥服务器的无限潜能:创意项目、在线社区和更多

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…

设计模式:观察者模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

上一篇《命令模式》 下一篇《策略模式》 简介: 观察者模式,它是一种行为型设计模式,它允许一个对象自动通知其依赖者(观察者)状态的变化。当被…

Windows Server服务器下的Linux子系统

导读Windows、Linux看似死敌一对,但其实微软对于开源实业还是相当支持的,Windows 10系统内就首次内置了一个Linux子系统(Windows Subsystem for Linux/WSL),允许开发者模拟Linux环境,而且有需要的可以直接从Windows应用商店下载SU…