淘宝团队是如何进行稳定性测试的?

稳定性测试有哪些好用的方法和工具

安卓绿色联盟的稳定性标准是如何制定的/p>

淘宝团队如何进行稳定性测试/p>

阿里巴巴高级测试开发专家梁剑钊为你解读。

梁剑钊

阿里巴巴高级测试开发专家

有10年以上质量保证体系建设经验,先后在B2B、天猫负责测试架构、客户端测试,现在淘宝网负责搭建客户端回归治理体系。

一、稳定性标准

安卓稳定性标准,有两大指标:

1、闪退率,闪退率包括java的闪退率,以及native闪退率。

2、ANR,就是应用没有响应。

(一)安卓绿色联盟稳定性相关标准

1、启动崩溃率

图片描述

这是指一天中出现闪退的用户数或设备数,在整体活跃用户数中的占比。

预置条件
a. 获取应用一天中发生的闪推用户数(去重);

b. 获取应用一天中总体的活跃用户数。

判定标准
各类应用的冷启动时间应该小于五百毫秒。

需要特殊考虑事项
一天中用户或设备崩溃率应该小于千分之二,不同类型app可以有所不同。

(二)崩溃率的线下测试标准

标准涵盖三部分:

机型
要求覆盖80%的主流用户机型,比如说一个app里面,top10机型中至少有八款要包含。主流的用户机型,往往与各应用软件统计数据有关,所以就需要准备用户常用机型,才能去做分析。

流程
首先要覆盖各个场景,场景包括全新安装,覆盖安装,冷启动、热启动,这些都要涵盖。

monkey测试
具体标准是需要覆盖70%以上的页面,包括登陆,非登陆状态,并且经过八个小时不崩溃。

以上三点,必须同时达到,才算是满足稳定性标准。

(三)崩溃上报与聚合

崩溃时,需要把手机的一些基础信息进行上传,这些信息包括:

手机品牌、机型、操作系统、地理位置,运营商、网络类型、用户名等等;
闪退的堆栈信息;
崩溃前后用户的操作预置、系统预置信息。
尽可能多的将相关信息上传,才有利于这些工程师去排查问题。信息上传到后台以后,会有系统做特征聚合,机型、版本等等。

(四)应用崩溃标准建议值

经过安卓绿色联盟与各大企业的联合讨论,给出了崩溃建议值:

图片描述

这是淘宝内部的调试版本,它有一些比较高级的feature,比如左边显示的内存泄露的检测、图片持有检测,以及过渡布局、资源泄露等等检测,右边看得到它能够检测线程创建、文件创建、线程阻塞、启动性能、页面加载方面的各种检测。

(二)线上测试

对于稳定性检测的指标如下:

图片描述

从图中可见,也有趋势图,可以选择以某一天为基准,可以相比某一天是上升还是下降,当上升到一定程度会做实时告警。

另外,平台还有其他分类,比如业务类型,类型为业务错误阈值的时候,同时也选大内存图片,会看到底下有一些闪退的情况。总的讲,就是选择具体的场景点就能看到具体的信息。

图片描述

三、常见闪退

目前阿里内部的闪退率已经降到0.2%以下,而双十二的版本闪退率比平时更低。

1、常见闪退类型

a.OutOfMemoryError,有些手机相对较老,在一些大图片分配内存的时候是有问题的。怎么规避呢面已经提到,有软件可以识别大对象、大图片;

b.NullPointerException,空指针理论上是可以扫描出来的,但是实践中还是会发现有一些遗漏数据。

c.IIIegalArgumentException

d.FileNoteFoundException,一般是图片在不同的机型上有异常。

2、稳定性相关工具

淘宝在双十一也曾出现在很多页面特效叠加的时候导致整个APP崩溃的情况,尤其对于老旧手机,这种情况更多。所以淘宝的工程师在双十一以后就特别关注内存相关的变化。阿里开发了telescope平台,里面有系统性能,应用性能,页面性能、公众反馈等功能,在这里可以看到系统性能的信息,包括CPU、增率流量、内存。

除了阿里开发的稳定性相关平台,也可以看得到业界很多公司在做相关的努力,比如百度、友盟的统计软件,Bugly、网易云捕等工具。

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92707 人正在系统学习中 相关资源:连续梁的弯矩计算软件V1.0绿色版_连续梁-其它代码类资源-CSDN文库

来源:weixin_34166472

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月21日
下一篇 2018年2月21日

相关推荐