app专项测试:app弱网测试(网络测试流程)
app专项测试: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:
容错机制---简单点可理解为: 我快速点击多次,但是就响应一次
出错后重连---就是访问网络,没得到数据,在错误的地方重新访问网络。
原文地址:
https://blog.csdn.net/wangjuan_0216
https://blog.csdn.net/wangjuan_0216/article/details/86588293
app专项测试:app弱网测试(网络测试流程)的更多相关文章
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(15)-Fiddler弱网测试,知否知否,应是必知必会
1.简介 现在这个时代已经属于流量时代,用户对于App或者小程序之类的操作界面的数据和交互的要求也越来越高.对于测试人员弱网测试也是需要考验自己专业技术能力的一种技能.一个合格的测试人员,需要额外关注 ...
- 『言善信』Fiddler工具 — 14、使用Fiddler进行弱网测试
目录 1.什么是弱网测试 2.弱网环境的影响 3.弱网环境测试场景 4.使用Fiddler进行弱网测试 (1)Fiddler模拟弱网环境 (2)设置弱网的参数 (3)进行弱网测试对比 (4)恢复设置 ...
- APP弱网测试工具(QNET)
QNET介绍官网链接:https://wetest.qq.com/product/qnet 目前在测试移动设备上进行弱网络专项测试的方案主要有两种: 通过Android设备连接到PC上进行弱网络测试, ...
- APP手工项目02-用例编写-测试报告-fiddler弱网测试
回顾 APP专项测试(兼容性,安装,卸载,升级,交叉事件,PUSH消息,性能,其他类型) 项目环境(开发环境,测试环境,准生产环境,生产环境) APP内测发布平台(蒲公英,fir.im)支持apk,i ...
- 07- 移动端app弱网测试与fiddle弱网测试
从下面几个点了解弱网测试: 什么样的网络属于弱网. 低于2g速率的时候都属于弱网,也可以将3g划分为弱网,一般WiFi不纳入弱网范畴. 为什么要进行弱网测试 ①按照移动特定,各种网络连接协议不同,导致 ...
- APP弱网测试
APP弱网测试 App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...
- App弱网测试与常用模拟工具
iOS平台,通过自带的开发者选项 >Network Link Conditioner, 即可简单的模拟各种速度的网络情况: 通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddle ...
- Charles弱网测试
当前APP网络环境比较复杂,网络制式有2G.3G.4G网络,还有越来越多的公共Wi-Fi.不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响.另外,当前app使用场景多变,如进地铁.上公 ...
- fiddler----APP弱网测试
转自:http://www.51testing.com/html/01/n-3727001.html APP弱网模拟测试 移动端测试区别于PC端测试的一点就是网络的多变性:不同的网络环境和网络制式的差 ...
- 弱网测试Android
弱网测试一般是指模拟在网络环境比较差的情况下,检测APP是否有异常,如崩溃,数据收发出现丢包的情况 一.首先需要控制网络,有两种方式其一使用网络损伤仪进行,其二采用软件方式.硬件采购费用太贵,因此使用 ...
随机推荐
- 安装centos7模板机[lvm版]
1. 安装centos 7模板机 准备好centos7的镜像 下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 安装centos 自定义硬件: ...
- SwiftObject 杂记
一.前言 看了一段时间的Swift,慢慢转变了一些对Swift的看法. Swift作为苹果新晋的开发语言.具有模板编程.函数编程.协议多继承.vTable静态绑定.值引用类型区分.Option类型等动 ...
- 如何创建一个线程池,为什么不推荐使用Executors去创建呢?
我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口.Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法: 方法一: ...
- taro 使用taro中的vue来完成小程序的开发
网址:https://taro-docs.jd.com/taro/docs/README 2.1.简介 Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 ...
- 【Java面试题-基础知识01】Java数据类型四连问?
一.Java中的基础数据类型有哪些? Java中的基本数据类型包括: 1. byte:8位有符号整数,范围为-128到127.2. short:16位有符号整数,范围为-32768到32767.3. ...
- 在js、vue中使用方法调用a标签
<el-button type="primary" style="width:130px" @click="shout"> &l ...
- 通过 源码 安装 python
为了vim PYTHON="3.4.1" tget () { #try wget filename=`basename $1` echo "Downloading [${ ...
- C#去除时间格式化之后中间的T字母
需求是这样的, 前后端传参,然后后端序列化把字符串存在数据库. 然后发现时间类型的字段,序列化之后 ,有个字母T, DateTime dt = DateTime.Parse("2024-05 ...
- Java中代码Bug记录--泛型失效、数组删除、HashMap死循环
最近在工作的过程中,遇到了不少奇怪自己或者同事的Bug,都是一些出乎意料的,不太容易发现的,记录一下来帮助可能也遇到了这些Bug的人 1. 编译时泛型校验失效 Map<String, Strin ...
- React Context 的使用
使用React开发应用程序时,如果多个组件需要共享数据,可以把数据放到父组件中,通过属性向下传递给子组件.但当组件嵌套较深时,两个最底层的组件要想共享数据,那就霜要把数据放到最顶层的组件中,然后再一层 ...