TDD(Test Driven Development),即测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。
测试驱动开发的基本过程如下:
① 快速新增一个测试
② 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过
③ 做一些小小的改动,尽快地让测试程序可运行,为此可以在程序中使用一些不合情理的方法
④ 运行所有的测试,并且全部通过
⑤ 重构代码,以消除重复设计,优化设计结构
简单来说,就是不可运行/可运行/重构——这正是测试驱动开发的口号。
可想而知,测试驱动开发会极为有效地控制开发中的bug,但是这种先写测试代码的方式可能让开发人员有很大的不适应。学习适应TDD的成本会不会比它带来的收益更高呢?这就有待我们在实践中摸索了。
软件开发是一种集体活动,其中必然面临各成员间的协调、统一问题。银行每天都要对各网点进行清算结账,软件开发也是一样的,必须找到一种方法来衡量每天的工作,保证每天的工作能够有效的持续下去,最终把软件开发的过程变成一种内在的过程。这种方法就称为每日构建或是持续集成。每日构建构建的过程是完全自动化的,通过预先定义好的指令,机器将按照指令顺序执行完所有的构建步骤。它让开发者可以每天进行系统集成,从而减少了开发过程中的集成问题。持续集成可以减少集成阶段"捉虫"消耗的时间,从而最终提高生产力。它使得绝大多数bug在引入的同一天就可以被发现。而且,由于一天之中发生变动的部分并不多,所以可以很快找到出错的位置。对开发人员而言,每日构建带来的好处就是签入即更新。
每日构建虽然会花费一些额外的时间,但是比起最后除错的成本来说,日构建成本是微不足道的。而且更为关键的是能够引入日构建的制度,开发人员将会在日构建的制度下更加频繁的协作,开发进度一目了然,软件的质量也会更加的稳定。软件开发是一项强调沟通和协作的活动,但是在日常的活动中,常常出现阻碍沟通的情况。日构建每一次的构建将会涉及到团队中的所有成员,因此能促进成员的沟通。
在每日构建的驱动下,项目的进度将会变得非常的明显。每一天的构建结果将会通过某个渠道发布出来,团队和团队的老板可以看到软件现在的样子,项目的完成情况,出现的问题等等。这些信息构成了软件开发的基本信息。不但可以清晰地描述出项目进度,也为管理人员安排计划提供了基础数据的支持。有了基本的量化数据,软件开发才不是靠拍脑袋出成果的。
每日构建的最后一个价值是提供了整合性。目前软件开发中并没有一种统一的管理软件,未来似乎也很难做到,因为不同的软件组织差异很大。在开发过程中,一些有价值的实践被加入、集成到每日构建的过程中,在每日构建的推动下,这些优秀实践很容易成为开发过程的一部分。
标签:读后感,软件开发,每日,开发,构建,测试,过程 From: https://www.cnblogs.com/baizhuoran/p/18042012