移动性能测试 “陆金所” 之移动应用体检报告

testly · 2015年10月30日 · 最后由 testly 回复于 2017年12月04日 · 6046 次阅读
本帖已被设为精华帖!

应用本次体检得分(69)分!

1,前言:

We are Mr Bug、 We are App Bug Hunter !!!

2,目的:

本次活动目的是为了用评分的形式,通过:安全、性能、稳定三个方面去检测评估一款 APP,为此还单独组建了一个的项目组一起协作攻破各项难点,覆盖各项检查点

3,活动简介:

主刀医生:Mr Bug 项目团队

发起时间:9 月 25 日

 发起方:毛里求斯

体检目标: 陆金所 V 2.8.1

 体健项: 性能,安全,稳定

4,评分规则:

 分为三块: 安全、 性能 、 稳定

 权重分别为: 40% 、30% 、30%

 三个模块下的子节点分数平均分配。

 每一模块下的子节点的总分根据测试过程评估以及结合发现问题严重程度两个维度进行单项评分!最后以每一项的最终得分的总分为本次体检的最终成绩。

- -安全标准:

网络传输数据均需要经过加密和校验,不能获取有效信息或伪造数据重要类型的网络数据均经过加密和进行校验

涉及敏感数据外其他数据都必须加密

需要通过 https 传输。不能单单只靠最基本的认证手段(如 token)

所有数据明文传输,需加密或认证。所有数据均不能去伪造

数据库不能通过简单的一些入侵方式破解

数据需要加密,且不能使用通用的、已可被破解的加密方式(如 md5)

数据/数据库不能存储任何明文敏感信息

本地缓存中不能存储部分敏感信息

- 性能标准:

重绘标准:3x 和 4x 的页面不超过 1/3

耗电量:一小时不超过 300mAh

内存:不超过 80M

流量:页面消耗不大于 200KB

内存抖动:不出现内存抖动的现象,横向评比抖动的频率,如果其他 App 在该功能点不抖动或者抖动经过优化,说明待测 App 有问题

内存泄漏:不出现内存泄漏现象

首页场景加载 - 冷启动(全新安装,未登录,点击图标至手势密码界面 + 进入首页所有元素加载耗时)6s

首页场景加载 - 热启动(非全新安装,已登录,点击图标至手势密码界面 + 进入首页所有元素加载耗时)3s

其他一般普通场景操作标准 3s

- 其他体验标准:

在测试过程中无明显 crash,卡顿,等体验问题!

持续运行 monkey 测试发生异常概率高于(异常次数/模拟事件数)10000 分之 7

5,评估图表:

6,BugList:

7,结论:

- 安全:-

1 ,没有任何重打包方面的检测,存在被重打包然后加入恶意代码的风险。

2 ,网络数据包没有防伪造检测,能通过抓包的方式获取到用户数据包并进行篡改

3、客户端无壳无第三方加固,apk 可被直接反编译,得到相对完整的源码;

4、由于无壳无加固,反编译的源码可被植入恶意代码或第三方广告(如下图),并进行二次打包上架

5、日志部分肉眼检查,未发现特别敏感的信息。

- 性能:

1,资源消耗方面,手势密码界面的内存有优化的地方,常驻内存较大。

2,主页、投资理财页面、我的账户页面等布局有很严重的重绘现象,这样会造成界面加载时间过长。

3,与微信扫描二维码功能的内存情况进行比较,很明显陆金所使用二维码扫描功能时内存出现了比较严重的抖动,算法需要优化。

4 ,每次启动,普遍耗时 4S 以上,并且基本不跟网络相关,跟其他的 APP 相比,明显略长。

5 ,在网络情况良好(宽带,4G 情况),响应表现不错。但是在网络情况差(2G)时,耗时成几倍增加,应该是没有对这种情况做优化。

- 稳定:

1, 通过使用 Monkey 和自动化脚本模拟 50 万以上的随机事件通过事件数/异常数计算异常概率为 3/10000。

2,通过用 Monkey 脚本时间间隔时间 1s 左右持续执行 12 小时左右未发现异常。

欢迎一起交流,一起进步 可以关注我的微信公众号:“测试开发进阶” - 点我关注

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 76 条回复 时间 点赞

好高大上啊。先顶了。

—— 来自 TesterHome 官方 安卓客户端

这个是测试服务么?

屌屌的

碉堡了!

碉堡了。。。收藏之

收藏了

请问下这些时间是通过什么方式计算出来的

testly, 我是小华,你这是 用什么工具测的呢?

testly.有没有兴趣来陆金所上班?

手势密码,有动画效果。最新版已移除。所以内存消耗和耗时情况会好些。

专业,赞

很棒,赞一个

请问首页场景加载冷启动和热启动有什么区别?

前排怒刷存在感

目前整个质量评估体系还只是雏形,需要再打磨。有些数据不能让人信服,有些别人看不懂。加油。

第一版很不错了

有快递,请查收,啊哈哈,帖子真的很赞

下回我也刷个_^

#10 楼 @caidxv 请问是不是存在,反编译之后,挂个其他投资产品的广告在里面,然后到处市场分发。当时用户却不知道的情况?

