注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

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

2011-01-10 15:52:31|  分类: asp.net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 如同我在《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的频率。

 

      这里需要再强调一下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完成后,发送通知邮件到整个团队的邮件组。但这个方法我还没有实验成功,可能是因为邮件系统的配置问题,:(

 

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

 

方法三 : 前两种方法都是主动通知你,而第三种方法就是要你在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,随时发现其中的问题。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/quicknet/archive/2009/11/22/4851243.aspx

  评论这张
 
阅读(673)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017