弱网测试出现的问题解决思路

2023-11-06

摘自弱网测试时碰到的问题和解决方案再加上自己的一些遇到的解决~

 

1.没进入到后台,可以在前端请求开始时候加个定时器。在请求完毕,或者一定时间,删除定时器。

 

2. 现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致。

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

解决方案 :通过事务处理(批处理)数据下载逻辑,这里可以是,下载失败后,应用本地数据库进行数据回滚。

 

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

原因:数据上传过程中, 由于失败重传机制,会出现连续两次写操作,并且未做唯一识别处理

解决方案 :根据数据特性,对可能造成脏数据的地方,通过关键字段,例如创建时间,key-value值等生成hash键,标记记录唯一性,即数据写入时,检查hash键是否存在,如果已经存在,当前重复数据丢弃。

 

4.现象:在弱网环境下,用户输入用户名和密码点击登录,应用链接超时返回用户名和密码错误提示。

原因:在弱网环境下的连接超时后,按照强网业务逻辑处理,导致返回超时异常。

解决方案 : 弱网连接超时后,检查应用本地数据库是否有用户登录信息,若存在,获取应用本地用户信息进行登录。

 

5. 现象:在弱网环境下,用户输入用户名和密码后点击登录,登录过程中应用崩溃并且闪退。

原因:弱网环境下数据下载超时,加载数据 严重依赖于后来的异步加载。数据还没来得及返回,应用跳转到下个activity,导致崩溃。

解决方案 :健壮数据加载流程,通过标记后台数据下载状态加载界面,依赖数据下载完成后,再进行页面跳转。

 

6. 现象:弱网络环境下,用户请求页面响应时间较长,等待的过程中,页面上的部分控件仍然可以操作,当用户点击控件时,出现应用闪退现象;

原因:没有对数据加载流程进行判断,直接暴露控件可控,当出现依赖数据的控件操作时,没有在数据返回前做兼容处理。

解决方案 :在数据加载过程中,设置页面对外暴露的控件为“不可操作”,当数据加载完再释放。

 

7.现象:在弱网环境下,用户第一次输入搜索关键字没有得到响应后,再次输入全新关键字并发送请求,等待搜索结果返回后,当前结果页被之前的关键字搜索结果刷新覆盖

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

解决方案 :对异步请求未完成的任务进行cancel.

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

