作者回复: @日拱一卒 同学,每一次的回答都很到位。先赞一个!
这里稍微补充一点。在移动端进行金丝雀发布还是比较普遍的。因为很多移动端APP。都是强依赖一个后端服务。可以比较方便的通过后端API来进行控制。如果是桌面版的程序,要实现金丝雀发布,前提也是需要有一个和后端服务沟通的渠道。
这里的一个技巧,是使用功能开关来控制版本的回归,而不用要求客户重新安装旧版本。
作者回复: 我在Facebook工作的时候,Facebook没有怎么使用在生产环境下做集成测试。大家很多集成测试是在开发环境和测试环境直接做的。不过因为开发环境、测试环境和生产环境共享数据,所以集成测试跟线上环境还是很相似。这里有一个做法可以参考,对对测试数据打标签、所有业务逻辑都对测试标签进行处理。所以我觉得"识别后可能会根据测试点需要做不同的处理"这个就得这么做。