对很多软件测试人员而言,可能尚未接触到DevOps,本文的内容基于笔者日常学习,针对测试人员所记录的一些关键信息,算是给大家深入学习DevOps的一个引子。
DevOps是开发(development)和运维(operations)的缩写。但对很多人来讲,可能就容易被这缩写或字面的意思所误导,也就是说并非所有人都了解DevOps是什么。
广义的讲:DevOps是一种基于精益和敏捷原则的方法,企业所有者及其开发、运维和质量保证部门运用此方法持续的交付软件,支持企业更快地抓住市场机遇并缩短融入客户反馈的时间。
注:此定义来源IBM关于DevOps介绍的文章。
在IBM和诸多DevOps实践过程中,比较合适各种规模的组织采用的DevOps的工作原则主要是:
✔️ 针对类生产环境进行开发和测试 ✔️ 利用可重复的可靠流程进行部署 ✔️ 监控并验证运维质量 ✔️ 放大反馈回路
基于这些原则和笔者测试工作中的实践,从测试角度有以下几个感受:
✔️ 快速的迭代交付即为质量 ✔️ 聚焦用户需求即为质量 ✔️ 好的售后服务(技术支持)即为质量
这三条原则也是笔者在日常工作中,将测试工作进一步进行升华的总结。
DevOps提供了一套成熟的解决方案的模板,其参考架构如下图:
基于上参考架构所提出的四种采用方法如下:
✔️ 规划 ✔️ 开发/测试 ✔️ 部署 ✔️ 运维
✔️ 确定业务目标 ✔️ 确定交付过程中的瓶颈
变更流程应包含以下:
✔️ 工作项管理 ✔️ 可配置工作项工作流 ✔️ 项目配置管理 ✔️ 规划(敏捷和迭代) ✔️ 基于角色的访问控制
采用DevOps时需要融入一些具体的技巧:
✔️ 持续改进 ✔️ 发布规划 ✔️ 持续集成 ✔️ 持续交付 ✔️ 持续测试 ✔️ 持续监控和反馈
在实际过程中,我们可能遭遇的挑战
✔️ 监管阻碍 ✔️ 流程复杂性 ✔️ 技能不足 ✔️ 组织孤独 ✔️ 不合理的应用平台、工具导致过程的发布周期、不必要的延迟和浪费资源
整理了些关键的信息,更多的信息请参见下面的链接
IBM DevOps文档:https://www.ibm.com/cloud/devops