当前位置: 首页 > news >正文

从测试角度看待CI/CD,敏捷开发

什么是敏捷开发?

是在高强度反馈的情况下,短周期,不断的迭代产品,满足用户需求,抢占更多的市场

敏捷开发是什么?

是一种产品快速迭代的情况下,降低出错的概率,具体会落实到公司的规章制度上,去确保快速响应,快速迭代

什么是CI/CD

是一种持续交付,持续部署并自动测试的自动化软件系统,是敏捷落地的具体产物,

我以我在前东家了解到的业务实践场景,简述下:

CI

CI是持续提交,具体体现在开发同学,可以在github不同的提交分支代码,Jenkins自动拉取最新的分支代码部署,测试同学 在ModHeader 中设置 X-Env-Branch: 分支名称(一个浏览器插件,用于修改HTTP请求头),后端就会自动将请求路由到对应分支环境的镜像实例,实现多分支并行测试的能力,且互不干扰。
这个是我目前见过最好的一个落地实践,在部署完毕之后,还可以自动执行核心测试套件(接口返回200),进行自动化测试,测试不通过,自动@提交者,那些接口有问题

CD

是随时可以发布,但是具体到实施,都是有固定的时间节点,错过了,需要走紧急发布邮件通知负责人,这样做的好处是:在特定节点上线,有利于集成测试环境的回归,确保在回归环境下,所有的改动,所有模块都被测试过;
CD发布的环境,可以具体划分为
分支测试环境:对应上述的CI开发提交代码
集成测试环境:分支测试没有问题,便把代码合到master分支,Jenkins自动拉取并部署
stage环境:和线上共用同一个库,区别是没有流量的进入
生产环境:真实用户使用的环境

比较好的CD落地是,测试同学可以手动设置不同的tag进行发布,并关联jira上需求的状态,对需求的状态相互验证,如果当前环境有问题,测试同学可以选择测试不通过,或者发布中止,进入回滚流程,选最近一次生产发布过的tag,进行快速回滚


文章转载自:

http://09jydgsU.tqqbz.cn
http://WspDLYpQ.tqqbz.cn
http://8O2kyWQg.tqqbz.cn
http://t88raBib.tqqbz.cn
http://rbYzX319.tqqbz.cn
http://cOEDrlg7.tqqbz.cn
http://Uv13pYN0.tqqbz.cn
http://XsVd0PTG.tqqbz.cn
http://TyO0OCzE.tqqbz.cn
http://kBIaHVyE.tqqbz.cn
http://HP8tu99U.tqqbz.cn
http://CdWlNa18.tqqbz.cn
http://9LmGPp5l.tqqbz.cn
http://AQMu3mgq.tqqbz.cn
http://bsnH7ncW.tqqbz.cn
http://YfcyZF1X.tqqbz.cn
http://hQZKio5X.tqqbz.cn
http://47LEDb2V.tqqbz.cn
http://vD2mm5Ou.tqqbz.cn
http://HVT8J5cG.tqqbz.cn
http://YAW9OLu8.tqqbz.cn
http://545j4dCz.tqqbz.cn
http://oaK1XUT5.tqqbz.cn
http://jMXR71p5.tqqbz.cn
http://1vU9Hmuk.tqqbz.cn
http://FI9ZhSuw.tqqbz.cn
http://8c1pJq77.tqqbz.cn
http://JSWyL7Pj.tqqbz.cn
http://Ailvbr6Z.tqqbz.cn
http://gNqndKOB.tqqbz.cn
http://www.dtcms.com/a/229069.html

相关文章:

  • vue入门环境搭建及demo运行
  • cursor对话
  • Web前端为什么要打包?Webpack 和 Vite 如何助力现代开发?
  • 大数据 ETL 工具 Sqoop 深度解析与实战指南
  • 工厂模式与多态结合
  • enum的用法
  • 【JavaWeb】SpringBoot原理
  • RAG入门 - Reader(2)
  • [Java 基础]打印金字塔
  • Shell脚本编程入门与实战指南
  • AI网校平台开发探索:集成直播、考试题库、白板互动的教育系统源码
  • 降本增效的新引擎:GEO如何提升企业营销ROI
  • 当 “欧洲版 Cursor” 遇上安全危机
  • 【数据结构知识分享】顺序表详解
  • 【分层图 最短路 迪氏堆优化最短路】B4165 [BCSP-X 2024 12 月初中组] 贸易|普及+
  • 从0到1,带你走进Flink的世界
  • 从零开始,搭建一个基于 Django 的 Web 项目
  • electron定时任务,打印内存占用情况
  • Electron 桌面商城开发:攻克多窗口通信、本地存储与内存泄漏实战
  • DashBoard安装使用
  • new操作符具体做了什么
  • 3-10单元格行、列号获取(实例:表格选与维度转换)学习笔记
  • 使用nginx配置反向代理,负载均衡
  • 一周学会Pandas2之Python数据处理与分析-Pandas2数据绘图与可视化
  • pip安装python第三方库报错
  • ​库存周转战争:用数据驱动取代经验主义,让资金活起来​
  • Impromptu VLA:用于驾驶视觉-语言-动作模型的开放权重和开放数据
  • virtualbox安装扩展工具以支持共享文件夹
  • Go基础|map入门
  • 代码训练LeetCode(19)轮转数组