当前位置:网站首页>遗留系统的自动化策略
遗留系统的自动化策略
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》中给出了遗留系统的定义:没有自动化测试的系统就是遗留系统。虽然这个定义并不是所有人都认同,但是已经足以看出没有自动化测试的遗留系统对于参与修改的开发工程师是一个灾难。那么对于一个遗留系统,并不是每次都可以启动重构大法完成项目的改进,通过弥补自动化测试解决遗留系统变更的痛点也是不失是一个好办法。
没有自动化测试的遗留系统如何弥补
遗留系统弥补自动化测试实践的首要原则就是”让自动化测试那些你修改的代码“。这句话指导我们所有
边栏推荐
- 8、统一处理异常(控制器通知@ControllerAdvice全局配置类、@ExceptionHandler统一处理异常)
- YOLOV5 study notes (3) - detailed explanation of network module
- 编译Hudi
- f.grid_sample
- CMOS和TTL的区别?
- 分布式与集群是什么 ? 区别是什么?
- [C language foundation] Solve C language error: expected ';', ',' or ')' before '&' token
- 【C语言】表达式求值的一般方法
- JS 函数 this上下文 运行时点语法 圆括号 数组 IIFE 定时器 延时器 self.备份上下文 call apply
- 软件积累 -- 截图软件ScreenToGif
猜你喜欢
随机推荐
f.grid_sample
华为分布式存储FusionStorage知识点总结【面试篇】
你们程序员为什么不靠自己的项目谋生?而必须为其他人打工?
AI software development process in medical imaging field
11. Redis implements follow, unfollow, and follow and follower lists
Brute Force/Adjacency List Breadth First Directed Weighted Graph Undirected Weighted Graph
YOLOV5 study notes (3) - detailed explanation of network module
12 磁盘相关命令
The modification is not properly placed in the sandbox, causing Apple compatibility issues
Uninstallation of mysql5.7.37 under CentOS7 [perfect solution]
完整复制虚拟机原理(云计算)
Discourse Custom Header Links
golang GUI for nuxui — HelloWorld
SQL injection Less46 (injection after order by + rand() Boolean blind injection)
Thesis framework of the opening report
4、敏感词过滤(前缀树)
AtCoder Beginner Contest 261 部分题解
SQL 面试用题(重点)
Installation, start and stop of redis7 under Linux
Installation of mysql5.7.37 under CentOS7 [perfect solution]









