1、美团到店测试环境建设实践美团 李可欣美团/到店平台技术部/测试部供应链平台质量保障/商品平台质量保障李可欣录美团到店测试环境使现状美团测试环境发展历程 总结与展望01 美团到店测试环境使现状微服务架构带来的挑战互联公司现状 数以万计的应服务 服务间依赖关系错综复杂 业务发展迅速持续交付成熟度的益提升3600+个动化测试例量级2万+次/测试例执次数130+次/PR流线执次数3000+QPS测试环境单机*以到店某向为例依托于测试环境运的各级流线检查研发阶段主要作逐级交付触发机制质量环节测Pipeline提测PipelinePR Pipeline集成Pipeline发布Pipeline开发联调正式提
2、测PR 合服务集成上线发布快速暴露代码问题提测质量/环境验收全质量保障多服务集成问题规范发布和兜底本地Push代码发起提测任务发起/更新PRPR通过/范围变更Plus发布单元测试全量静态代码扫描Draft PR提测前测单元测试全量静态代码扫描分规范检查代码冲突检查测试环境部署动化测试测试覆盖率单元测试增量静态代码扫描PR冲突检测预合并代码测试环境部署动化测试测试覆盖率场景测试全链路测试测试覆盖率预合并代码集成链路分析测试环境部署灰度发布环境发布中检查线上动化测试发布前检查ACA检查Release tag变更Pipeline线上变更变更质量保障数据/配置变更线下动化测试变更审批线上动化测试规范检
3、查ACA检查配置同步线下WIP PR对测试环境的认知迭代测试环境是线下切研发测试活动的基础需求设计开发测试代码合分组发布 分组发布 分组发布线上运维构建测试环境产环境对测试环境的认知迭代随着业务的发展和持续交付成熟度的提升,测试环境的数量剧增我们对测试环境稳定性的要求也上升到新的度13N02 美团测试环境发展历程 测试环境发展历程发展期动化变期精细化2017年2018年2019年2020年今建设期标准化第阶段:从单环境到容器化(2017-2018)问题:基建度环境搭建效率问题环境复杂01 量服务,依赖关系复杂 多场景,多版本流程复杂,涉及多个系统02 机器申请 服务部署 域名注册动化程度低03
4、第阶段:从单环境到容器化(2017-2018)问题:使度环境稳定隔离问题链路依赖,单环境不稳定01测试法并化,所测所发02快速创建互相隔离0102030405有稳定易效解决从到有标解决案主:提供全链路环境的完整性、稳定性撑和致性保障;泳道:负责项间测试的隔离,保证互不扰原则:主和线上部署同套代码保证功能稳定可;泳道于需求测试随随建、完即删泳道:基于容器化的测试环境管理平台、能够快速(分钟级别)创建环境、同时实现链路隔离基本原理env=testswimlane=likexin06-ckahs服务ARPC框架env=testswimlane=likexin06-ckahs服务BRPC框架env=t
5、est服务ARPC框架env=test服务BRPC框架(3)泳道节点调泳道节点(3)主节点调主节点注册中(2)获取服务列表,若有泳道为likexin06-ckahs的下游节点,则访问,否则fallback获取主节点列表访问(1)动注册,上报泳道等信息,节点上携带泳道为likexin06-ckahs的标识(3)获取服务列表,过滤所有带泳道标识的服务节点,未携带泳道标识的为主机器些数据到店主数160到店每创建泳道数2w+条+主机器总数近7000台每持续交付流线动创建泳道数近1w每触发动更新次数近1w*数据范围到店平台技术部第阶段:从基本稳定到度可(2018-2020)硬件设施的线上线下差异01 服
6、务单机配置/服务机器数量/DB机器配置,线下低于线上基础服务功能的线上线下差异02运维段的线上线下差异03 监控报警配置及跟进 主的过滤识别问题:测试环境的稳定性问题稳定可0102030405有稳定易效标解决从有到稳定易户使规范约束具化管理段解决案户使约束户使约束泳道命名规范主禁为泳道使规范主权限管控、部署分限制等为约束根据泳道途遵守命名规范基于泳道特性落地使规范具化管理段权限管理配置规范服务监控变动感知故障感知主配置规范分配置(必须和线上致)平滑发布配置主权限管理主创建权限、操作权限主注册权限主服务监控端监控:稳