当前位置:网站首页>遗留系统的自动化策略
遗留系统的自动化策略
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 component Databinding
- 基于opencv实现人脸检测
- 7. List of private messages
- Mysql 45讲学习笔记(二十五)MYSQL保证高可用
- JS function this context runtime syntax parentheses array IIFE timer delay self.backup context call apply
- CMOS和TTL的区别?
- Basic learning about Redis related content
- try-catch中含return
- Thesis framework of the opening report
猜你喜欢
mycat的主从关系 垂直分库 水平分表 以及mycat分片联表查询的配置详解(mysql5.7系列)
The simulation application of common mode inductance is here, full of dry goods for everyone
4. Sensitive word filtering (prefix tree)
The final exam first year course
The application of AI in the whole process of medical imaging equipment
[Android] Room - Alternative to SQLite
Mysql 45讲学习笔记(二十五)MYSQL保证高可用
Graphical lower_bound & upper_bound
YOLOV5学习笔记(三)——网络模块详解
7、私信列表
随机推荐
19.支持向量机-优化目标和大间距直观理解
YOLOV5 study notes (2) - environment installation + operation + training
JetPack component Databinding
Basic learning about Redis related content
英特尔软硬优化,赋能东软加速智慧医疗时代到来
Draw Your Cards
How to build a private yum source
STM32CUBEMX开发GD32F303(11)----ADC在DMA模式下扫描多个通道
10. Redis implements likes (Set) and obtains the total number of likes
品牌广告投放平台的中台化应用与实践
Pythagorean tuple od js
Installation of mysql5.7.37 under CentOS7 [perfect solution]
golang GUI for nuxui — HelloWorld
The final exam first year course
19. Support Vector Machines - Intuitive Understanding of Optimization Objectives and Large Spacing
CorelDRAW2022精简亚太新增功能详细介绍
自动化办公案例:如何自动生成期数据?
Linux下redis7的安装,启动与停止
知识蒸馏7:知识蒸馏代码详解
全流程调度——MySQL与Sqoop