【腾讯优测干货】Crash率从2.2%降至0.2%,这个团队是怎么做到的?

特约供稿人:腾讯公司天天P图项目 乔伟康、梁小龙


小优有话说:
App Crash就像地雷。
你怕它,想当它不存在。无异于让你的用户去探雷,一旦引爆,用户就没了。
你鼓起勇气去扫雷,它却神龙见首不见尾。
你告诫自己一定开发过程中减少crash,少埋点地雷,但总是不得其法。
降低Crash率,需要的是技巧、工具、耐心与时间。
本文由腾讯天天P图测试团队现身说法,为你讲述他们将Crash率直降90%背后的故事,希望能为你“排雷”提供一些思路。
PS:以后每周四记得关注这里哦!小优将为你精选“干货”,让腾讯的开发&测试大牛们陪你一起为提升产品质量!


天天P图作为图像处理类APP,内部集成了很多功能,包括滤镜、人脸检测、美白、磨皮、美妆、拼图、相机等,而且这些功能多是用底层算法依靠GPU实现,如何保证这些功能在众厂商生产的Android手机上正常高效运行,对于测试来说是一项极具挑战的任务。本文主要针对Android天天P图业务介绍我们在降低Crash率方面所做的工作,当然这里也离不开开发同学们的大力支持。

一、Android天天P图业务介绍

1.Android天天P图功能模块数据及潜在测试挑战

Android天天P图内部共9个大模块,共包含近200个子功能,其中各模块内部子功能数目如下表所示:
这里写图片描述
其中:

1)美化照片的滤镜/马赛克,美容美妆的磨皮/美白/上妆等功能均需要用到Native层的算法库,具有爆发底层SIGSEGV、SEGABRT等算法类crash问题的风险,但此类问题很难在单一手机上通过测试数量有限的图片发现,需要考虑如何在有限的机型及时间的情况下,尽可能的暴露此类问题;

2)自拍相机模块由于需要适配各种定制的Android的平台设备,同样存在兼容性Crash的爆发风险,自拍相机的兼容性问题对测试人员来说是一项很具挑战的任务;

3)Android天天P图作为图像处理类软件,美容美妆/故事拼图等模块对内存的要求较为苛刻,需要预防OOM的风险,测试需要知道如何判断鉴别P图内存使用效率及释放时机是否高效合理;

2.Android天天P图各版本Crash率趋势图

面对如上风险,我们再来看一下Android各版本的Crash率情况
优测
从上表可以看出,产品问世初期的两个版本Crash率较高,但在随后的版本中,在不断增加新功能的同时,Android天天P图的Crash率整体呈下降趋势,由最初版本发布的2.2%降低到目前的0.24%。

(小优注:因数据涉及产品隐私,小优打了马赛克,还请各位看官见谅)

二、问题分析与解决策略制定

1.问题分析

1)存量问题分析

Android天天P图接入了RDM(小优注:腾讯内部研发管理工具)异常上报和Bugly异常上报用于观察外网用户遇到的Crash问题,这里先看下版本发布初期上报的主要问题:

下图为V2.0版本上报的TOP10 Crash问题
这里写图片描述
从上图可以可到,Crash主要分如下几类:

–lRuntimeException

–lSIGSEGV/SIGBUS

–lNullPointerException(NPE)

其中RuntimeException需要具体问题具体分析,SIGSEGV/SIGBUS类的问题属于底层算法类问题,NullPointer类的问题为代码保护不规范类问题。

2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值