本发明涉及软件测试技术领域,具体涉及一种快速测试Android App 启动流量的方法,涉及到Andriod App启动流量测试领域。
背景技术:
启动流量是指App在启动时发起网络请求和接收网络响应时传输的网络数据量。
在Andriod App持续集成测试和性能测试中,测试并统计启动流量是一项重要的工作,目前大多数采用的方法是使用抓包工具Wireshark Tcpdump抓包进行流量分析,但是Tcpdump捕捉的是系统层面的流量数据,很难分清捕捉到流量数据不是不该App产生的,并且使用这些工具需要专门的知识,可操作性不强,成本太高。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种快速测试Android App 启动流量的方法,一种简单高效并且可靠的方式来实现Andriod App启动流量的测试。
本发明所采用的技术方案为:
一种快速测试Android App 启动流量的方法,其特征在于,所述方法操作步骤如下:
第一步:搭建Andriod测试环境,获取APP 的UID;
第二步:获取APP初始流量数据;
第三步:启动APP;
第四步:获取APP启动后流量数据;
第五步:将第四步第二步统计的数据相减得到APP启动接收流量和启动发送流量。
所述UID获取方式如下:通过分析系统文件/data/system/packages.list获取APP的UID。
所述APP初始流量数据分为APP初始接收流量数据和APP初始发送流量数据两部分,通过分析系统文件/proc/uid_stat/XXX/tcp_rcv,/proc/uid_stat/XXX/tcp_snd获取APP初始接收流量数据init_rcv和初始发送流量数据init_snd,其中XXX为第一步得到的UID。
所述APP启动后流量数据;启动后流量数据分为启动后接收流量数据和启动后发送流量数据两部分通过分析系统文件 /proc/uid_stat/XXX/tcp_rcv,/proc/uid_stat/XXX/tcp_snd,获取APP启动后接收流量数据last_rcv和启动后发送流量数据last_snd,其中XXX为第一步得到的UID。
本发明的有益效果为:
本发明方法不需要专业的流量抓包工具,操作简单,可集成于持续构建;可以测试任何一款APP的启动流量:测试方法简单高效,测试数据准确,测得的启动流量可以精确到byte。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合说明书附图,根据具体实施方式对本发明进一步说明:
实施例1:
一种快速测试Android App 启动流量的方法,所述方法操作步骤如下:
第一步:搭建Andriod测试环境,可以在PC环境下搭建Andriod虚拟机进行测试,获取APP 的UID,Android系统为每一个APP应用分配了一UID;
第二步:获取APP初始流量数据;
第三步:启动APP;
第四步:获取APP启动后流量数据;启动后流量数据分为启动后接收流量数据和启动后发送流量数据两部分;
第五步:将第四步第二步统计的数据相减得到APP启动接收流量rcv和启动发送流量snd。
具体计算如下:
rcv=last_rcv – init_rcv,
snd=last_snd – init_snd。
实施例2
在实施例1的基础上,本实施例所述UID获取方式如下:通过分析系统文件/data/system/packages.list获取APP的UID。
具体操作如下:
cat –n /data/system/packages.list 查找对应APP的UID。
实施例3
在实施例1的基础上,本实施例所述APP初始流量数据分为APP初始接收流量数据和APP初始发送流量数据两部分,通过分析系统文件/proc/uid_stat/XXX/tcp_rcv,/proc/uid_stat/XXX/tcp_snd获取APP初始接收流量数据init_rcv和初始发送流量数据init_snd,其中XXX为第一步得到的UID。
具体操作如下:
cat /proc/uid_stat/XXX/tcp_rcv
100
cat /proc/uid_stat/XXX/tcp_snd
1000
(XXX为第一步得到的UID。)
由此得到init_rcv=100, init_snd=1000。
实施例4
在实施例1的基础上,本实施例所述APP启动后流量数据;启动后流量数据分为启动后接收流量数据和启动后发送流量数据两部分通过分析系统文件 /proc/uid_stat/XXX/tcp_rcv,/proc/uid_stat/XXX/tcp_snd,获取APP启动后接收流量数据last_rcv和启动后发送流量数据last_snd,其中XXX为第一步得到的UID。
具体操作如下:
cat /proc/uid_stat/XXX/tcp_rcv
200
cat /proc/uid_stat/XXX/tcp_snd
2000
(XXX为第一步得到的UID。)
由此得到last_rcv=200, last_snd=2000。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。