app专项测试(网络测试流程)

一、网络测试的一般流程

step1:首先要考虑网络正常的情况

① 各个模块的功能正常可用

② 页面元素/数据显示正常 

step2:其次要考虑无网络的情况

① APP各个功能在无网络情况下是否可用

② APP各个页面之间切换是否正常

③ 发送网络请求时是否会导致闪退、卡死等异常情况

④ APP各个页面是否显示完整美观,未刷新的页面是否做了相应的提示和处理

⑤ 在无网络情况下数据是否会丢失

⑥ 无网络提示信息是否友好

step3:再次考虑弱网情况

① 弱网情况下APP是否针对请求做了超时处理

② 网络延迟的情况下,操作app进行数据同步、OTA升级是否会发生Crash、ANR等严重错误

③ 弱网情况下,APP请求回调未完成时,执行其他动作以及交互时,是否会出现APP闪退(如:驾考IOS开屏闪退)等异常。

④ 弱网情况下,原始数据是否出现丢失的情况(弱网下载时会出现丢包情况)

⑤ 弱网环境下,是否会出现请求堆积的情况

⑥ 弱网环境下,APP各个页面是否显示完整

⑦ 系统超时,提示信息是否清晰明确

⑧ 弱网情况下APP的响应时间是否在一个合理的时间范围内

⑨ 请求回调未完成--驾考科四难题攻克弹窗

⑩ 这个弹窗是服务器说了算,服务器知道该用户啥时候弹弹窗。若用户在做题页面时返回了,则该用户下次进入且在服务器缓存时间内,应该给出弹窗(产品逻辑:弹窗出现后用户必须看到才消失)

⑪ 请求堆积:水池注水排水问题

step4:最后考虑网络状态之间的转变

① 断开网络连接以后,操作APP各个功能是否正常

② 同步数据过程中,断开网络连接,APP是否出现异常情况

③ 传输数据过程中,网络由wifi切换到gprs,APP是否出现异常情况

④ 弱网环境下发送的请求是否在恢复网络以后出现重复提交的情况

tips:gprs---就是咱们通常所说的流量

二、背景介绍

弱网测试作为健壮性测试的重要部分,对于移动端的测试来说必不可少。

目前的网络并非完全的流畅WiFi,目前使用最多的是2G,3G,4G,且使用场景多变,如近地铁,上公交,进电梯,进山区等是的弱网测试显得尤为重要。

 总结:

1、弱网测试主要进行特殊网络状态下的功能测试,同时关注用户体验。

2、弱网测试主要包括弱网功能测试、无网状态测试、网络切换测试等

三、弱网功能测试

① 这一部分主要是在各种非wifi网络环境下进行的功能测试,同时模拟高延时和高丢包的异常网络环境进行健壮性测试。

② 2G/3G/4G的网络可以通过使用电话卡移动/联通/电信等网络进行模拟,关注页面的响应时间、页面呈现是否完整一致等。

③ 高延迟和高丢包的网络环境需要借助工具来模拟,如Charles。

④ 弱网功能测试建议将整体的功能测试用例在弱网环境下进行一轮测试,相同模块下的功能可以分多个网络条件进行测试。这部分发现的问题可能会有:

  页面图片在弱网环境下加载不出来(图片加载逻辑需优化)

  需要模版的页面版式结构混乱(模版文件在弱网环境的加载需优化)

  页面响应时间较长没有任何显示(页面显示逻辑待优化、重试机制加入)

四、弱网UI测试

弱网情况下:

  APP很可能出现UI刷新不及时或者不刷新的情况,此时就可能会导致呈现在用户面前的是一个残缺的页面;

  偶会也会导致出现页面UI元素错乱的情况;

五、无网状态测试

无网状态测试则是在切换网络的情况下进行的测试,主要关注页面的显示与交互、本地数据的存储、断网功能的使用等,经常该部分也需要与网络切换部分协同进行。

  断网情况下请求非本地数据的页面需要设定一定的时间等待上限,及时提示网络异常以及提示重试;

  断网情况下请求部分本地数据的页面需要观察本地数据的部分是否加载显示正常,待请求的部分是否符合交互给的缺省样式一致;

  断网情况下请求完全本地数据的页面是否显示正常。这里还需考虑本地数据存储的情况,有些需要联网后上报服务器的数据本地是否正确存储,联网后这些数据能否正常上报。

  无网状态测试建议按照页面划分进行,针对每个页面单独测试无网状态的显示,页面间跳转的显示,页面内功能的点击和显示,同时关注无网到有网时的页面恢复显示状态、数据上报情况是否正常。

注:以驾考课件视频为例做个补充

  无网无缓存时做题页面不显示课件视频模块;

  无网有缓存,且在缓存时间内,点击视频时可以正常播放;

六、网络切换测试

这部分主要是进行几个不同网络场景的切换,包括:

