当前位置:网站首页>遗留系统的自动化策略
遗留系统的自动化策略
2022-07-31 02:56:00 【CrissChan】
遗留系统的自动化策略
维基百科:遗留系统是一种旧的方法、旧的技术、旧的计算机系统或应用程序,“属于或与以前的、过时的计算机系统有关” ,但仍在使用中。通常,将系统称为“遗留系统”意味着它可能已经过时或需要更换。
什么样的系统是遗留系统
Martin Fowler说过Let’s face it, all we are doing is writing tomorrow’s legacy software today.这句话说出了残酷的现实,我们团队现在写的每一行代码最后都会变成遗留系统的代码,这也变相的说明每一个研发工程师都脱离不了改造遗留系统的宿命。从Martin Fowler对遗留系统的描述中我们不难看出来,遗留系统并不是单靠系统的第一行代码距离现在的时间来衡量的,还包含了代码的质量、架构设计、DevOps流水线、支持系统等。很多遗留系统的代码质量都非常差,没有单元测试、API自动化测试、UI自动化测试等自动化的质量保障活动;架构设计混乱,各种设计方式、技术交织在一起;没有交付流水线,所有的交付流程仰仗于某几个研发工程师等等问题才是遗留系统需要面对的痛点。
Michael Feathers在他的书《Morking Bfectively with Legacy Code》中给出了遗留系统的定义:没有自动化测试的系统就是遗留系统。虽然这个定义并不是所有人都认同,但是已经足以看出没有自动化测试的遗留系统对于参与修改的开发工程师是一个灾难。那么对于一个遗留系统,并不是每次都可以启动重构大法完成项目的改进,通过弥补自动化测试解决遗留系统变更的痛点也是不失是一个好办法。
没有自动化测试的遗留系统如何弥补
遗留系统弥补自动化测试实践的首要原则就是”让自动化测试那些你修改的代码“。这句话指导我们所有
边栏推荐
- Draw Your Cards
- JetPack组件Databinding
- Linux下redis7的安装,启动与停止
- 8. Unified exception handling (controller notifies @ControllerAdvice global configuration class, @ExceptionHandler handles exceptions uniformly)
- JS function this context runtime syntax parentheses array IIFE timer delay self.backup context call apply
- print task sorting js od huawei
- Maximum area of solar panel od js
- Huawei od dice js
- 16. Registration Center-consul
- StringJoiner in detail
猜你喜欢
Moxa NPort device flaw could expose critical infrastructure to devastating attack
16. Registration Center-consul
【C语言】三子棋(经典解法+一览图)
汉源高科8路HDMI综合多业务高清视频光端机8路HDMI视频+8路双向音频+8路485数据+8路E1+32路电话+4路千兆物理隔离网络
SQL注入 Less54(限制次数的SQL注入+union注入)
JS 函数 this上下文 运行时点语法 圆括号 数组 IIFE 定时器 延时器 self.备份上下文 call apply
LeetCode 1161 最大层内元素和[BFS 二叉树] HERODING的LeetCode之路
分布式与集群是什么 ? 区别是什么?
php 网站的多语言设置(IP地址区分国内国外)
知识蒸馏7:知识蒸馏代码详解
随机推荐
编译Hudi
Layer 2 broadcast storm (cause + judgment + solution)
CorelDRAW2022 streamlined Asia Pacific new features in detail
YOLOV5学习笔记(二)——环境安装+运行+训练
Basic learning about Redis related content
LeetCode 每日一题 2022/7/25-2022/7/31
AtCoder Beginner Contest 261 部分题解
YOLOV5学习笔记(三)——网络模块详解
Mysql 45讲学习笔记(二十五)MYSQL保证高可用
Moxa NPort 设备缺陷可能使关键基础设施遭受破坏性攻击
工程(五)——小目标检测tph-yolov5
分布式与集群是什么 ? 区别是什么?
英特尔软硬优化,赋能东软加速智慧医疗时代到来
【银行系列第一期】中国人民银行
SQL injection Less46 (injection after order by + rand() Boolean blind injection)
TCP/IP four-layer model
【C语言基础】解决C语言error: expected ‘;‘, ‘,‘ or ‘)‘ before ‘&‘ token
【HCIP】ISIS
AI中的数学思想
CentOS7下mysql5.7.37的卸载【完美方案】