logo资料库

Android APP专项测试(完整版).pdf

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
Android专项测试
1 Android APP的流量测试
1.1 读取tcp_snd、tcp_rc文件获取流量
1.2 读取stats文件获取流量
1.3 Android APP节省流量的方法
2 Android APP的电量测试
2.1采用系统自带的电量统计工具
2.2 使用GT工具统计电量消耗
3 Android APP的弱网络测试
3.1 fiddler工具使用
4 Android APP的稳定性测试
4.1 Android系统自带的Monkey命令
5 Android APP的安全测试
5.1安装包测试
5.1.1能否反编译代码
apktool的使用
dex2jar的使用
jd-gui的使用
5.1.2安装包是否签名
5.1.3完整性校验
5.2权限设置检查
5.3敏感信息测试
5.4软键盘劫持
5.5账户安全
5.6数据通信安全
5.7组件安全性
5.8服务端接口安全性
5.8.1 SQL注入
5.8.2
5.8.3 跨站请求伪造(Cross-site request forgery)
5.8.4 越权访问
6 Android APP的环境测试
6.1应用中断
6.2手机权限
6.3手机硬件
6.4手机定位
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! Android 专项测试 作者:酷酷木女侠 Android 专项测试是指针对 APP 应用程序在 Android 系统中特有的功能特性,进行的区别于其他(如 iOS 测试或者 WEB 端测试)的测试方法,本文将从如下的几个方面讲解 Android APP 的专项测试:  Android APP 的流量测试  Android APP 的电量测试  Android APP 的弱网络测试  Android APP 的稳定性测试  Android APP 的安全测试  Android APP 的环境测试 1 Android APP 的流量测试 Android APP 的流量消耗一般是指:用户操作引起的流量消耗,APP 后台运行导致的流量消耗 1.1 读取 tcp_snd、tcp_rc 文件获取流量 Android 系统自带的流量统计功能,直接读取 Android 系统上的 2 个文件的内容: proc/uid_stat/{UID}/tcp_snd proc/uid_stat/{UID}/tcp_rcv 备注:{UID}是每个 Android APP 在安装时分配的一个唯一编号,用于识别该 APP。tcp_snd 文件中的数据 表示发送的数据累计大小,以字节(Byte)为单位;tcp_rcv 文件中的数据表示接收到的数据累计大小,以字 节(Byte)为单位;部分手机厂商没有 uid_stat 这个文件,可能这方法行不通了 具体步骤: 第 1 步:准备真机或者模拟器(我这里用的是 Genymotion 上安装的手机模拟器),确保 Genymotion 上 配置的 SDK 是本地的 SDK(否则 adb shell 会报错) 第 2 步:打开 Android SDK 的 tools 文件夹下面的 monitor,可以看到你连接上的 Android 手机,显示手 机里面所有安装的应用的包名及对应的 PID,找到你要测试应用的包名及 PID 第 1 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 第 3 步:在终端通过 adb shell 命令进入手机的 shell 第 4 步:访问 /proc/{PID}/status 文件查找 APP 对应的 UID({PID}就是第 2 步中查找的 PID),在终端输入 命令:cat /proc/{PID}/status 第 5 步:访问 proc/uid_stat/{UID}/tcp_snd,查看 APP 发送的数据流量 #cat /proc/uid_stat/10078/tcp_snd #35006 第 6 步:访问 proc/uid_stat/{UID}/tcp_rcv,查看 APP 接收到的数据流量 #cat /proc/uid_stat/10078/tcp_rcv #41760 第 2 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 1.2 读取 stats 文件获取流量 当第 1 种方法中的第 5 步和第 6 步找不到文件的时候,可以用命令 cat /proc/net/xt_qtaguid/stats|grep {UID},图中第 6 列 rx_bytes 为接收的数据,第 8 列 tx_bytes 为传输的数据,这几行的数据加起来,就是总 的流量消耗(包含了 tcp/udp 等所有网络传输流量的总和) 1.3 Android APP 节省流量的方法 数据的压缩:接口文本数据压缩、JS 文件压缩、图片压缩、视频压缩 采用不同的数据格式:采用 JSON 格式作为接口数据返回格式一般比 XML 格式要小 控制访问的频率:减少服务端推送或者客户端请求的频率 推送的数据:采用分屏加载或者懒加载方式减少推送的数据量(分屏加载:先加载框架和文字,再加载第一 屏数据,向下滚动到哪里加载到哪里;懒加载(Load On Demand)是一种独特而又强大的数据获取方法,它能 够在用户滚动页面的时候自动获取更多的数据,而新得到的数据不会影响原有数据的显示,同时最大程度上减 少服务器端的资源耗用) 缓存:将一些图片/JS 等之前访问过的数据缓存起来,可以理解为存在本地,下次再需求的时候,就直接从本 地读取,不过需要注意缓存的有效期 不同网络类型设计不同的访问策略:4G 网络:默认不显示大图,不允许下载等 2 Android APP 的电量测试 2.1 采用系统自带的电量统计工具 2.2 使用 GT 工具统计电量消耗 下载地址:https://gt.qq.com/download.html 具体的操作流程可以参考 GT 文档库的内容:https://gt.qq.com/docs.html 仅用 GT 应用(apk)即可完成如下针对被测应用的测试工作: 1.基础性能测试(CPU、内存、网络流量、流畅度/帧率、电量等) 2.Logcat 日志查看与保存 3.网络数据包抓包,支持 Android4 和 Android5 4.手机电流电量测试,应用耗电评估 操作步骤: 设置需要监控的参数,启动后会在屏幕上正在监控 第 3 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 下面图中是选择了微信进行监控,如图所示 第 4 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 3 Android APP 的弱网络测试 3.1 fiddler 工具使用 手机与 fiddler 的连接,这里讲 IOS 手机与 fiddler 的连接 下载 fiddler: http://www.telerik.com/download/fiddler 你也可以随便百度一下,下载地址挺多的,这里就不多介绍了 安装 fiddler,这个直接下一步下一步,安装不用多说,对了,安装的时候电脑上要安装有.net 按照提示操作 就 OK 1、打开 fiddler,勾选红框中的内容--按照步骤来哦 第 5 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 2、重启 fiddler,这一步很重要,若是不重启,设置是不会生效的 3、查看本机 IP 地址(PC 电脑)可以在开始菜单-运行-cmd-ipconfig/all, 也可在 fiddler 上面直接查看,很简单的哈,看好图中的小红框 第 6 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 3、IOS 手机设置代理 对了这里要说明一下,PC 电脑要手机连的一个网络,如图设置服务器和端口号,就可以了 第 7 页 共 20 页
未经作者本人同意,不得转载,不得用于商业用途,否则视为侵权! 作者:酷酷木女侠 4、按照以上的设置,我们就算这是完毕了,这时候在手机上访问,fiddler 就可以看到请求了,下图是部分 是打开网易新闻 APP 的请求 第 8 页 共 20 页
分享到:
收藏