浅谈专项测试之弱网络测试

一.弱网络测试背景
移动端产品的使用并非完全都是在流畅的wifi环境,大部分用户主要使用4G,3G,2G等网络,另外因为移动端产品使用的场景多变,如进公交,上地铁,坐电梯,使得弱网测试显得尤为重要。考虑到各种场景的客户端展示及容错,提升产品的印象和用户体验,提高产品的健壮性,弱网测试必不可少。

二.弱网络测试建议
网下需要进行功能点测试,无网络测试,网络切换测试等,测试过程除了关注功能点的实现,还应关注用户体验等各个方面

三.弱网络测试通用功能点总结

四.弱网络测试用例实例

 

五. Fiddler模拟弱网

1.手机设置上网代理

(1)启动Fiddler,打开菜单栏中的Tools-Fiddler Options,打开Options

(2)对话框

(3)在Fiddler Options对话框,点击Connections,勾选Allow romote computers toconnect后面的复选框,点击OK按钮

 (4)在本机cmd里面输入:ipconfig,找到本机的ip地址

(5)打开Android设备的设置-WALN,找到和电脑连的一样的网络,长按-修改网络,弹出网络设置对话框,找到代理选择手动,主机名(电脑ip地址),端口8888(跟fiddler设置一致),然后点击确定按钮

2.Fiddler模拟限速环境

(1)设置端口号8888(保证没被占用)

(2)重启Fiddler

(3)手动设置上行,下行速率 网络取值算法:1000/下载速度=需要delay时间(毫秒),比如50kb/s,需要delay200毫秒来接收数据

Rules-Customize Rules-CTRL+F查找(SimulateModem),然后修改速率

2G/3G建议上下行速率如下:

网络

上行(ms)

下行(ms)

2G

15

50

3G

384

2800

 

 

 

 (4)设置模拟调制解调器的速度rules-performance-simulate modem speeds -保存

(5)重启Fiddler

 六.常见问题及原因

1.上传大图,多图,视频,文件时,在弱网环境下出现进度条走到一半卡住然后又从头开始。

原因:采用分段上传方式,在请求超时时间到时,分段传输没有结束,代码逻辑不对,导致每次重试都重头上传,一直循环。

2.在弱网络环境下容易出现登录不上或者登陆上马上掉线;

原因:登录没有缓冲机制,而请求超时时间的设置没有区分同网络情况;解决方案:针对wifi、2g、3g、4g设置不同的超时时间。

3.刷新页面很快就给出暂无内容的提示,明显没有到请求超时时间;

原因:可能是连接超时时间太短,wifi下设置两秒,在弱网络下需要加长。

4.弱网络环境下,请求的数据返回时间较长,等待的过程中,如果页面上的相关控件仍然可以操作,则有可能出现闪退现象;

原因:依赖数据的控件操作,在数据返回前没有做兼容处理。

5.逻辑错误。比如:购买时扣费和获得不一致,领取物品没到账等。

6.页面显示错误。比如:页面重叠。

7.用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,

数据下载过程中、下载失败后,未进行数据回滚,中止后重新下载,出现数据重复

进行数据回滚,中止后重新下载,出现数据重复。

8.用户点击数据上传,数据上传过程中网络弱且不稳定,基于联网状态自动触发数据上传,导致出现数据重复写入,形成脏数据

9..在弱网环境下,用户输入用户名和密码点击登录,应用链接超时后,按照强网业务逻辑处理,导致返回超时异常。

10.在弱网环境下,用户输入用户名和密码后点击登录,数据下载超时,加载数据严重依赖于后来的异步加载。数据还没来得及返回,应用跳转到下个activity,导致崩溃。

11.弱网环境下某个操作响应时间

原因:APP用户对等待时间容忍度低,若弱网环境loading超过5s,用户很容易kill应用后再次进入应用

12.弱网环境下直至超时,UI界面友好度&APP是否稳定