wifi-2G/3G/4G、wifi-无网、2G/3G/4G-wifi、2G/3G/4G-无网、无网-2G/3G/4G、无网-wifi

主要关注页面的显示与交互,尤其:

  弱网到wifi

  wifi到弱网

以上两种情况验证是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等。

七、用户体验关注

弱网测试的目的就是尽可能保证用户体验,测试点如下:

(1)页面响应时间是否可接受,关注包括热启动、冷启动时间,页面切换,前后台切换,首字时间,首屏时间等。

(2)页面呈现是否完整一致

(3)超时文案是否符合定义,异常信息是否显示正常。

(4)是否会有超时重连

(5)安全角度:是否会发生dns劫持

(6)大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。

热启动:已经启动过APP了,然后切换到后台,或者退出,但是这时候应用并没有完全退出,可能应用还有一些服务在后台启动

冷启动:就是之前没启动过APP

dns劫持:又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。常见的分为2种:网页劫持/运营商劫持

比如:输入www.baidu.com,结果打开了淘宝网,就说明百度的dns被劫持了;

Android驾考宝典进入vip页面时被劫持;

八、响应时间

安卓手机一般超过5秒钟无响应就会报ANR的错误

ios手机响应时间过长也会报错

2-5-10原则(或3-5-8):

用户能够忍受的最佳响应时间是2秒以内;

超过5秒无响应的话,一般性子比较急躁的用户很可能就会直接退出页面了;

如果超过10秒无响应,很多人都会选择杀掉APP;

APP经常处于无响应或者响应时间过长的状态,会导致大批的用户转移到竞争对手的产品上。

九、异常测试

异常测试是指验证APP针对各种网络异常情况是否做出了容错处理,这里面包括:

① 异常提示信息

② 出错容错机制

③ 超时判断处理机制(代码级别)

④ 出错以后自动重连等

tips:

容错机制---简单点可理解为: 我快速点击多次,但是就响应一次

出错后重连---就是访问网络,没得到数据,在错误的地方重新访问网络。

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

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

相关文章

【数据结构】_复杂度

目录 1. 算法效率 2. 时间复杂度 2.1 时间复杂度概念 2.2 准确的时间复杂度函数式 2.3 大O渐进表示法 2.4 时间复杂度的常见量级 2.5 时间复杂度示例 3. 空间复杂度 3.1 空间复杂度概念 3.2 空间复杂度示例 1. 算法效率 一般情况下,衡量一个算法的好坏是…

ASP.NET Core中间件Markdown转换器

目录 需求 文本编码检测 Markdown→HTML 注意 实现 需求 Markdown是一种文本格式;不被浏览器支持;编写一个在服务器端把Markdown转换为HTML的中间件。我们开发的中间件是构建在ASP.NET Core内置的StaticFiles中间件之上,并且在它之前运…

Text2Sql:开启自然语言与数据库交互新时代(3030)

一、Text2Sql 简介 在当今数字化时代,数据处理和分析的需求日益增长。对于众多非技术专业人员而言,数据库操作的复杂性常常成为他们获取所需信息的障碍。而 Text2Sql 技术的出现,为这一问题提供了有效的解决方案。 Text2Sql,即文…

将Deepseek接入pycharm 进行AI编程

目录 专栏导读1、进入Deepseek开放平台创建 API key 2、调用 API代码 3、成功4、补充说明多轮对话 总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——…

113,【5】 功防世界 web unseping

进入靶场 代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;方便开发者查看代码结构和内容 highlight_file(__FILE__);// 定义一个名为 ease 的类 class ease {// 私有属性 $method&#xff0c;用于存储要调用的方法名private $method;// 私有属性 $args&…

Android记事本App设计开发项目实战教程2025最新版Android Studio

平时上课录了个视频&#xff0c;从新建工程到打包Apk&#xff0c;从头做到尾&#xff0c;没有遗漏任何实现细节&#xff0c;欢迎学过Android基础的同学参加&#xff0c;如果你做过其他终端软件开发&#xff0c;也可以学习&#xff0c;快速上手Android基础开发。 Android记事本课…

绿联NAS安装cpolar内网穿透工具实现无公网IP远程访问教程

文章目录 前言1. 开启ssh服务2. ssh连接3. 安装cpolar内网穿透4. 配置绿联NAS公网地址 前言 本文主要介绍如何在绿联NAS中使用ssh远程连接后&#xff0c;使用一行代码快速安装cpolar内网穿透工具&#xff0c;轻松实现随时随地远程访问本地内网中的绿联NAS&#xff0c;无需公网…

DNN(深度神经网络)近似 Lyapunov 函数

import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt # from torchviz import make_dot import torchviz# 1. Lyapunov 函数近似器&#xff08;MLP 结构&#xff09; class LyapunovNet(nn.Module):def __init__(self, input_dim…

从 HTTP/1.1 到 HTTP/3:如何影响网页加载速度与性能

