APP专项测试

流量测试

一些不好的APP设计或缺陷,比如频繁,重复地在后台连网去服务端获取信息,或非Wifi下自动下载资源,下载时没有流量提示弹框等问题,可能带来意料之外的流量消耗。

流量测试的策略可以从用户使用的相关性角度来大致分为两类:

1.用户操作直接导致的流量消耗,可以选择经典的用户场景

2.用户在没有使用情况下的流量消耗,即待机时或者在后台运行时的流量消耗(Android系统更容易出现,目前Android的消息推送机制不是借助统一的管道,而是各个APP定时启动后台进程到自己的服务端去询问是否有新的消息。而这个询问的过程本身就会到来流量和电量的消耗)

下面分别从Android和iOS平台进行流量测试方法的讨论。

1.Android系统

基于系统自带的统计功能

一、列出手机中所有的包名:

adb shell

ls -l /data/app

二、通过adb读系统文件获取uid:

adb shell dumpsys package | grep userId

如: dumpsys package com.dtdream.hzgovernment | grep userId

三、在adb shell内读取文件

cat /proc/net/xt_qtaguid/stats | grep   tcp和udp总流量

cat /proc/uid_stat//tcp_snd 及tcp_rcv   tcp总流量

不过这个方法有一些比较显而易见的局限,就是只能统计总数据,没有其他维度的细分,不能提供更详细的参考。

2.iOS系统

一、通过Instruments自带的Network来查看网络流量

正常情况下能查看到APP的网络吞吐情况和包数据

3.基于Wifi代理的方式获取流量数据

在Android或iOS设备上设置代理,在PC端开启Fiddler或者Charles工具,就可以查看到手机上发出的请求和接收到的响应。

通过这个方法就能或得每个接口的数据流量(这种方式会少算一些底层协议层header的流量)。

常见的流量节省方法

1.数据的压缩:

包括接口文本数据的压缩,js文件以及图片的压缩。

2.不同数据格式的采用:

在传输相同信息的的情况下,采用更精简的文件格式。比如采用JSON格式作为接口数据返回格式通常比XML格式要小;

WebP格式相较于JPG,PNG格式,具有更优的图像数据压缩算法,在同等尺寸和和画质的情况下,WebP格式的图片体积更小。

3.控制访问的频次

主要针对后台数据上报,push消息检查等定时机制。

4.只获取必要的数据

有时APP一页会展示非常多的内容,而用户可能只会查看一部分,过多的从后台拉取数据就是一种浪费,所以可以采用分屏加载或者懒加载的方式来减少流量消耗。

5.缓存

将一些图片,js等之前访问过的数据暂时缓存起来,等以后使用到相关功能时,就不用再去拉取相关数据。但需要注意控制缓存的有效期和更新策略。

另外由于手机存储空间有限,通常也需要控制整个缓存的大小,并给用户提供清除缓存的选项。

6.针对不同网络类型设计不同的访问策略

通过判断当前的网络类型(移动网络还是WiFi),控制数据访问的频率,预加载策略和图片的质量。比如在WiFi场景下,可以以更好的用户体验为导向。在2G/3G/4G网络情况下默认不加载图片等大的图,而需要用户手动点击后按需下载等。


弱网测试

基于代理的弱网络的模拟

弱网测试的思路是手机和PC/Mac都连接同一个wifi,在电脑上开启代理软件,然后修改手机上的网络设置,将代理指向电脑上对应的IP和端口,这种情况下,由于手机流量经过电脑,电脑上的网络状况就会影响到实际的手机网络。

下面介绍的两个公交分别适用于Windows和Mac平台。将网络模拟工具跑在PC/Mac上,并打开代理软件(Fiddler或Charles),然后手机连接同一个WiFi热点,并在WiFi的设置里,把歹意指向对应的PC/Mac.

1.Windows下的Network Delay Simulator+Fiddler/wireshark

Flow Match Condition可以设定选择对哪些网络连接进行控制,包括本地和远程IP,协议类型和端口。

Flow Simulated Conditions 可以模拟网络状况,包括双向带宽,网络延迟,丢包率等维度。

点击Save Flow和确定就能生效。

要验证弱网络是否生效,一方面可以从APP的响应情况看到差别,另一方面,也可以在PC上抓包来看看具体的网络层情况,比如因为丢包产出大量的TCP重传,延迟等等。

确定弱网生效后,就可以操作APP,观察APP各功能的情况,也可以观察日志中有没有什么异常发生。

2.Mac下的Network Link Conditioner+Charles

启用后,Network Link Conditioner 可以根据内置的某个预设来改变 手机的的网络环境,可以选择:

Edge

3G

DSL

WiFi

High Latency DNS

Very Bad Network

100% Loss

WiFi

每个预置可以设置上行或下行的带宽极限,延迟,和丢包概率(当任何值被设置为 0 时,该值将会同你的计算机的网络环境保持一致)。

若想模拟多种因素的特定组合,也可以创建自己的预设。

3.iOS系统自带的网络状况模拟:

将iPhone和Mac笔记本向量,然后在Mac上打开Xcode,此时手机的设置中就会出现“开发者”这个选项。

选择 Network Link Conditioner


选择需要设置的网络场景:

除了自带的几种网络场景,还可以选择“Add a profile...”自定义合适的网络。

不过严格来说以上几种对弱网络场景只是一些简单的模拟,实际生活中可能会有更加复杂和多变的情况。上面的模拟中,参数是固定的,二十几种肯定是多变的,而且也没有包括网络类型,有网/无网的切换。

如果要模拟更真实的情况,可以在电梯,地铁等地点真机实测。

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