原因:容错机制主要是考虑弱网情况下带来的不稳定,常见的问题是:loading超时导致ANR or crash

【测试点】弱网环境直至超时,判定为断网状态,UI界面和提示,友好且理解无歧义

13.断网后环境下,是否自动重发请求

原因:不同模块,开发对请求处理不同。测试前可了解,代码是否支持自动重复请求,自动重发请求的频率是什么?

【测试点】断网后恢复网络,是否堆积网络请求(目前来说理财模块 当10s左右无返回 则会重发请求),此时请求和返回正常情况下,是否出现异常情况。比如1次支付操作,断网后堆积多个支付请求,恢复网络后因堆积多个支付请求,是否完成多次支付。

ps:断网后恢复网络,考虑APP进行操作目的是否对伤害用户体验,通过哪种手段可以达到操作目的同时用户体验无感或者低伤害

14.弱网络环境下,请求的数据返回时间较长,等待的过程中,如果页面上的相关控件仍然可以操作,则容易出现异常现(闪退现象、触发底部时获得原页面请求数据)

原因:依赖数据的控件操作,在数据返回前没有做兼容处理

15.搜索时输入关键字会连续发请求,停下时,显示最终的关键字搜索结果,但很快又会被前面的关键字搜索结果覆盖了;

原因:中间的请求返回较慢,显示了最终的结果后,之前的请求返回的数据应不做处理。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

 

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

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

相关文章

QT-JSON相关API/QJsonDocument/QJsonObject

QJsonObject类的相关操作 格式化排版创建JSON对象,使用字符串创建JSON对象,使用标准JSON对象获取JSON对象中的值,非数组获取JSON对象中的值,数组 格式化排版 下面的代码将一个符合JSON格式的字符串,格式化成具有缩进格…

HCIA基础知识

IP地址、静态路由、动态路由、交换机 OSPF RIP DHCP VLAN ACL NAT OSI TCP/IP UDP TCP 三次握手,四次挥手,报头 什么是网络? 由网络连接设备通过传输介质将网络终端设备连接起来,进行资源共享、信息传递的平台。 OSI七…

【C】函数指针 int (*addPtr)(int, int);

目录 函数指针1)定义2)声明和赋值3)通过函数指针调用函数4)用途:函数指针作为函数参数5)函数名和函数指针6)复杂一点的例子 函数指针 1)定义 在C语言中,函数指针是指向…

智慧校园云桌面解决方案应用场景

​​​​​​教师办公解决方案 教师办公桌面现状 大多数学校一位教师配置一台个人计算机,实际上每位教师平时会使用到的计算机资源不超过15-20%,因此多数时间个人计算机都是处在闲置状态。教师常用的办公用机一般都使用台式机,所有的数据都存放在本地(“信息孤点”),根…

如何购买腾讯云服务器?图文教程超详细

腾讯云服务器购买流程很简单,有两种购买方式,直接在官方活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动…

​MyBatisPlus的批量插入方法saveBatch时速度缓慢​

一、场景描述 项目组在使用MyBatisPlus的批量插入方法saveBatch时速度缓慢,插入1w条数据,需要近1分钟的时间。 二、解决方案 解决方案很简单,在数据库配置的uri后面加上下面这个属性即可: urlxxxxxxxxxxxxxxxxxxxxxx?rewriteB…

2024年学鸿蒙开发就业前景怎么样?

随着科技的不断进步,鸿蒙系统作为华为自主研发的操作系统,逐渐引起了人们的关注。 2024年,鸿蒙开发就业前景如何? 对于那些对鸿蒙开发感兴趣并希望在这一领域寻找职业发展的人来说,这是一个非常重要的问题。 首先&a…

【cuda】三、矩阵相乘与coalescing writes(合并写操作)

Matrix Multiplication and Optimization 线程块 功能 并行执行:线程块是一组同时执行的线程。它们共同执行分配给它们的任务资源共享:线程块内的线程可以共享数据和同步执行。通过共享内存(Shared Memory)和同步原语&#xff…

