GT-----如何做Android应用流量测试?
1、如何判断一个应用的流量偏高?
如果看流量的绝对值看不出高低,那就找几个同类型的产品对比一下,如果完成同样的事物,被测应用比同类产品高很多,那就偏高了,可能有优化的空间。
2、如何找到有效的优化点?
把分析的不同类型数据包,按包占总流量大小的比例,和包的数量排序,占比多的,和消息数量多的,一个优化空间大,一个精简请求次数的机会大。
3、如何进行流量的测试?
1)使用抓包工具
2、测试中遇到的流量问题整理?
(1)非预期大资源
(2)冗余内容
同类请求被间隔执行,请求的内容包含一些相对静态的信息,正确的处理是第一次请求包含静态信息就好,后面的同类请求只包含必要的即时变化信息即可,错误的处理方式是每次请求服务器都返回一次静态信息。
(3)冗余请求
有的时候会发现应用短时间内发出多个同样的请求,收到的结果也都几乎一样,这种情况应该是尽量减少请求次数,同时注意排查程序逻辑错误,也许问题不想表面看起来那么简单
(4)无用请求
有的请求,你会发现谁也不知道它是干嘛的,很可能是以前版本留下来的无用请求,或者是引用的其他代码包偷偷发出的,甚至是间谍请求。
(5)永远无法得到回应的请求
如果见到某类请求永远的连接失败或者返回404之类的失败结果,那它不是历史遗留的多余请求,就是某个不易察觉的功能已经失效 了。
(6)过多的失败请求
有见过一类或一组请求,n个成功之中夹着m个失败吗
(7)非预期请求
比如一种常见的情况,应用退出后台,有些请求就没必要了,观察下自己的产品,是否在后台真的没有发出这些请求
流量的示例分析详见此链接:https://gt.qq.com/docs/a/faq/HowTestNet.pdf
GT-----如何做Android应用流量测试?的更多相关文章
- Android应用流量测试
工具 GT(中文产品名称:随身调):是腾讯出品的开源调试工具,本次测试中用其进行手机的流量统计和抓包.请在Android手机上安装GT应用(可以通过官网或应用宝下载). Wireshark:抓包的分析 ...
- 使用uiautomatorviewer和uiautomator来做android的UI测试
来自:http://university.utest.com 作者:Angelos Nakulas (All Authored Courses) 译者:Elaine00 目录 简介 什 ...
- AnyProxy做App网络流量测试
前言: AnyProxy是一个开放式的HTTP代理服务器.Github主页:[https://github.com/alibaba/anyproxy]主要特性包括: 基于Node.js,开放二次开发能 ...
- 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】
楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...
- 【转载】Android端手机测试体系
1.冒烟测试 跟web端 的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做 我们的测试工具.就跟我之前博 ...
- Android 网络流量监听开源项目-ConnectionClass源码分析
很多App要做到极致的话,对网络状态的监听是很有必要的,比如在网络差的时候加载质量一般的小图,缩略图,在网络好的时候,加载高清大图,脸书的android 客户端就是这么做的, 当然伟大的脸书也把这部分 ...
- Android端手机测试体系
1.冒烟测试 跟web端的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做我们的测试工具.就跟我之前博客所 ...
- 现在创业做App,先做 Android 还是 iOS?
随着互联网+的高速发展,现在创业大部分都是在布局移动端,初期往往摆在面前最大的难题是,如何分配有限的成本,在最快的速度内占领市场?这个大难题会影响创始人在团队和产品建设方方面面的决定.缩小至移动App ...
- Android APP压力测试(二)之Monkey信息自动收集脚本
Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...
随机推荐
- DPM(Deformable Parts Model)--原理(一)
http://blog.csdn.net/ttransposition/article/details/12966521 DPM(Deformable Parts Model) Reference: ...
- 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性.重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则视 ...
- 学习opencv-------函数使用二(图像变换)
#include"cv.h" #include"highgui.h" using namespace cv; void CVFILTER2D(IplImage ...
- Difference between Netbios and Host name
Hostnames or NetBIOS names were used to provide a friendlier means of identifying servers or worksta ...
- 游戏编程入门之Bomb Catcher游戏
首先是代码: MyDirectX.h: #pragma once //header file #define WIN32_EXTRA_LEAN #define DIRECTINPUT_VERSION ...
- python socket和简单tcp通信实现
python 服务端和客户端的简单交互 TCP服务端: 1 创建套接字,绑定套接字到本地IP与端口 s = socket.socket(socket.AF_INET,socket.SOCK_STREA ...
- [USACO11FEB] Cow Line
https://www.luogu.org/problem/show?pid=3014 题目描述 The N (1 <= N <= 20) cows conveniently number ...
- 51nod1667 概率好题
基准时间限制:4 秒 空间限制:131072 KB 分值: 640 甲乙进行比赛. 他们各有k1,k2个集合[Li,Ri] 每次随机从他们拥有的每个集合中都取出一个数 S1=sigma甲取出的数,S ...
- Python面向对象学习2(面向对象的语法和特性,待更新)
上一个内容我们介绍了面向对象和面向对象场景现在我们来学习下语法和特性 1,面向对象基本语法: # -*- coding:utf-8 -*- # Author: Colin Yao class Dog( ...
- 设计模式之Builder
设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 介绍: Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象. 将一个复杂 ...