一、前言 在最近使用Apipost时&#xff0c;突然注意到了http/1.1和http/2&#xff0c;如下图&#xff1a; 在我根深蒂固的记忆中&#xff0c;对于http的理解还停留在TCP协议、三次握手。由于我的好奇心&#xff0c;于是触发了我被动“开卷”&#xff0c;所以有了这篇文章&…

6 加密技术与认证技术

6 加密技术与认证技术 6.1:对称加密与非对称加密技术 6.1.1:对称加密 对称加密:; 特点: 1、加密强度不高&#xff0c;但效率高;2、密钥分发困难。 常见对称密钥&#xff08;共享秘钥&#xff09;加密算法:DES、3DES(三重DES)、RC-5、IDEA算法。 6.1.1.2非对称加密技术 非对称…

【Block总结】CoT,上下文Transformer注意力|即插即用

一. 论文信息 标题: Contextual Transformer Networks for Visual Recognition论文链接: arXivGitHub链接: https://github.com/JDAI-CV/CoTNet 二. 创新点 上下文Transformer模块(CoT): 提出了CoT模块,能够有效利用输入键之间的上下文信息,指导动态注意力矩阵的学习,从而…

pycharm集成通义灵码应用

在pycharm中安装通义灵码 1、打开files-settings 2、选中plugins-搜索”TONGYI Lingma“&#xff0c;点击安装 3.安装完成后在pycharm的右侧就有通义灵码的标签 4、登录账号 5、查看代码区域代码&#xff0c;每一个方法前面都多了通义灵码的标识&#xff0c;可以直接选择…

保姆级教程Docker部署Zookeeper官方镜像

目录 1、安装Docker及可视化工具 2、创建挂载目录 3、运行Zookeeper容器 4、Compose运行Zookeeper容器 5、查看Zookeeper运行状态 6、验证Zookeeper是否正常运行 1、安装Docker及可视化工具 Docker及可视化工具的安装可参考&#xff1a;Ubuntu上安装 Docker及可视化管理…

3.【BUUCTF】XSS-Lab1

进入题目页面如下 好好好&#xff0c;提示点击图片&#xff0c;点进去页面如下&#xff0c;且url中有传参&#xff0c;有注入点 发现题目给出了源码 查看得到本题的源码 分析一下代码 <!DOCTYPE html><!--STATUS OK--> <!-- 声明文档类型为 HTML5&#xff0c;告…

react关于手搓antd pro面包屑的经验(写的不好请见谅)

我们先上代码&#xff0c;代码里面都有注释&#xff0c;我是单独写了一个组件&#xff0c;方便使用&#xff0c;在其他页面引入就行了 还使用了官方的Breadcrumb组件 import React, { useEffect, useState } from react; import { Breadcrumb, Button } from antd; import { …

高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案

目录 一、Ollama 介绍 二、Ollama下载 2.1 官网下载 2.2 GitHub下载 三、模型库 四、Ollmal 使用 4.1 模型运行&#xff08;下载&#xff09; 4.2 模型提问 五、Ollama 常用命令 相关推荐 一、Ollama 介绍 Ollama是一个专为在本地机器上便捷部署和运行大型语言模型&…

Windows Docker笔记-Docker容器操作

在文章《Windows Docker笔记-Docker拉取镜像》中&#xff0c;已经拉取成功了ubuntu镜像&#xff0c;本章来讲解如何通过镜像来创建容器并运行容器。 这里再类比一下&#xff0c;加深理解&#xff0c;比如&#xff0c;我们现在想开一个玩具厂&#xff0c;我们的最终目的肯定是想…

Java语法糖详解

前言 在现代编程语言的发展历程中&#xff0c;语法糖&#xff08;Syntactic Sugar&#xff09;作为一种提升代码可读性和开发效率的重要特性&#xff0c;已经成为语言设计的重要组成部分。Java作为一门成熟且广泛应用的编程语言&#xff0c;在其长期演进过程中&#xff0c;语法…

机器学习中的关键概念:通过SKlearn的MNIST实验深入理解

欢迎来到我的主页&#xff1a;【Echo-Nie】 本篇文章收录于专栏【机器学习】 1 sklearn相关介绍 Scikit-learn 是一个广泛使用的开源机器学习库&#xff0c;提供了简单而高效的数据挖掘和数据分析工具。它建立在 NumPy、SciPy 和 matplotlib 等科学计算库之上&#xff0c;支持…

Java数据结构与算法之“树”

目录 一、什么是树 ​编辑 二、树的相关组成 1. 常用名词 2.需要了解的名词 三、树的分类 &#xff08;一&#xff09;初级树 1.普通树 2.二叉树 &#xff08;二&#xff09;中级树 1.哈夫曼树HuffmanTree 2.二叉搜索树BST 3.平衡二叉树AVL &#xff08;三&#x…