麦子金服财富Android APP专项测试报告
- 前言
设计用例,通过性能,稳定性和安全对麦子金服财富APP进行专项测试, 使用评分进行标准评估.选择京东金融和拍拍贷理财作为竞品对比, 为APP优化提供建议.
- 用例设计和测试标准
参照用户使用场景: 麦子金服的用户使用场景主要在前台使用和后台待机, 不存在后台使用场景, 所以设计如下专项测试用例
2.1 安全性测试
API接口数据使用https加密传输, 具备基本的防抓包功能,
具备基本的反编译功能,
本地缓存和数据库不能有明文信息
LOGCAT日志中不能有敏感数据信息
2.2 性能测试
无明显内存泄漏
CPU和内存占用合理
前台使用和后台待机不会有明显异常的耗电情况
2.3 用户感知测试
每15分钟流量不建议超过10M
全新安装后首次启动时间建议不超过10s
冷启动时间(APP未驻留后台)建议不超过5s
一般场景切换建议不超过2s
2.4 稳定性测试
使用monkey运行1小时, 中途无crash发生
使用时未发生ANR,卡顿和闪退
- 测试结果
具体结果结果如下
APP专项测试报告
项目名称 麦子金服投资Android版(线上6.4.1)
测试人 顾星
测试机型 小米4
覆盖系统 Android 6.0
测试结果 普通
测试标准 序号 测试项目 实际结果 得分 分类
性能测试 1 首次启动时间(扣除引导页) 13.236s 2
性能测试 2 冷启动时间 8.34s 1
性能测试 3 一般场景切换 1.54s 3
性能测试 4 运行时内存(HEAP)平均占用 70.53M 4
性能测试 5 运行时内存(HEAP)最大占用 93.43M 4
性能测试 6 运行时CPU占用 21.55% 4
性能测试 7 运行时CPU最大占用 36.00% 4
耗电量测试 8 前台使用耗电量(30分钟) 5.5% 4
耗电量测试 9 后台待机耗电量(1小时) 1% 5
UI性能测试 10 重绘3x以上场景数量低于30% 35% 4
流量测试 11 流量消耗(15分钟) 8.4M 3
安全测试 12 本地存储数据安全 Root后可以看到有少量敏感信息 3
安全测试 13 网络传输和日志数据安全 通过 5
安全测试 14 防止反编译 通过 5
稳定性测试 15 Monkey运行1小时无崩溃 可以正常运行 5
稳定性测试 16 测试使用中无crash和ANR 无崩溃 5
-
专项测试雷达图
16个测试项目, 分类7个子项目, 每个子项目得分为该子项目中测试内容得分的平均值
-
测试结论
5.1 启动时间
测试方式:
-
使用adb shell screenrecord _bugreport 截取视频. 计算点按图标到APP完全呈现的时间
APP首次启动时间很长, 从用户角度看, 带来的体验并不够好. 如下图, 取另外两个竞品APP通过Screenrecord截取的视频加载时间对比
-
使用ActivityManager查看activity从加载到完全呈现的时间
通过ActivityManager分析Activity的加载至显示至屏幕的时间如下
麦子金服APP 首次启动, Activity启动时间多到12.829s, 比竞品APP多出近50%
冷启动时间多至7.9s, 仍然比功能偏重的京东金融APP要慢很多
4.24更新
ActivityManager.png
通过am start计算3次启动主Activity时间均值如下
麦子金服投资APP的主Activity启动时间明显偏长, 判断可能是Application启动时初始化过多第三方库导致的. 详细原因需要开发进行判断
4.24更新
5.2 安全性
AndroidManifest.xml中 allowbackup中设置为false, 使用adb backup com.nonoapp无法备份出用户数据
ADB LOGCAT除了埋点日志以外没有有价值的消息
系统root以后, 在/data/data/com.nonoapp中, UID.xml 可以获取包含用户姓名和身份证号的部分敏感信息
使用目前常见的反编译工具(apktool, jadx) 只能反编译出无意义的加壳后MainActivity文件, 无法得到有意义的实现代码.
5.3 UI和流量
使用tcpdump出pcap文件, 通过使用wireshark分析手机和*.nonobank.com通讯的上行和下载流量, 得出一段时间内, APP消耗的流量. APP 15分钟消耗的流量在8M左右. 在本地流量日益低廉的背景下, 结合用户场景, 这个流量消耗可以接受
麦子金服投资APP在投资模块和发现模块有比较严重的UI重绘情况. 对性能有一定影响.
image013.png
image015.png
在比较低端的手机上(小米4为例),偶尔会有掉帧情况发生. 但是由于麦子金服投资APP本身体量较轻,对流畅度影响较小
image017.png
5.4 CPU,内存和耗电量
根据用户场景, 麦子金服APP的使用场景主要包含前台使用和后台待机. 如下图所示
image020.png
所以耗电测试主要在前台使用和后台待机.
如图和竞品对比
image021.png
APP耗电整体和业界持平, 控制良好
- 测试总结:
本次测试发现了如下问题:
n 启动时间较长, 判断可能是Application启动中第三方组件库初始化耗时较长, 具体请开发进行排查
n 系统root以后, 在/data/data/com.nonoapp中, 可以获取包含用户姓名和身份证号的部分敏感信息. 根据厂商EULA, root后用户手机已经处于不安全情况, 开发可以酌情处理