弱网测试出现的问题解决思路 的相关文章

  • 男人必读 --看了永不后悔,女人想看也可以进去……

    1 事业永远第一 虽然金钱不是万能的 但没有钱是万万不能的 虽然这句话很俗 但绝对有道理 所以30岁之前 请把你大部分精力放在你的事业上 事业远比爱情重要 如果说事业都不能永恒 那么爱情只能算是昙花一现 记 得那首 没有钱你会爱我吗 的歌吗
  • rsync使用时的常见问题

    rsync使用时的常见问题 错误1 rsync read error Connection reset by peer 104 rsync error error in rsync protocol data stream code 12
  • 电子小模块

    1 步进电机 ULN2003驱动板4相5线 一一一一一一一一一一一一一一一一一一一一一一一一一一一一一 2 红外传感器模块 https pan baidu com s 1QR Z4Qq02ViaVl8wyyoWeg 提取码 knbw 一一一
  • MongoDB中空间数据的存储和操作

    本文使用官方C Driver 实现在MongoDB中存储 查询空间数据 矢量 空间数据的存储 本例中 从一个矢量文件 shapefile格式 中读取矢量要素空间信息以及属性表 并写入到MongoDB中去 其中读取shapefile文件以及将
  • 7大嵌入式开发技巧,你知道吗?

    成为一个正式的工程师 它是一个艰辛的过程 需要开发人员维护和管理系统的每个比特和字节 从规范完善的开发周期到严格执行和系统检查 开发高可靠性嵌入式系统的技术有许多种 今天给大家介绍7个易操作且可以长久使用的技巧 它们对于确保系统更加可靠地运
  • 牛客网-做题笔记

    网易有道2017内推选择题 XML数据结构有且只有一个根节点 可以嵌套 XML解析分为三种 SAX解析 PULL解析和DOM解析 求循环队列元素个数 rear front Max Max 非循环队列 元素个数为 rear front 1 程
  • 二进制、十进制、八进制、十六进制 各代表的英文字母是什么

    二进制是Binary 简写为B八进制是Octal 简写为O十进制为Decimal 简写为D十六进制为Hexadecimal 简写为H
  • 关于md文件插入视频链接的方法。(亲测可用)

    md文件中插入了HTML5的代码 如下
  • 【gitlab项目迁移】

    需求 将gitlab项目从A组迁移到B组 经查 有两种方式 一种是项目在网页压缩后export 再import 另一种是终端操作 但是我的项目分支过多 文件过大 30M左右 方法一会报错文件过大 最后采取方法二 方法1 网页端导入 可以参考
  • RISC-V、ARM和X86架构

    1 要了解X86 ARM和RISC V架构的区别 就得先了解复杂指令集 CISC 和精简指令集 RISC A X86使用的是复杂指令集 CISC ARM和RISC V使用的是精简指令集 RISC 这便是属于这几种架构之间最大的区别 狭义的x
  • 右脑记忆法的个人理解

    先写个提纲 右脑记忆法 王峰 袁文魁等的记忆方法基础 也是大脑锦标赛 记忆大师的通用方法学 说是右脑记忆 其实就是图像记忆 因为形象化的信息 更容易记忆 最强大脑节目 记忆是很关键的一项能力 走进科学 记忆有魔方 http tv peopl
  • CMake命令行添加编译参数

    CMake命令行添加编译参数 学习自 coroserver 例程 https github com windoze coroserver coroserver 是一个应用 Boost Asio 和 Boost Coroutine 的 多线程
  • typora主题配置:公众号一键排版

    typora是一个非常易用且免费的markdown编辑器 是我最常用的文档编辑器 它支持实时渲染 不用打开两个窗口 源码窗口和预览窗口 真正实现了沉浸式写作 所谓所见即所得 它的界面简洁 操作简单 非常容易上手 这里就不介绍了 本文主要介绍
  • 将任意一个数解析为2的幂的和的方法

    将任意一个数解析为2的幂的和的方法 递归 规律 如给定 14 2 3 lt 14 lt 2 4 14中必有8 2 3 14 8 6 2 2 lt 6 lt 2 3 6中必有4 2 2 6 4 2 2 2 14 2 3 2 2 2 1 Par
  • DSP和RAM的区别

    DSP顾名思义就是数字信号处理 厂家主要是德州仪器 TI 主要用于数字型号处理等对运算速度有特殊要求的场合 诸如音频视频算法 军工等领域 但同时dsp有2000 5000 6000等系列也可满足不场合需要 ARM 是一类内核的称谓 就像51
  • How to delete local branches of GitExtension

    How to delete local branches of GitExtension Jin Qing s Column Dec 2021 GitExtension is a good tool After a long time of
  • QNAP 安装nextcloud私有网盘

    下载nextcloud服务端 并上传到web文件夹下 首先安装并开启PHPmyadmin 在app store搜索并下载PHPmyadmin 同时 打开自带的mariadb服务 默认用户名密码就是qnap自己的用户名和密码 也可以更改 然后
  • 未能加载文件或程序集“office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项。拒绝访问

    未能加载文件或程序集 office Version 15 0 0 0 Culture neutral PublicKeyToken 71e9bce111e9429c 或它的某一个依赖项 拒绝访问 原因 office2013资源 原因 是因为
  • git 删除右键菜单

    首先 我表示git默认的右键菜单很烦 太多项了 而我们平时用的最多的无非是一个Git Bash 删除msGit右键菜单 如果是windows 64位系统 cmd进入 C Program Files x86 Git git cheetah 目
  • discuz 论坛配置 QQ/163 网易邮箱

    步骤 在 discuz 后台的 站长 邮件设置 里按如下配置 SMTP 服务器固定 163 网易填 ssl smtp 163 com QQ 邮箱则填 ssl smtp qq com 端口 465 验证 勾选 配置完成后 会进行测试验证 发信

