流量测试中的小经验

本文章转载于搜狗测试

小编踩过的坑:在项目后期对搜狗输入法某版本的泛灵犀功能做流量测试时发现流量消耗特别大。

原因:1)泛灵犀的总流量=泛灵犀的显示流量+点击详情跳转后的流量,泛灵犀显示流量较小,但点击详情是跳转的搜狗输入法内置浏览器,且显示的内容较大;2)在移动网络下,点击详情时没有给出相应的提示。

开发填坑方案:改为跳转手机默认浏览器。

测试填坑方案:总结学习中。。。。。。

一、Android App流量测试方法

1、读取Android系统上的两个文件内容

proc/uid_stat/{UID}/tcp_snd

proc/uid_stat/{UID}/tcp_rcv

参数释义:

{UID}是每个Android App在安装时分配的唯一编号,用于识别该App。获取UID的方法有:

1) 方法一

①获取当前App进程的PID

ps | grep 包名

②通过PID查找该App对应的UID

cat /proc/{PID}/status

2)方法二

cat /data/system/packages.list | grep 包名,注:需要root权限

tcp_snd文件中的数据表示发送的数据累计大小,单位是字节(Byte);

tcp_rcv文件中的数据表示接收的数据累计大小,单位是字节(Byte)。

举例说明如何获取这个数据:

1)get App UID

2)获取流量数据

2、Fiddler代理工具

1)在手机上设置代理

2)通过Fiddler代理工具可以看到手机上发出的请求和收到的响应,其中包含了每个请求和响应的流量大小

3、Wireshark工具分析

1)手机上抓包,具体操作详见《Android移动网络如何抓取数据包》

2)使用Wireshark工具分析,下图是查看单个请求和响应的数据量

4、自动化流量统计之哆啦A梦

1)打开哆啦A梦→性能监控→开始监控(若没有设置被测App,则可以通过哆啦A梦中的应用管理进行设置);

2)设计动作对App进行相应的操作;

3)操作完成后停止监控,文件保存至/sdcard/DoraemonBox/PerformanceTest下。

哆啦A梦之流量监控原理是直接读取Android系统上的两个文件内容,如图

二、流量测试注意事项

作为测试人员,越早发现问题越好,所以在产品需求、开发实现上就应该关注流量问题,以下是常见的节省流量方法。

产品需求上:

1)针对移动网络给出相应的提示

比如在搜狗输入法泛灵犀最新需求中,点击详情时会判断当前用户的网络类型,若为移动网络,则给出提示;点击详情跳转后,当前页面中的内容是视频,若为移动网络,点击播放按钮不直接播放,而是先给出提示;

2)不同的网络类型给出相应的策略

比如搜狗输入法热词接口,wifi下一天下发一次,移动网络下7天下发一次,该接口包含统计数据的上传、热词和扩展词的下发、数据流通知等。通过判断当前的网络状况,控制数据访问的频率。

开发实现上:

1)数据压缩

减少传输的数据量是一个最基本的节省流量的方法,比如在搜狗输入法emoji后下载中,下发给用户的emoji就是经过压缩后的。

2)数据缓存

比如在搜狗输入法中触发泛灵犀图片后 ,会将这些图片暂时缓存至sdcard的某个目录下,等以后再使用相同关键词触发泛灵犀图片时,就不再去拉取相关的数据,直接使用缓存中的数据。

3)不同数据格式的采用

作为接口数据返回,JSON格式通常比XML格式要小,在大数据传输上,protobuf格式比JSON格式要小。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,892评论 25 709
  • //我所经历的大数据平台发展史(三):互联网时代 • 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃呓语阅读 51,525评论 10 200
  • 站在自家阳台上,望着远处万家灯火,孩子已经安然入睡,内心一直纠结着是否应该下楼。走到客厅,看到孩子在留言板上写...
    什么样的幸福阅读 1,911评论 0 1
  • 一切从自省开始!既然决定在一起就接受一切,好的坏的全盘接受,包括家人,晚安大妹子
    郑亿阅读 1,358评论 1 0
  • 就像遇到了一道选择题、我选不好到底是A还是B、所以想有一个C符合题意。其实就是逃避。
    理直气和阅读 1,612评论 0 0