匿名 #22 · 2015年10月30日

牛!赞!

膜拜。。。

testly #24 · 2015年10月30日 Author

#7 楼 @app_testing 录屏逐帧

testly #25 · 2015年10月30日 Author

#9 楼 @sz_mizu 根据测试项的需求去选取一些工具。有很多种

testly #26 · 2015年10月30日 Author

#15 楼 @mindysz 冷启简单说就是(全新安装未登录首次启动)热启(非全新安装已登录正常启动)冷启的一些后台动作肯定 y 应该是会多一些!

testly #27 · 2015年10月30日 Author

#17 楼 @lihuazhang 加油!!我们会改善的!

testly #28 · 2015年10月30日 Author

#10 楼 @caidxv 目前陆金所已经发布新版,肯定会越来越好的!

testly #29 · 2015年10月30日 Author

#20 楼 @kasi 期待你的!

@testly 有时间我也就最新版的陆金所走个货架测试_^

#30 楼 @kasi 陆金所要哭了

#30 楼 @kasi 0.0 什么叫货架测试

货架测试=预装测试

#30 楼 @kasi 陆金所要给你跪了。。。

@monkey 正常的验收而已啊

好厉害啊!

wow,great article, 不过说点扫兴的,性能那块的测试数据对工程师解决问题一点意义都没有啊。

#37 楼 @shenkai600 这说的的确没有错。不过我们也没有全部开放测试数据,有帮助的,有意义的我们没有放出来罢了。如果要,让陆金所来自己问我们要就是了

赞赞赞,不知道大神们测试和做这个报告,共需要多长时间

跟帖收藏,性能安全都做过,安全最薄弱,需要加强代码能力

超屌的!←-←

#41 楼 @anikikun
#41 楼 @anikikun 这头像。。卧槽。。。我脖子抽筋了。。。

蛮厉害的

—— 来自 TesterHome 官方 安卓客户端

除了 monkey,还用了什么工具?

#41 楼 @anikikun
#41 楼 @anikikun 大东,把头像旋转 90 度

赞,收藏之~

厉害 ,望尘莫及

这个帖子被改过了啊,一些参数设置的图片好像都已经没有了,不是第一版看到的那个样子了 o(╯□╰) o

不错呀

—— 来自 TesterHome 官方 安卓客户端

干货。。

牛大发了

要一统江湖的赶脚。。

大神,这是你们自己团队发起的?跟软件无关,还是它托你们测试的?

牛 B,学习了...

testly #55 · 2015年11月04日 Author

#53 楼 @vayne 自主发起的

请教下,2g,3g,4g 是如何模拟的,是通过模拟丢包率和延迟来做的吗。

#56 楼 @among29 没法真实模拟 或者直接用手机 +sim 卡

#57 楼 @lihuazhang 多谢回复,我在想,能不能通过设置 charles 代理,在 charles 里面模拟丢包,延迟等。但这样,2g,3g,4g 该模拟什么值,就成了问题。

#57 楼 @lihuazhang 顺便试了下,遨游,可以拖拽上传图片。

我想弱弱的说一下:你上面的那些性能指标图做的比较好看,然并卵,没有标准,只有对比,才能知道到 底优还是不优!!

#59 楼 @among29 网上搜下 2g,3g 的标准

#60 楼 @sincool 和谁对比呢?没有竞品

testly #63 · 2015年12月10日 Author

#60 楼 @sincool 谢谢你的建议, 后面我们会增加性能方面基础指标的维度!另外我们接下来会沉淀一些测试数据会增加 一个与竞品比对的维度!

如果把 cpu 曲线也加上,找出内存泄露代码,那就更好了。绘制过渡、启动时间过长,拿出解决方案,那就更完美了。

这标准,能不能专业点,拿 1g 内存手机跑跑看,能不能上 80M,再拿 3g 内存跑跑看。
何不拿这套标准把业内跑一遍
陆金所也是无辜躺枪

#65 楼 @bkmi @testly 这个意见很中肯。

67楼 已删除

弱弱的问句 要如何才能看到微信进行二维码扫描的内存信息,因为尝试了发现,只有安装了 debug 包才能够看到对应程序的内存以及详细的 log 数据。

testly #69 · 2015年12月21日 Author

#68 楼 @zsx10110 跟手机有关系,有些手机就算 root 了也看不到,

#58 楼 @among29 你这个是设置可以模拟弱网。信号通道的,还是用手机卡

厉害啊 学习

赞一个

匿名 #73 · 2016年12月05日

厉害,学习了~
小白求教:性能测试指标中的——页面渲染:3x 和 4x 的页面不超过 1/3,这句话是什么意思?

恒温 感谢 fir.im —— 结果公布 中提及了此贴 06月05日 13:20

@testly 时隔几年,挖贴。问个低级问题,请问 “monkey 时间间隔 1s 持续运行 12 个小时” 是怎么做的呢?😂

testly #76 · 2017年12月04日 Author
spring-ssh 回复

事件数乘以间隔时间 =12*60*3600

testly 回复

收到,感谢😀

testly #78 · 2017年12月04日 Author
spring-ssh 回复

客气

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册