[渗透测试学习] Hospital - HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描一下端口 发现8080端口和443端口有http服务 然后发现3389端口是启用了ms-wbt-server服务 在对443端口的扫描没有收获,并且只有邮箱登录界面无法注册 接着看向8080端口,我们随便注册用户登录后发现有文件上传功能 getshell …

Python科学计算进阶:数值积分与微分求解算法应用在Python

在Python中进行科学计算时,数值积分和微分是非常常见的操作。下面我将介绍几种常用的数值积分和微分求解算法,并给出Python代码示例。 一、数值积分 矩形法 矩形法是一种简单的数值积分方法,它使用矩形近似代替被积函数。这种方法虽然简单&a…

利用淘宝/天猫API实现商品数据的实时获取、处理与分析

随着电子商务的飞速发展,对电商平台的数据需求越来越高。对于商家而言,实时获取商品数据是关键。淘宝和天猫作为中国最大的电商平台,提供了丰富的API接口,其中包括按关键字搜索商品API。本文将详细介绍如何使用淘宝/天猫提供的API…

【SpringMVC】—— 如何配置使用SpringMVC(详细步骤)

目录 引言 使用 1、新建模块 2、导入坐标 3、创建SpringMVC控制器类 4、初始化SpringMVC环境 5、初始化Servlet容器,加载SpringMVC环境 6、配置运行 引言 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架,SpringMVC是表现层(web层)的框架,也…

.Net6使用SignalR实现前后端实时通信

代码部分 后端代码 (Asp.net core web api,用的.net6)Program.cs 代码运行逻辑: ​1. 通过 WebApplication.CreateBuilder(args) 创建一个 ASP.NET Core 应用程序建造器。 2. 使用 builder.Services.AddControllers() 添加 MVC 控…

两周掌握Vue3(五):自定义指令、路由、ajax

文章目录 一、自定义指令1.创建和使用自定义指令2.钩子函数3.使用参数 二、路由1.创建一个router实例2.在components目录中创建组件3.将路由实例挂载到应用4.使用路由 三、Ajax 代码仓库:跳转 当前分支:05 一、自定义指令 自定义指令是Vue.js框架提供的…

揭秘返利机器人的工作原理与实现思路

揭秘返利机器人的工作原理与实现思路 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我将为你揭示返利机器人的工作原理与实现思路,让你…

基于Springboot的善筹网(众筹网-有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的善筹网(众筹网-有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…

人生当努力

"认定一个目标,便专心致志地向那里走,其余一切都置之度外,这是成功的秘诀,也是免除烦恼的秘诀"—朱光潜 最近有和亲友讨论是否要和别人比,是否要赢的问题.我觉得需要.软弱,实力弱的人才不去比较.如果不和别人比,你如何知自己差在哪儿?连差距都不知,又如何进步.不是…

Vue入门七(Vuex的使用|Vue-router|LocalStorage与SessionStorage和cookie的使用)

文章目录 一、Vuex1)理解vuex2)优点3)何时使用?4)使用步骤① 安装vuex② 注册vuex③ 引用vuex④ 创建仓库Store五个模块介绍 5)基本使用 二、Vue-router三、LocalStorage与SessionStorage、cookie的使用 一…

ChatGPT Plus 经验分享:是否值得花钱升级?

ChatGPT Plus 经验分享:是否值得花钱升级? 五星上将麦克阿瑟曾经说过:“在有钱与没钱面前,我选择了or” ChatGPT 的每月订阅方案- ChatGPT Plus 已经推出一段时间了,目前的费用是$20 USD / 月(约TWD 610 / 月)。 Open…

Spirng MVC见解1

1. SpringMVC概述 1.1 MVC介绍 MVC是一种设计模式,将软件按照模型、视图、控制器来划分: M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为数据承载Bean&#x…