产品在上线新功能之前,往往需要先做灰度测试,那么灰度测试的难点在哪里?其中,如何定义灰度测试的标准就是难点之一。这篇文章里,作者结合实战经验,针对灰度标准如何定这个问题做了解读,一起来看看吧。
我们在上线一个新功能前,如果没把握,都会做灰度测试,那么灰度测试的难点在哪里呢?
笔者认为如何定灰度测试的标准往往是难点。
一、结合测试目标定灰度标准
定标准前,需要先明确灰度测试的目的是什么?
是检测性能问题,还是想看体验效果。
比如如果灰度测试的标准是检测性能问题,那么往往在灰度测试前,都会做压测(压力测试),模拟线上的流量环境,提高灰度测试的准确性。
在灰度之后,如果发现性能受到较大影响,一般会做回滚(定位到新功能代码行,下架新代码,仍然复用老代码),当然一般开发都会在新功能代码行处设置开关,当出现性能问题后,直接关闭开关即可。而做性能检测的难点在于模拟压力测试的环境,压测的环境越真实,检测的标准真实度越高。
而如果是想看体验效果,例如上线新功能后,想查看新功能用户的点击率如何?
此时就涉及到灰度标准的制定。比如小红书,当你发布一篇小红书笔记后,小红书会先选定100人的范围,可能涉及到发布笔记的话题,同城,女性等标准,在100人的范围内点击数据理想,将会继续释放流量到500人范围,以此类推,当你的笔记获得更多收藏和赞,会获得更多流量助推。其实这个本质上也是灰度测试。
二、计算“最小可靠性样本”,定最佳样本数
灰度测试的样本数应该如何选取呢?大多数情况下,测试样本数是越多越好。但是如果没有定好方案,那么将会影响最终测试的效果。
这里提供一个灰度测试样本数计算网址,使用它便可以快速计算出样本总数。
灰度实验组的人数为“最小可靠性样本”。可以通过这个网站来计算合适的人数:Evan’s Awesome A/B Tools。标红的部分即为最佳样本数,至于计算原理和使用网站方法,大家可以自行百度,有各类文章可供参考。
三、颗粒度都会从粗到细,多次灰度
例如“文心一言”大模型刚面世的时候,筛选了一批用户优先体验。这其实本质上也是灰度测试,而优先获得文心一言试用机会的,也许是这样一些标签:高频筛选“大模型”用户、高频搜素ChatGPT用户等。那么回到最初的问题,灰度的标准应该如何定呢?
一般灰度测试颗粒度都会从粗到细去制定,颗粒度的制定当然前提是来源于公司是否有该字段数据库的支持。
比如公司主打做旅游市场的汽车租赁服务,根据前期调研,发现疫情后,旅游业将迎来小高峰,很多自驾游游客都会选择环岛游,汽车租赁服务必然会非常受欢迎。因此公司计划在海岛附近开设汽车租赁服务。
在平台开设租赁服务方案后,不确定该租赁服务上线后市场的接受度,需要先选取最小可靠性样本。可靠性样本从最开始的粗颗粒度:旅行目的地“海岛、”旅行方式“自驾”,先回收一批用户的测试数据,再慢慢细化颗粒度,比如旅行天数(30天内、10天内、5天内)、旅行人数(家庭游、亲子游、情侣游)、旅行交通费用(1000、2000、3000)等字段对租赁方案的接受度各自如何。
多次灰度后,分析用户数据,哪部分用户会选择汽车租赁服务。从而推动租赁方案进一步完善和精准化投放。
而如果在细化颗粒度的过程中,数据库缺少该字段,比如旅行交通费用不在数据库字段中,那么则无法就这一项做为灰度测试的标准。
以上是笔者在实战中的一点心得,希望能帮助到到家。
本文由 @灰研走B 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议