1、去哪儿网测试环境体系设计与实践刘丹测试高级经理自我介绍17年毕业于哈尔滨工业大学,加入去哪儿网去哪儿网酒店供应链与搜索测试负责人长期致力于提升DEV/QA在测试环境的工作效率 刘 丹目录背景 测试环境分析 去哪儿网测试环境演变历程介绍去哪儿网测试环境治理实践效果去哪儿网测试环境体系设计总结与展望测试环境重要性分析需求阶段排期阶段开发阶段联调测试阶段发布上线测试环境周期涉及阶段工欲善其事,必先利其器测试环境定义一般测试环境=软件+硬件+网络+数据准备+测试工具测试环境包含什么?去哪儿网测试环境=应用+数据存储+中间件+负载均衡+数据+测试工具测试环境问题分析数据可用性问题数据可用性问题业务连通性
2、问题业务连通性问题基础可靠性问题基础可靠性问题交付效率交付效率环境创建时间,创建成功率应用机器,DB/Redis,中间件等单环境内应用调用,跨环境调用数据准备,丰富度,可用性去哪儿网测试环境演变历程201820202021固定环境1.0环境模型2.0环境模型云环境模版3.0环境模型软路由环境去哪儿网测试环境演变历程-2.0环境模型配置管理一键生成并行测试Noah提供环境模版用来定义整个环境所需要的资源信息、软件信息、数据信息、依赖信息Noah可以使用环境模版一键创建包含应用、数据库、中间件、域名、负载均衡等资源的完整项目环境Noah使用同一环境模版可以创建多套相同环境,环境间资源、数据及服务相
3、互隔离,互不影响自动更新Noah提供数据同步、代码同步、配置同步等功能为服务更新保驾护航Noah平台基于云服务一站式管理测试环境去哪儿网测试环境演变历程-2.0环境模型去哪儿网测试环境演变历程2.0环境模型,云环境模版,同项目周期 全链路去哪儿网测试环境演变历程3.0环境模型环境交付环境交付环境使用环境使用环境保障环境保障环境指标环境指标CICDCICD去哪儿网测试环境3.0实践效果怎么证明测试环境模型3.0有效果?If you cant measure it,you cant manage it-Peter F.Drucker环境指标质量环境稳定性创建/更新成功率自动维护成功率环境检查数据效
4、率环境交付时间环境创建时长环境更新时长环境使用工具使用数据软路由项目数据成本物理资源成本人力维护成本测试环境模型-指标定义yi测试环境模型2.0VS3.0指标并行软路由环境数 700+因环境问题阻塞项目占比 0.07%目录背景 测试环境痛点分析 去哪儿网测试环境演变历程介绍去哪儿网测试环境治理实践效果去哪儿网测试环境体系设计总结与展望测试环境3.0模型环境交付 软路由体系环境使用 环境入口多场景环境数据初始化环境工具支撑环境保障完善保障&检查体系环境指标CICD测试环境3.0模型-环境交付软路由机制测试环境3.0模型-环境交付环境绑定环境使用者通过Noah环境绑定工具将uid(去哪儿用户标识,
5、下称uid)和环境绑定建立环境绑定关系并存储 测试环境3.0模型-环境交付改造类型服务感知服务选择测试环境Noah增加三个变量基准环境id,软路由id,是否开启软路由Qtrace增加标识,#软路由环境id#基准环境id根据链路中环境标识,路由到软路由的服务,如果缺省则路由到基准环境OR(OpenResty)一个应用所有环境入口使用同一套域名在环境创建/更新时新增/更新 对应的upstream识别请求路由信息和域名中转发规则进行匹配,匹配成功转发对应软路由环境,匹配不到则转发到基准环境Dubbo使用一套 Zookeeper保证软路由服务被及时发现,各软路由环境服务注册时带上环境标识根据链路中软路
6、由标识和注册中心的环境标识匹配选择匹配上选择对应环境dubbo服务,匹配不到默认基准环境Mq保证软路由服务被及时发现各软路由环境qmq注册时带上环境标识根据消息体的软路由标识识别,只消费软路由标识匹配上的消息,如果软路由环境没有匹配成功则由基准消费环境流量转发测试环境3.0模型-环境交付路由过程测试环境3.0模型-环境交付业务线使用改造测试环境3.0模型-环境交付环境创建智能拉取,合理依赖3.0模型-环境使用-环境入口多场景APP消息消息扫码获取当前设备消息体增加路由标识PC接口接口自动识别当前设备id添加路由标识3.0模型-环境使用-环境数据基准库定义