VS 2010 测试功能学习(六) - Rolling Build (转)

 如同我在《VS 2010 测试功能学习(五) - Gated Check-in》一文中所介绍的Gated Check-in功能一样,Rolling Build其实也是Team Foundation Server(以下简称为TFS)提供的对check-in代码进行编译和验证的方式,虽然并不和测试直接相关,但它却是保证产品质量和团队协同工作的重要功能。

      Rolling Build,我把它翻译为“滚动生成”,即当TFS检测到在它所监控的范围内有任何新的代码变化被check in的时候,它就启动对最新的代码库(code base)进行Build验证。之所以称之为“滚动”,因为它是在一个Build验证操作完成后再去探测有没有新的check in发生,对Build验证期间发生的check in,会被积累到下一个Build验证。

      配置Rolling Build的步骤很简单,只要在Build Definition的Trigger标签页中选择“Rolling builds”即可,如下图所示。"Build no more often than every  minutes.”选择用来控制Rolling builds的频率。

image

      这里需要再强调一下Rolling Build的重要意义。Rolling Build看似只是一个自动生成代码的功能,但实际上它起着协调整个开发团队、时刻监控代码库质量、以及尽早暴露产品问题的作用。因为Rolling Build时刻都在不停的运转着,对于任何代码check in它都保持着警觉,会去自动验证编译是否成功,自动化测试用例是否都能通过。它就像一个不知疲倦的“代码守护者”一样监控着代码库,第一时间发现其中的任何问题,将问题通知给整个团队,从而避免了问题的积累和拖延。这非常符合敏捷开发中“今日问题今日解决,不要拖到以后”的原则,它帮你最早的发现问题、报告问题,开发团队则应该建立制度要及时响应Rolling Build所报告的问题,把它作为Priority = 0/1的问题去对待和解决。

      那么TFS的如何告知Build的结果呢?TFS 2010提供了以下几种途径来通知Build的状态:

方法一 :邮件方式。在Project Alerts对话框中(Team Explorer中右键选择指定的工程)可以配置需要相应Build事件的email地址,如下图所示,为工程Dev10Dogfood配置了当有任何Build完成后,发送通知邮件到整个团队的邮件组。但这个方法我还没有实验成功,可能是因为邮件系统的配置问题,:(

image 

方法二 :VS 2010中提供了一个Team Foundation Server Tools安装目录,在它下面有一个被称为"Build Notification”的工具,这个工具时刻“潜伏”在Taskbar中,监控着TFS端任何Build相关的信息。就像Outlook的邮件通知一样,当有任何Build开始时,它都会在屏幕右下角弹出一小窗口来通知你,如下图所示。

image

方法三 : 前两种方法都是主动通知你,而第三种方法就是要你在Team Explorer中选择中你的Build Definition,然后在右键菜单中选择“View Builds”去显示单前的Builds状态。

      连同上两篇博客《VS 2010 测试功能学习(五) - Gated Check-in》和《VS 2010 测试功能学习(四) - Test Impact Analysis (TIA)》在这里对它们一起做个小结:代码库是整个开发活动所围绕的最核心的东西,而对它的check-in操作又整个开发过程最为频繁发生的操作,这两者看似一对矛盾,因为频繁的checkin操作难免会有出现差错的情况,影响的代码库的稳定。所以需要有一套机制来保证每次check-in操作的质量,即使有错误发生也能及时的发现和补救。TFS 2010中所提供的TIA + Gated Check-in + Rolling Build三者结合起来就可以实现一个这样的机制,它们其中任何单独一个方法是无法完成的,团结起来才是最完美的。TIA帮助开发人员发现5%最关键的Testcase在其准备运行check in之前自己进行验证;Gated Check-in执行20%左右最关键的测试用例,在更广阔的覆盖基础上上发现潜在的问题把好check-in的最后一道关口,同时又不会占用太多的时间;Rolling Build则是不辞辛劳、周而复始地执行100%的Testcase,随时发现其中的问题。

参考资料

  1. http://msdn.microsoft.com/en-us/library/ms181716(VS.100).aspx
posted @ 2011-01-13 23:48  董雨  阅读(367)  评论(0编辑  收藏  举报