WEB开发网
开发学院软件开发Java 追求代码质量: 通过测试分类实现敏捷构建 阅读

追求代码质量: 通过测试分类实现敏捷构建

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示:如果这样说不会(令您)很痛苦的话,请设想您是一名任职于一家 2002 年早期创建的公司的开发人员,追求代码质量: 通过测试分类实现敏捷构建,在金钱的驱动下,您和您的团队接到了一项任务,您和您的团队开始质疑单元测试的价值:如果它们对代码质量那么重要,那又为什么会让人这么头痛呢?你们的结论是:单元测试有其重要的作用,即使用

如果这样说不会(令您)很痛苦的话,请设想您是一名任职于一家 2002 年早期创建的公司的开发人员。在金钱的驱动下,您和您的团队接到了一项任务,即使用最新且最强大的 Java™ API 构建一个大型的数据驱动的 Web 应用程序。您和公司管理层都坚定不疑地相信这就是最终将被称为敏捷过程 的东西。从第一天起,您就用 JUnit 构建测试,且把它作为 Ant 构建过程的一部分尽可能频繁地运行。还将设置一个定时任务在夜间运行构建。在接下来的某个时刻,有人会下载 CruiseControl,不断增长的测试套件会在每次签入时运行。

时至今日

经过过去几年的努力,您的公司已经开发了一个庞大的代码库和一个同样庞大的 JUnit 测试套件。一切都很正常,直到大约一年前,测试套件包含了 2000 个测试,同时人们开始注意到运行构建过程用时超过三个小时。在此之前的几个月,由于 CI 服务器资源紧张,您在代码签入时通过 Continuous Integration(CI)停止运行单元测试,并将测试切换到夜间运行,这使得之后的早晨时间非常紧张,于是开发人员努力去弄清楚是什么出错以及为什么出错。

这些天,似乎测试套件整晚极少超过一次运行,为什么会这样呢?因为它们费时太多!没人会仅仅为了弄明白系统是否运行良好而几个小时守在那里。此外,整个测试套件都是在晚上运行,不是吗?

由于测试运行得太不频繁,它们常常充满了错误。因而,您和您的团队开始质疑单元测试的价值:如果它们对代码质量那么重要,那又为什么会让人这么头痛呢?你们的结论是:单元测试有其重要的作用,但必须要能用一种更为敏捷的方式运行它们。

尝试测试分类

1 2 3 4 5 6  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接