不如“灰度一下”,灰度标准该如何定?

我们在上线一个新功能前,如果没把握,都会做灰度测试,那么灰度测试的难点在哪里呢?

笔者认为如何定灰度测试的标准往往是难点。

一、结合测试目标定灰度标准

定标准前,需要先明确灰度测试的目的是什么?

是检测性能问题,还是想看体验效果。

比如如果灰度测试的标准是检测性能问题,那么往往在灰度测试前,都会做压测(压力测试),模拟线上的流量环境,提高灰度测试的准确性。

在灰度之后,如果发现性能受到较大影响,一般会做回滚(定位到新功能代码行,下架新代码,仍然复用老代码),当然一般开发都会在新功能代码行处设置开关,当出现性能问题后,直接关闭开关即可。而做性能检测的难点在于模拟压力测试的环境,压测的环境越真实,检测的标准真实度越高。

而如果是想看体验效果,例如上线新功能后,想查看新功能用户的点击率如何?

此时就涉及到灰度标准的制定。比如小红书,当你发布一篇小红书笔记后,小红书会先选定100人的范围,可能涉及到发布笔记的话题,同城,女性等标准,在100人的范围内点击数据理想,将会继续释放流量到500人范围,以此类推,当你的笔记获得更多收藏和赞,会获得更多流量助推。其实这个本质上也是灰度测试。

二、计算“最小可靠性样本”,定最佳样本数

灰度测试的样本数应该如何选取呢?大多数情况下,测试样本数是越多越好。但是如果没有定好方案,那么将会影响最终测试的效果。

这里提供一个灰度测试样本数计算网址,使用它便可以快速计算出样本总数。

灰度实验组的人数为“最小可靠性样本”。可以通过这个网站来计算合适的人数:Evan’s Awesome A/B Tools。标红的部分即为最佳样本数,至于计算原理和使用网站方法,大家可以自行百度,有各类文章可供参考。

三、颗粒度都会从粗到细,多次灰度

例如“文心一言”大模型刚面世的时候,筛选了一批用户优先体验。这其实本质上也是灰度测试,而优先获得文心一言试用机会的,也许是这样一些标签:高频筛选“大模型”用户、高频搜素ChatGPT用户等。那么回到最初的问题,灰度的标准应该如何定呢?

一般灰度测试颗粒度都会从粗到细去制定,颗粒度的制定当然前提是来源于公司是否有该字段数据库的支持。

比如公司主打做旅游市场的汽车租赁服务,根据前期调研,发现疫情后,旅游业将迎来小高峰,很多自驾游游客都会选择环岛游,汽车租赁服务必然会非常受欢迎。因此公司计划在海岛附近开设汽车租赁服务。

在平台开设租赁服务方案后,不确定该租赁服务上线后市场的接受度,需要先选取最小可靠性样本。可靠性样本从最开始的粗颗粒度:旅行目的地“海岛、”旅行方式“自驾”,先回收一批用户的测试数据,再慢慢细化颗粒度,比如旅行天数(30天内、10天内、5天内)、旅行人数(家庭游、亲子游、情侣游)、旅行交通费用(1000、2000、3000)等字段对租赁方案的接受度各自如何。

多次灰度后,分析用户数据,哪部分用户会选择汽车租赁服务。从而推动租赁方案进一步完善和精准化投放。

而如果在细化颗粒度的过程中,数据库缺少该字段,比如旅行交通费用不在数据库字段中,那么则无法就这一项做为灰度测试的标准。

以上是笔者在实战中的一点心得,希望能帮助到大家。

本文作者 @灰研走B

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部