技术开发 频道

协作开发中的质量保证技术

    总结——基于版本控制、每日构建的编码过程

    前面我们已经介绍了通过引入版本控制系统改善软件工程中编码和测试阶段过程的一些方法。这些方法来自于我本人所参与的,以及通过一些其他途径了解到的实际项目的开发经验。文中介绍的内容以cvs (Concurrent Version System)为主,这是因为cvs比较容易得到(它本身是开放源代码软件),并且,比较成熟。另外,由于关于cvs本身的细节并没有涉及很深,因此,读者也很容易将这些经验套用在其他版本控制系统,如Bit Keeper, Perforce, Clear Case等等之上。

    引入版本控制、每日构建之后,项目管理人员和开发者可以明显地感受到以下改善:

    问题能够尽早暴露,并被解决。测试过程被渗透到开发过程中,有利于及早发现问题。日常的每日构建和测试意味着更多的测试者可以尽早地参加到测试工作中,并与开发团队并肩作战,及时地为他们提供第一手的资料;而最终的交付工程中进行的测试,只是验证软件的质量确实达到了设计要求,而不再肩负发现问题的重大责任,这意味着很难出现最后阶段发现严重问题而导致工期大大加长的尴尬局面。

    每个人做了多少工作在版本控制系统中能够非常有效地体现,这对于更客观地评价一位开发者的能力,明确奖惩和提高员工积极性,都有非常积极的意义。

    管理者能够随时观察工程的进度情况,并且,每日构建的到的版本也可以交付给客户,从而改善软件开发团队同客户之间的交流。

    版本控制系统记录的软件工程的进展,对于今后的开发将是一笔宝贵的财富。

    最后,让我们用图片的形式,重新描述一下上面的那些过程: 

图6. 日常开发过程    
图7. 交付工程

    这样,我们已经粗浅地讨论了关于并行版本控制技术如何改变软件开发过程的一些大致的方法,以及其中的一些先进思想。在文中我尽可能地回避了类似cvs系统的操作具体细节,并且,避开了一些cvs特有的功能。基本上,本文中提供的方法,特别是其中的一些思想,能够适应任何一种版本控制系统,因此,这些方法具有相当大的普遍意义。

0
相关文章