`

在遗留系统中添加测试

阅读更多

处理遗留系统,感觉有很多问题需要处理。比如来说,不友好的代码等。上周遇到一个问题是这样的。其他同事做了一个新的功能点,然后测试也过了。所以就提交上去。这看起来很正常(如果你也做敏捷,你可能会认为这不正常)。但是问题来了,他的这次修改,对页面的其他地方造成了影响。

比如说,这个新的功能点是要对某个显示做隐藏。他已经实现了,但是呢,当操作某一步的时候,这个内容依旧是隐藏的。导致另外一个功能块,不能work了。好奇葩的问题。虽然后来,我用git找到了问题出在了哪里。但是这样的问题,很可能会出现在以后的工作中。那怎么改善他呢。下面我从openhouse上拿到的一个解决方案。

是这样子的:加入我对某一块进行了调整,无论是增删改都好。既然是遗留系统,那么他遗留代码中却没有测试代码。我们要做的是给他添加代码,不过这里的添加不是一下子全部添加上,而是进行部分添加。也就是对这一块的上一层添加测试点就可以。这样,一点点的添加,一点点的重构,便会改善遗留系统存在的一些问题,而且在添加修改新功能的时候减小出错的概率。

另外要说的是,这样可能会让我们话很多时间在测试上,其实想想也是值得的,当后来再修改这样的代码时,看下测试就可以很快的找找问题的根源。

分享到:
评论

相关推荐

    legacy-app:使用 Spring 演讲改进您的遗留应用程序的代码

    为UserServiceImpl添加了一个集成测试,用于测试用户的创建、发送电子邮件和与远程系统同步。 使用单体应用程序服务通常会做太多事情,在这种情况下,单元测试基本上是集成测试。 使用模拟/存根库来模拟 SMTP、FTP ...

    存货核算系统设计说明书

    存货核算系统是建立在原有版本基础之上的,结合企业的实际业务,增进更改原有的功能,添加了新的功能。编写此版本的目的,使存货核算系统更加适应企业存会计核算业务的需要。 1.2 读者对象 管理人员、系统设计人员、...

    C#多任务多线程下载组件V1.1(源代码)

    (说明:这是一个输出DLL的项目,需要在其他项目添加引用使用,如果要直接运行,请自行添加入口函数) ...这种代理方式是由于系统中直接操作线程引发的,如果改用系统线程池的话,可以重新定制处理流程。

    C#多任务多线程下载组件V1.1[源代码]

    【上传重复的版本】 (说明:这是一个输出DLL的项目,需要在其他项目添加引用使用,如果要直接运行,请自行添加入口...这种代理方式是由于系统中直接操作线程引发的,如果改用系统线程池的话,可以重新定制处理流程。

    开源免费沙箱增强版 Sandboxie Plus 0.7.3 + x64 中文免费版.zip

    所有新添加的功能都以 plus 分支为目标,但通常可以通过手动编辑 sandboxie.ini 文件在经典版本中使用。 项目维护 2004 年 – 2013 年 Ronen Tzur 2013 年 – 2017 年 Invincea Inc. 2017 年 – 2020 年 Sophos ...

    输入法设置工具

    2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,...

    redmine_issue_detailed_tabs_time

    修复js未加载** 测试版 0.0.6 - 分叉了 - 为详细的时间报告和评论添加了一种新的注释- 更改和添加选项卡(全部、评论、私人、活动、时间日志、) - 改进了 js 系统并将发布行为更改为 js - 删除了一些遗留文件和...

    java在线考试系统.zip

    梁净净:完成教师添加题目界面 8/9 10:00 柴智&方娇:修正上传路径的bug,封装了papertopaperstring 方法,批量上传了部分题目。 8/8 16:00 梁净净:完成部分教师出卷界面 8/8 16:00 段唯钧:完成部分教师批改...

    Grails 技术精解与Web开发实践【源码+样章】----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    3.4.3 闭包在GDK中的使用 31 3.5 本章小结 33 第二篇 实际应用 第4章 商品维护 36 4.1 准备工作 36 4.2 查看商品列表 40 4.3 创建和编辑商品 44 4.4 本章小结 48 第5章 商品搜索 49 5.1 构造查询表单 49 5.2 复杂...

    输入法设置工具 IME TOOL 2.6.5

    2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,...

    Hibernate实战(第2版 中文高清版)

     1.1.3 在Java中使用SQL   1.1.4 面向对象应用程序中的持久化   1.2 范式不匹配   1.2.1 粒度问题   1.2.2 子类型问题   1.2.3 同一性问题   1.2.4 与关联相关的问题   1.2.5 数据导航的问题   ...

    输入法设置工具 IME TOOL 2.8.3

    2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,...

    输入法设置工具 IME TOOL

    2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,...

    Spring攻略(第二版 中文高清版).part2

    13.7 在集成测试中访问数据库 536 13.7.1 问题 536 13.7.2 解决方案 536 13.7.3 工作原理 537 13.8 使用Spring的常用测试注解 540 13.8.1 问题 540 13.8.2 解决方案 540 13.8.3 工作原理 541 13.9 ...

    Spring攻略(第二版 中文高清版).part1

    13.7 在集成测试中访问数据库 536 13.7.1 问题 536 13.7.2 解决方案 536 13.7.3 工作原理 537 13.8 使用Spring的常用测试注解 540 13.8.1 问题 540 13.8.2 解决方案 540 13.8.3 工作原理 541 13.9 ...

    C-Blocks:将快速C编译器直接嵌入到Perl解析器中

    一旦运行正常,并且在Mac上解决了所有问题(以及Testers报告的遗留问题)之后,我们将发布我们的第一个Beta版本。 有关Alpha,Beta和v1.0里程碑的更多信息,请参阅下面的目标和里程碑。 尽管没有对向后兼容性做出...

    基于hhww改进版的传统五笔输入法(新版支持WIN7)

    3、自动删除输入法从列表中删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME ...

    基于hhww改进版的传统五笔输入法

    2、在Vista中IE7(UAC)下不能使用问题,用以下命令设置一下码表级别: icacls.exe "%windir%\system32\我的输入法.mb" /SetIntegrityLevel Level src="./images/smilies/sweat.gif" border=0 smilieid="10"> 3、...

Global site tag (gtag.js) - Google Analytics