首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重构遗留代码的质量保证

重构遗留代码的质量保证
EN

Stack Overflow用户
提问于 2010-11-23 22:11:06
回答 3查看 322关注 0票数 3

我们的团队正计划在遗留代码base.Its中重构一些模块,这是一个用java编写的web应用程序。它根本没有单元测试。

我要求开发人员在重构之前为现有功能编写一个junit,但我相信这不会很广泛。

我还可以采取哪些其他措施(黑盒/白盒/进程)来确保重构不会干扰任何现有功能。

目前的系统相当稳定,已经运行了8年多。

谢谢,格雷

EN

回答 3

Stack Overflow用户

发布于 2010-11-23 22:57:47

在你开始之前,先读一读迈克尔·费瑟斯的Working Effectively with Legacy Code

处于当前状态的代码很可能无法进行有效的单元测试(因为它可能不在单元中)。我所看到的工作良好的是集成级测试,只需使用一些合理的输入并记录输出即可;web应用程序使这一点特别合适。编写这些,然后产生小的方法和类-单元测试所有新的东西-同时保持这些高级别测试工作。这比从一开始就正确地做TDD要多得多,但这绝对是可行的。

票数 2
EN

Stack Overflow用户

发布于 2010-11-23 22:18:42

您可能会面临两个问题:代码在现代意义上不是单元可测试的,并且代码中存在尚未被捕获的bug。面对这种情况,我强烈建议您尽可能多地使用黑白盒测试。我理解,这是一个痛苦的过程,但有一种方法可以减轻它。

您的工程师是否可以提取一些接口,以便您可以创建一些集成测试。也就是说,如果它们正在重构,它们是否可以围绕一些公共区域进行固化,并将应用程序划分为较小的块,这些块在可预见的未来将在开发周期内基本保持不变?这将允许您至少使用一些更大的方法来执行更多的测试。它还将允许您,qa人员,对现有代码进行询问,以获得它所期望的结果。

票数 1
EN

Stack Overflow用户

发布于 2010-11-23 22:16:14

除了编写更多的junit之外,您还可以始终record test scripts with JMeter. Include断言,以确保获得预期的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4256820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档