随机推荐

  • C# 如何在一个项目中引用另外一个项目

    C 如何在一个项目中引用另外一个项目 直接使用 using namespace 会发现引用不了 需要先添加引用 勾上需要引用的项目 我们再用 using namespace 就会发现可以了
  • html制作自动切换的广告页,js实现每个IP每天只弹出一次广告页,js实现html自动弹出对话框...

    js实现每个IP每天只弹出一次广告页 定义Cookie function setCookie name value expire window document cookie name escape value expire null ex
  • Excalidraw 简介及 Docker Compose 部署指南

    家人们好 我们在工作生活中经常需要画些图 我们往期了已经出过draw io私有化部署的文章了 今天我要向大家介绍一款名为 Excalidraw 的绘图工具 这款工具了我个人非常喜欢使用 是因为它可以修改成类似于手写体的字体 并且可以直接绘画
  • 深度学习&图像处理(深度学习的医学图像分割3.1)

    基于深度学习的医学图像分割模型研究 曹祺炜 1 基于改进的3D FCN CRF以及MS CapsNetGAN实现脑肿瘤图像分割 图像语义分割 简单而言就是给定一张图片 对图片上的每一个像素点分类 不同颜色代表不同类别 图像分割的主要步骤 图
  • mysql安装配置——超详细图文教程

    相关资源包进群自取 953882093 1 首先单击MySQL5 5 21的安装文件 出现该数据库的安装向导界面 单击 next 继续安装 如图所示 2 在打开的窗口中 选择接受安装协议 单击 next 继续安装 如图所示 3 在出现选择安
  • C# 提取 PDF 文档中的文本

    安装 IText7 首先在 Nuget 包管理器中 安装 itext7 和 itext7 font asian 如果不安装 itext7 font asian PDF 文件中有非Unicode编码的字符 将会抛出运行时异常 iText IO
  • ImportError: /home/yukang/anaconda3/envs/fsgan/lib/python3.9/site-packages/torch/lib/libtorch_cuda_c

    ImportError home yukang anaconda3 envs fsgan lib python3 9 site packages torch lib libtorch cuda cpp so undefined symbol
  • 解决Anaconda安装后出现Conda environment has not been activated.问题

    问题描述 Win10安装完成Anaconda3 2021 11 Windows x86 64 exe 且手动配置好环境变量后 出现conda未激活现象 cmd控制台输入 C Users Queena gt python Python 3 9
  • Qt使用QGraphicsView实现滑动窗体效果

    源码已上传至CSDN http download csdn net source 2808505 QGraphicsView用来显示一个滚动视图区的QGraphicsScene内容 QGraphicsScene提供了QGraphicsIte
  • 利用公交刷卡数据分析北京职住关系和通勤出行

    01 文章信息 利用公交刷卡数据分析北京职住关系和通勤出行 本篇文章于2021年10月15日发表于 地理学报 02 摘要 基于位置服务 Location Based Service LBS 技术为研究城市系统的时空动态规律提供 了新的视角
  • c++中的常用知识点总结

    命名空间 使用命名空间之后 调用代码时可以省去也可以不省去相关的前缀 include
  • CSS语法与CSS选择器

    目录 CSS 语法 实例 例子解释 CSS 选择器 CSS 元素选择器 实例 CSS id 选择器 实例 CSS 类选择器 实例 实例 实例 CSS 通用选择器 实例 CSS 分组选择器 实例 所有简单的 CSS 选择器 延伸阅读 CSS
  • 宝塔后渗透-添加用户_反弹shell

    更新时间 2022年11月21日 1 背景介绍 对于想拿到bt后台来说 非常的艰难 无非是通过bypass之后提权 直接拿到服务器的root权限 然后再去宝塔后台 当然 还有一种运气十分爆棚的方法 发现了bt的账密信息 可以直接登陆了bt后
  • 电磁兼容RE典型整改案例分析

    1 可视对讲门铃EMI解决方案 客户介绍 珠海某电子科技有限公司是一家专门从事智能家居和楼宇对讲生产 研发 销售为一体的科技型企业 经客户转介绍认识 因其有一个新研发的高端出口可视对讲系统在深圳宝安某检测公司进行空间 RE 辐射测试EN55
  • LVGL8学习之Flex布局2

    这一篇来学习Flex布局的把项目按行包裹 且让他们周围的控件平均 Arrange items in rows with wrap and even spacing 还是通过codeblock来模拟代码的运行 代码如下 void lv fle
  • vue高级特性

    Vue是一款流行的JavaScript框架 它可以帮助我们构建高效 可维护的Web应用程序 本篇文章中 我将给大家分享三个Vue的高级技术 并且详细地讲解它们的实现原理 动态组件 动态组件是Vue中非常有用的一项功能 它允许我们在不同的组件
  • 07:STM32----ADC模数转化器

    目录 1 简历 2 逐次逼近型ADC 3 ADC基本结构 4 输入通道 5 规则组的4种转换模式 1 单次转化 非扫描模式 2 连续转化 非扫描模式 3 单次转化 扫描模式 4 单次转化 扫描模式 6 触发控制 7 数据对齐 8 转化时间
  • Unity面试题:热更新篇

    请简要介绍Unity热更新的原理和实现方式 答 Unity热更新的原理是通过将游戏的资源和代码分离 将代码部分放置在服务器端 游戏启动时通过网络下载更新的代码并动态加载 以达到实现热更新的目的 实现方式包括AssetBundle ILRun
  • 查看是否有主键_详解MySQL数据库主键信息及无主键表

    概述 总结一下MySQL数据库查看无主键表的一些sql 一起来看看吧 1 查看表主键信息 查看表主键信息 SELECT t TABLE NAME t CONSTRAINT TYPE c COLUMN NAME c ORDINAL POSIT
  • 弱网测试出现的问题解决思路

    摘自弱网测试时碰到的问题和解决方案再加上自己的一些遇到的解决 1 没进入到后台 可以在前端请求开始时候加个定时器 在请求完毕 或者一定时间 删除定时器 2 现象 用户登录应用时下载初始化数据 下载过程中因网速太慢点击取消并重新登录 数据初始