干货 | 携程酒店DevOps测试实践

作者简介

 

王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作。在测试框架和平台研发、移动测试、DevOps等领域有着丰富的经验。

如今很多大型互联网公司、创新型企业都在积极地进行DevOps实践和落地。为什么DevOps如此受青睐? 我们该如何实施DevOps?DevOps中Dev代表开发,Ops代表运维,那么在这个崭新的流程体系中,QA又该如何找到自己的位置?带着这些疑问和困惑,我们希望在本文中都能进行探索和解答。


一、业务和技术变革驱动流程的变革

  

以往在软件开发的世界里,以月甚至以年为周期进行发布是一种常态。但随着近些年由云、移动互联网、AI、社交技术以及区域链等技术推动的业务变革呈现爆炸式的发展。在这种大背景下,即使是大型的互联网公司也随时面临着业务上被淘汰的危险,持续的业务创新,快速的上线,卓越的用户体验以及快速的获得反馈才是企业制胜的法宝。

  

业务在高速变革,那么技术怎么样呢?技术的变革比之业务,有过之而无不及。应用架构从以往的服务集中到如今盛行的微服务,IT架构从物理机、虚拟机到如今的容器化、云服务,开发技术栈无论是前端还是后端也都呈现百花齐放的姿态。

   

无论是业务变革还是技术变革,最终都会对企业的开发流程造成影响,并进而推动其进行变革。从早期的瀑布式开发,到敏捷开发,再到如今的DevOps,其产生的背景无一不都有着业务和技术变革的影子。

为什么当前我们需要DevOps,甚至很多大型的互联网公司也在进行DevOps转型,其中最关键是因为其核心思想能够满足当前业务和技术变革的需要,那就是“快速的交付价值,灵活的响应变化”。“快速的交付价值”意味着能先人一步占领市场,“灵活的响应变化”亦意味着减少变化带来的不利因素,使企业立于不败之地。

业务和技术变革推动流程变革


二、携程持续交付的现状和挑战

  

携程在很久以前就已经开始进行持续交付的建设,应用部署全部实现了容器化, 并实现了一套自动化程度较高的持续集成发布系统-Ctrip CD(后面简称CD),CD发布流程如下图所示:

携程发布流程图

  

开发人员在功能开发完成并提交代码后, 可以自己操作或通知测试进行环境部署。进行环境部署的人员可以在CD中创建发布版本,然后由CD自动进行代码编译,代码扫描,安全扫描,测试环境部署等操作。测试人员完成测试后进行测试结果的反馈。如果测试通过继续通过CD进行UAT环境的部署,进行验证测试。测试通过后,发布生产环境。

从上面流程图可以看出,整个发布过程自动化程度还是较高的,相关人员只要在CD中操作新建版本,关注发布状态就可以了。但我们仔细分析这个过程还是能发现不少问题:

1)持续集成的反馈链路过长。我们往往希望在开发人员每次提交代码时就进行代码编译,代码扫描,单元测试等过程,而不是在功能开发完成后进行。

2)人工介入依然过多。虽然在CD中可以完成大部分的编译,发布,部署等繁复且人工易出错的工作,但是否可以省略人工创建版本,测试环境手动测试,进而每次提交代码都触发一系列的操作,发布到UAT环境,甚至是生产环境(对于业务简单,单元测试和接口测试的应用)。

3)CD发布系统解决了编译,部署,环境治理等

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值