25|成果验证:如何评价遗留系统现代化项目的成败?
姚琪琳
你好,我是姚琪琳。
前面我们用了四节课的时间,解决了在拆分遗留系统时会遇到的种种难题。接下来就到了“提交答卷”的重要时刻,也就是遗留系统现代化的成果验证。
如果团队费时费力做完了改造,就撤出或解散了,没有后续的数据追踪和指标度量,改造成效就无法很好地展示出来。这样,领导和业务方对成效的感知就会很弱,下次可能就不会再投入资源做类似的改造了。
编筐编篓,全在收口,这节课我们就来聊聊成果验证的方法,让你的遗留系统改造项目在掌声中落下帷幕。
功能验证
首先,当一个任务改造完成后,我们需要对它进行功能方面的测试,以确保改造后的功能和改造前的功能是一致的。
这种不改变软件外在行为的“改造”其实就是重构,只不过不是代码级别,而是架构级别的重构。通常,代码级别的重构我们会用单元测试来保证重构的正确性,那对于这种架构级别的重构,应该如何来保证呢?
并行核对
我们前面的课程中一直在说,要基于特性开关做人工的 A/B 测试。其实A/B 测试原本是用于用户体验分析的,收集用户对 A、B 两个软件版本的真实反馈来进行选择。我们这里将其作为验证重构正确性的工具,算是扩大了它的外延。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了遗留系统现代化项目成果验证的重要性,并提供了多种验证方法。首先,功能验证是关键,可以通过并行核对、E2E测试、集成测试和数据对比等方式来验证重构的正确性。另外,动态开关工具也是一种验证重构正确性的方式,可以通过Feature Toggle as a Service等服务来管理特性开关。在发布到生产环境前,可以使用蓝绿部署、灰度发布等高频发布技术来降低发布风险。文章还介绍了假设验证的重要性,以及如何收集并对比数据来验证最初的假设是否成立。最后,强调了有效的成果验证对团队士气和改造的价值都具有重要意义。整体而言,本文提供了丰富的实践经验和技术指导,对于进行遗留系统现代化的读者具有重要参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《遗留系统现代化实战》,新⼈⾸单¥59
《遗留系统现代化实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- aoe改造遗留系统的过程中,因为添加功能测试发现了一些 Bug,改造后代码质量提高了,节省了很多找 Bug 的时间。
作者回复: 恭喜,初步体会到了遗留系统现代化带来的成效。提醒一下,最好把bug率作为指标进行度量,让所有人知道这些成效~
2022-06-0823 - 金尚老师我做的是旧系统重构但是没有旧系统的源码怎么搞?
作者回复: 重构是在不改变软件外在行为的前提下提升代码质量,没有源码,代码质量也就无从提升了。这时你可以把遗留系统看做黑盒,使用气泡上下文等模式跟它进行交互
2022-10-28归属地:河北 - peter请教老师一个问题: 用Java开发的网站,基于SpringBoot + SpringCloud,前端包括:android、iOS、Vue开发的网页。 这样的网站,其测试有比较通用的自动化测试工具吗?
作者回复: 建议还是写四套测试:后端、三种前端各写各的。因为前端的体验是不一样的,变化方向也是不一样的,如果为了省事儿写一份,最后可能导致为了适配三种情况而难以维护。
2022-06-08 - 沐氡scientist 支持Java吗2023-05-07归属地:陕西
- 子夜枯灯感谢。期待老师提到的“活文档”工具尽快开源。2022-06-061
收起评论