为小团体开发大团体系统

软件开发的持续构建和测试技术(CBT)通过帮助确定哪些功能对于发布是真正必要的,从而确保验收测试是成功的。

文/丹尼斯·布兰德 二零零九年八月一日
www.globalelove.com

控制系统软件开发通常由一个小团队完成。然而,大团队通常使用的技术也可以被小团队有效地使用。例如,如果您正在使用瀑布开发方法,或者SCRUM (www.scrumalliance.org)和敏捷(www.agilealliance.org)方法,但有一些处理最终验收测试(FAT)和现场验收测试(SAT)的大组技术适用于小组使用。

运用这些技巧是很重要的,因为经常会有管理层的压力,要求你在完成FAT之前就进行SAT考试。与其他工程学科不同,在软件工程中,很难查看软件并快速查看它是否已准备好进行现场部署。这意味着发送到站点的软件有时不起作用,或者有部分不起作用。

避免这个问题的一种方法是使用一种称为持续构建和测试(CBT)周期的技术,以及使用多个构建目录。持续构建似乎与瀑布式开发方法不兼容,但是CBT方法可以在项目的编码和测试阶段使用。使用CBT周期意味着您将始终拥有一个“随时可用”的系统,但没有完整的功能。CBT首先使用一个自动化的测试和构建系统。这意味着使用“make”文件、“Ant”文件或命令脚本来自动构建软件并运行一组测试。最好的方法是每天晚上运行CBT循环,并使用用于验证夜间构建的自动化测试。当向夜间构建目录中添加新功能或特性时,还必须开发相关的fat并将其添加到夜间构建目录中。新的或修改过的fat测试新添加的元素。在构建过程完成时包含执行fat的命令。

在CBT方法中,有很多压力不能“破坏构建”。所有开发人员都有责任运行单元测试,确保他们的代码被构建,并因此对他们的代码将通过FAT抱有良好的期望。他们在自己的本地“沙箱”目录中执行这些测试。开发人员从事的所有工作都在他或她自己的沙盒中。这确实使“make”文件更加复杂,因为构建实用程序必须检查本地沙箱中的文件,然后检查构建目录中未修改的文件。早上,所有开发人员都有责任检查他们的构建部分,并解决FAT运行期间出现的任何问题。

一旦成功构建了每日构建,并且fat成功运行,构建目录就应该移动到“分发”目录。应该在分发目录上运行相同的CBT周期,并为用户测试提供结果代码。分发目录始终是一个“准备交付”系统。在预定义的时间间隔内,或者当达到所需的功能级别时,可以将分发目录文件复制到“最终构建”目录中,并且可以再次运行CBT周期。最终版本现在已经准备好参加sat考试了。

使用CBT方法,就不会出现是否应该缩短测试时间的问题,而是变成了版本真正需要哪些功能或特性。这就是为什么CBT方法是大型项目中最成功的方法之一,但也可以用于小型项目,以消除向站点发送不可运行代码的问题。这种方法允许开发人员在他们自己的沙箱和集成的构建和测试环境中工作。

www.globalelove.com

作者信息
丹尼斯·布兰德是北卡罗来纳州卡里市BR&L咨询公司的总裁,网址是www.brlconsulting.com。他的公司专注于制造IT。联系丹尼斯:dbrandl@brlconsulting.com