麦子金服财富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后用户手机已经处于不安全情况, 开发可以酌情处理