阿里测试技术最高奖,又被淘系技术部技术质量团队拿了
署名2021-01-19

阿里测试技术领域的最高奖项就是爱迪生奖,奖励在测试领域有卓越表现和突出贡献的技术团队。

2019年第四届爱迪生大奖中,淘系技术部——技术质量团队斩获了大赛冠军。

2020年的5月21日,第五届阿里巴巴测试爱迪生大赛颁奖典礼正式举行,经过一整天紧张激烈的评比,淘系技术技术质量团队最终凭借《客户端体验分级之统一降级》在29个项目脱颖而出,再次斩获大奖!

背景

你遇到过这样的情况吗?一个团队辛苦做了半年的业务,大促期间是最好的验证机会,但业务被评估内存高风险高,被迫提前关闭;专门为大促准备的活动,业务同学摩拳擦掌等拿结果,上线后由于某部分有问题导致整个业务下线,这些显然与我们业务先赢的愿景是背离的。或是上线后引发崩溃但是却因种种原因只能硬抗,这带给用户的感受显然与阿里用户第一的原则是不符的。

业务是必须要尝试新玩法的,这是发展的基础,近几年像多媒体、AR、游戏、动效、端智能已经铺开了,但是用户呢,16年上市的设备与19年上市的设备同时使用,可以很明显的感受到流畅度的差距,对于依旧使用16年设备的用户来讲,手淘使用感受就是 「难用」。

使用这些难用设备的用户有多少?19年11月的一份行业分析报告中可以看出,约 60% 的国产Android用户购买的是2000元以下的设备;超过 30% 的iphone用户还在使用 5 年之前的机器,在四线城市这个数据接近 50%。

一边是一些设备性能较差的用户反馈卡顿,一边是客户端需要更炫酷的玩法去支撑业务发展。冲突出现了,比起不顾一切的上动效或是一刀切的砍玩法,显然存在一个更合理的共赢的选项:

体验分级

我们为客户端提供一套无需业务代码改动、快速生效、支持多维度筛选的通用分级降级能力。通过分级能力,高端机用户可以有更炫酷更沉浸的玩法,低端机用户可以有流畅的购物体验;通过降级能力,业务能够维持最大的可用性,将线上问题的影响面降到最低。目前统一降级已成为淘系主流业务的分级降级标准。

业务的接入非常简单清晰,在平台上进行唯一 ID 的注册,只需要填写这两项,接下来端上在进入自身逻辑之前请求客户端 SDK,客户端 SDK 会根据当前设备信息以及平台配置信息返回给业务对应的策略,业务根据策略执行对应的业务逻辑,如果业务没有特殊配置,至此基础使用部分就完成了。

统一降级

对于个性化分级/线上止血的需求,平台支持对品牌、机型、版本、系统、设备分、CPU架构、GPU分数等维度进行排列组合的灵活配置;举个真实的例子,某业务在 iphone7 ios 13 线上出现崩溃,就只需在平台上选择 iphone7 、选 ios 13、选降级,当用户设备是iphone7 ios 13时就匹配成功返回业务想走的策略了。

再走一步试试

在19年的双促实战使用中,我们通过分析数据发现一个现象,很多时候crash会聚集在某几款机型中,也就是说那几款机型以较低的用户占比贡献了较高的crash占比。

那么我们为何不再往前走一步,通过实时数据分析,给业务提供合理的推荐降级策略,联动降级平台引导业务做出投入产出比较好的决策。

我们通过各个业务的 crash 分布占比数据,以及手淘用户机型占比数据,进行算法模型关联,推荐给业务高投入产出比的降级列表,帮助业务做决策。

用户用脚投票才是真的好

设备评分体系18年投入使用,统一降级体系19年投入使用,截止目前手淘内的互动活动、游戏等新玩法都已接入,像闪屏、店铺等一线模块也已接入。大促主互动主会场从19年双十一开始至马上到来618分级降级全部依托统一降级能力。

使用效果举例:

问题1:双十一主互动上线后 crash 高于预期 ,迅速升为手淘 native crash的 top 1 问题

分析:通过统计数据并分析可以看出,crash主要集中在某几款机型上,有10款机型crash占比 49% ,但是该10款机型的用户占比很低。

之后决策通过统一降级能力进行止血:

  1. 针对指定机型执行降级
  2. 同时将手淘低端机分数线上抬,从 20分 抬高至 40分

效果:降级后,原10款机型crash占比从 49% 下降到 15%

降级前该crash占比总体 19.258% ,降级后该crash占比总体 8.94%。

问题2:321大促 ios 端店铺直播卡片发生 crash ,双端均无法上线。

分析:首先 ios 端进行降级,保证 andoroid 端正常上线有业务效果,接下来对ios进行修复后降级逐步恢复。

目前手淘内的大型互动、游戏使用统一降级已成为标准,我们所见的大盘上每一个数字都是一个真实用户的感受,让用户用的舒心、让业务玩法发挥最大价值,是我们需要持续建设的部分。

CRASH 大盘上每一个数字都是一个真实用户的感受,每次一分级处理都是对业务和用户共同的保护。