APP弱网测试方法

实际生活中,电梯里 or 地铁里 模拟用户体验测试是个不错的选择

【实际操作】具有代理服务器功能的网络流量分析软件

一、Charles

通过抓包工具Charles(如何配置Charles),设置延迟,进行模拟不同的网络情况

配置好Charles后,正常联网,选择throttle settings 设置弱网环境

Throttle Settings

Throttle preset 选择弱网环境目标:2G或者3G

ps:也可在在Bandwidth(带宽)中选择上传、下载数值

二、Flidder

Fiddler是一个http协议调试代理工具,跨浏览器、跨系统、跨平台的免费Web Debug代理服务器,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。Fiddler 是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,目前无法再mac OS上适用,可以在win上使用。

Fiddler界面说明

1.抓包

PC端设置网络—》手机端使用PC端网络代理

1)查找本机PC端网络地址—》fidder options选择connections 设置端口信息&勾选allow remote computers to connect

2)手机端在设置—》选择手动代理,并输入PC端网络代理

选择Fiddler Options

勾选Allow remote computers to connect

3)网络连接成功,则在移动端使用目标URL或者使用应用,得到请求和返回信息

4)设置断点

A fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。

有两个断点位置:

a) before response。也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据。

b.)after response。也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果

B  设置响应后断点(after response breakpoint),可以通过命令行设置:bpafter localhost

5)修改返回值

观察inspector,页面内容出现变化(说明拦截成功)

切换到textView子面板,选择需要修改的部分,然后点击 “run to complete“,便可回送修改后的响应

ps:终止断点的方式有:

1> 在rules->auto breakpoint中disabled断点即可。

2> 在inspector界面点击“run complete“即会终止本次HTTP请求的断点。

3>输入Go 命令,也会使得当前的请求跳过断点

2.模拟弱网

1)Rules—》customer rules(或者ctrl+r)

选择Customize Rules

2)Ctrl+F组合键调出搜索对话框,键入m_Simulate进行搜索,找到如下代码框

upload代表 上传速度

download代表下载速度

完成设置—》保存—》点击Performance-->点击Simulate Modem Speeds,完成弱网模拟功能的打开

m_SimulateModem

完成弱网工具环境搭建,来梳理下弱网测试场景和测试点。

一、【弱网测试场景】

既然APP异常测试中,弱网测试属于必须考虑的测试项,哪些业务适合验证,哪些不需要验证呢?以下是个人浅见,欢迎抛砖引玉:

1.结合APP本身属性

比如社交类APP(聊天、抢红包)对网络环境依赖性大且用户关注度高,弱网环境下需要重点关注。

结合互联网金融APP,申购流程中创建订单后是否支付成功,用户关注度最高(涉及扣费)。例如 弱网环境,创建订单失败,用户关注是否被扣费;创建订单成功后支付失败,再次支付是否重复扣费等

2.使用频率&易遇到弱网的场景

比如微博APP【观看小视频】,用户在碎片时间极易【观看小视频】(APP用户喜欢使用碎片化时间进行娱乐操作),同时增加了【刷微博】(微博小视频和刷微博 操作场景重合)此处就需要加强弱网环境测试

比如金融APP,用户在碎片化时间使用金融APP,领取奖品、查看理财类新闻、查看收益

好的例子:据我所知,微信的升级就会监听用户是否插着电,连着wifi,一旦监听到了,就马上告诉你,现场可以升级

二、【弱网环境测试点总结】

1.场景:弱网环境下某个操作响应时间

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

【测试点】性能测试中,加入弱网环境测试点,检测各个场景网络请求的 API 消耗时间(此处可以放入性能测试中,做为衡量APP性能好坏的指标)

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

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

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

3.场景:断网后环境下,是否自动重发请求

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

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

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

比如,微信希望在线升级某些内容,会自动监听用户是否插着电 or 连着wifi,一旦监听符合上述场景,APP自动升级:

1)插电场景 确保升级过程中,耗电不会导致手机低电量甚至没电

2)wifi场景,确保升级过程中,流量消耗不会使用用户话费中流量包,不会导致因消耗话费流量伤害用户体验

4.网络请求中,kill进程 (导致APP登录态掉线)

登录同一个账号成功,应该不继续相同网络请求(要和RD确认,程序实际实现)

登录不同账号成功,应该不继续相同网络请求(要和RD确认,程序实际实现)

三、【常见弱网问题和原因分析】

1.场景:上传大图或者多图时,在弱网络环境下出现进度条走到一半卡住然后又从头开始

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

2.场景:在弱网络环境下容易出现登录不上或者登陆后立即掉线

原因:登录没有缓冲机制,而请求超时时间的设置没有区分同网络情况

解决方案:建议开发针对wifi、2g、3g、4g设置不同的超时时间

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

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

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

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

作者:siyu8023

链接:http://www.jianshu.com/p/06be11140413

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 【背景】 弱网测试,属于健壮性测试的内容。随着国内移动端迅猛发展,大大增加用户碎片化使用移动端的概率。想象一下,用...
    siyu8023阅读 23,412评论 3 33
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,391评论 25 707
  • 最近在搞一个智能穿戴项目。手环手表等智能穿戴项目中最核心的功能是运动计步功能。 计步功能的业务逻辑是主要流程是通过...
    Dodol阅读 3,609评论 1 22
  • 弱网测试作为健壮性测试的重要部分,对于移动端测试来说必不可少。这是因为目前移动端产品的使用用户所处的网络并非完全的...
    隋胖胖LoveFat阅读 19,992评论 7 57
  • 1、 人员招聘和筛选 新团队的建立过程中首要遇到的问题就是人员招聘与筛选的问题。如何组建团队迅速招到合适的人,首先...
    iceinto阅读 911评论 0 1