Team Up!用Visual Studio 2005 Team System组织所有的装备

作者:Chris Menage
翻译:贾菡
相关技术:Visual Studio 2005
难度:★★★☆☆
读者类型:软件项目经理、软件测试人员、软件开发人员

    [摘要]本文基于Visual Studio 2005 Team System CTP,为您介绍在软件开发周期中中的开发进程、团队支持、工作项跟踪、单元和装载测试及其他。

    软件开发通常被认为是个很困难的过程。前人已经通过组织无数次地学习和编著大量的书籍来阐述如何改进开发应用程序的流程,以提高生产力和获得稳定的系统。但是困难并不在于跟上更新更好的软件开发思想的发展速度,而是如何在真实的开发流程中体现这些思想的意义。微软已经迈出了重要的一步:使用Visual Studio 2005 Team System帮助开发团队构建健壮稳定的软件系统。

    Team System使用新的源代码控制系统增强了Visual Studio 2005的功能,Team System同时给开发者提供了单元测试和代码分析工具。但是,微软将它关注的焦点从原来的仅限于开发人员扩展到提供更多的工具来为整个开发团队提供支持。Team System提供的软件包括对项目经理、架构师、开发人员、测试员甚至开发经理的支持。Team System包含一个全新的工作项跟踪系统,用来管理开发任务、实现过程,并且用Web门户的方式为开发流程提供一定的透明度。

    本文将通过Visual Studio 2005 CTP(Community Technology Preview)对Team System进行概述。我将展示如何创建一个开发项目,在这个过程中将探索开发流程的所有步骤,直到测试阶段。安装CTP所提供的Team System版本比产品的最终成型的版本要稍微困难一点。CTP提供的版本支持在一个非常特殊的环境中进行安装,这个环境要求有多台计算机或者多个虚拟机。安装向导在DVD或者下载的文件中,但是要让一切都工作正常,也许需要获得额外的帮助。在本文中,将不包含这些内容。

项目方法论

    在过去,Visual Studio是只给开发人员使用的工具。正因为如此,它在开发项目中的其他阶段几乎没有任何价值,例如需求采集、设计和测试。但是,Team System被设计为不仅仅为开发人员提供支持。它将支持整个软件开发生命周期,并且支持在生命周期中涉及到的所有人员。

    Team System最好的一方面是它是基于理解的过程而进行构建的。超越已有数种开发流程形式的思想是一件好事,微软对于用户的开发流程几乎没有做任何假定,因此将它构建得极具灵活性。Team System使用微软的“方法论模板(Methodologh Template)”来定义开发流程。用户可以开发自己的模板,或者使用Team System提供的内嵌模板,甚至是第三方的模板。

    在过去,很多开发团队并没有按照正规的规则流程来执行,因为正规化开发流程在时间和金钱上的投资实在是太大了。使用Team System,这个开发流程将成为团队每天工作使用的工具中的一部分,它更加容易被更广泛意义上的开发团队所接受。

    微软近期建立了一个开发流程叫做“微软解决方案框架(Microsoft Solution Framework,MSF)”,现在的版本号是3.0。甚至在微软,MSF也没有被广大的开发人员广泛地采用,因为它看上去难以被学会也难以应用。微软更新MSF至版本4.0并且在Team System提供了两个不同的MSF4.0的版本:MSF Formal和MSF Agile。这两种方法论都被集成在Visual Studio中并作为模板而提供。2004年的CTP版本只提供对MSF Agile的支持。已经具有正规开发流程的团队可以将他们已有的流程移植到Team System中,而一个先前没有执行正规方法论的组织则可以随意选择使用MSF Formal或者MSF Agile。

    但是,并不是开发流程中的所有成员都已经或者期望使用Visual Studio。为了满足非开发人员的需要,Project Portal和Team Foundation客户端也支持Team System的许多特性而做出了修改,这些也许正是被更广泛的用户对象所渴望的。从本质上讲,Team Foundation客户端就是Visual Studio 2005的另一个版本,它将所有的开发特性通通删除,而只保留所有Team System的特性。这就意味着,所有本文涉及到的开发流程对于Team Foundation客户端同样适用。

MSF Agile

    MSF Formal是依从CMM3级的要求而设计的开发流程,MSF Agile则意味着更具灵活性并且是迭代设计的。没有哪个单独的开发流程能够理想地适合所有的项目,所以,组织需要根据特定开发成果的需求来选择开发流程。

    MSF Agile支持以下5种角色:架构师、业务分析师、开发人员、项目经理和测试人员。在阅读接下来关于开发流程和团队开发的章节时,请牢记这5种截然不同的角色,并且还有业务使用者、负责人以及IT管理员,Team System的特性对于这些特定人群来说十分具有吸引力。

创建一个团队项目

    现在先使用Team System为整个目标做些基础工作,让我们从创建开发流程开始。这一步在Beta 1更新版中通常被定义为“公文包项目(Portfolio Project)”,在后续的版本中会被定义为“团队项目(Team Project)”。在加载Visual Studio 2005 CTP版完毕之后,需要做的第一件事是连接到Team Foundation Server (TFS),TFS可以在其他的系统或者虚拟机中运行。TFS是一个服务器平台,它提供对Team System中团队特性的支持。TFS提供的特性包括:新的源代码控制系统、工作项跟踪和团队门户站点。

    选择工具菜单下的Connect to Team Foundation Server选项,连接Visual Studio和TFS。安装提示将帮助用户和TFS进行连接。一旦连接成功,将出现Team Explorer窗口。Team Explorer是用户查看TFS的工具,很像是用Server Explorer对SQL Server数据库进行查看的方式。Team Explorer是个伟大的工具,用户可以很快地熟悉它,并且经常使用它。

    一旦用户和TFS取得了连接,就可以创建自己的团队项目了。团队项目是TFS中的一个重要的长处。一个团队项目是一个用于用户进行访问与项目相关的所有物件,包括设计文档、工作项和项目计划等一同进行工作的唯一的地方。用户可以为工作相关的每个开发项目创建一个团队项目。在Team Explorer中,点击工具栏上的New Team Project按钮来创建团队项目。另外一种方法是,在Team Explorer上,右键点击用户的TFS服务器,然后在那里创建一个团队项目。用户也可以在Team Explorer窗口中加入一个已有的团队项目。当创建团队项目时,必须选择将要使用的方法论模板,如图1所示。另外,用户可以选择创建一个新的源代码控制文件夹,或者对已有的代码库进行分支。在这里使用MSF Agile作为例子进行演示。


图1 创建一个新的团队项目

    当创建团队项目时,有几件事情会发生。一个重要的事件是生成了一个Windows SharePoint Services(WSS)团队站点。TFS与WSS结合以利用WSS对文档的管理功能。WSS提供的协作特性同样对TFS很有帮助。如果打开浏览器,访问http://tfsserver/sites/project,将看到TFS创建的团队站点的主页。这是一个WSS站点,能够被任何拥有相应权限的用户访问。这对于业务使用者和管理人员来说,是访问并且查看项目进展状态的一个非常好的途径

    一旦拥有了一个团队项目,用户也许希望在进行其他操作前先对项目进行配置。在Team Explorer中右键点击要配置的项目并且选择Team Project Settings | Classifications。Settings菜单项允许用户进行安全权限和源代码控制系统策略的设置,并且可以创建项目的结构。如果选择MSF Agile,默认状态下,用户通常会在项目中拥有3次迭代。用户可以对他们进行重命名、删除或者添加。例如,如果用户希望拥有6个阶段的滚动式增长,可以对迭代方式进行相应的设置。稍后,当创建工作项时,它们能在用户的整个项目中和特殊的迭代联合起来。请记住,方法论模板在用户的掌控之下,在开发流程中不会有任何被限制的感觉。

项目计划和工作项

    Team System通过项目管理透视图提供了一个重要的、被称为“工作项跟踪(Work Item Tracking)”的特性。诸如单元测试、最佳源代码控制系统和代码分析这些特性都是让开发人员兴奋不已的。另外,工作项跟踪的功能正如它的名字描述的那样,它让项目经理、商业股东和IT管理员对它尤其感到兴奋。在软件开发流程中需要完成的每个任务都可以作为工作项来进行处理,这些任务包括文档任务、设计任务、开发任务、缺陷查找或者是需求采集。在这点上,用户可以像在微软的Project或者Excel里那样管理工作项。但是,事实上,大多数用户只是在这些工具中创建和罗列任务,而并没有真正地跟踪和管理它们。

    仔细考虑一下现有的跟踪流程,回答以下的问题:设计文档完成了么?对于特定的开发人员分配了多少项任务?已经完成了的任务有哪些?哪些任务已经远远地滞后了?当任务没有按时完成时,将会对进度表产生什么样的影响?诚然,很多组织已经有能力回答这些问题。但是,为了做得更好,在项目经理和团队中的其他人员,包括开发人员、业务分析员和测试员之间需要大量的沟通和交流。项目经理必须和所有的这些不同的人员进行沟通以精确地掌控项目的进展状况。保持跟踪这些任务的进展状况通常通过项目状况会议、个别交谈或者通过电子邮件来进行。Team System的一个目标是使数据采集、跟踪和报告这些开发流程得到改善并且更加有效率。

    一旦用户选择使用了一种方法论模板(这里选择MSF Agile进行示范),数个任务(工作项)将在用户的行为中自动创建。在MSF Agile的开发流程中某些任务必须完成,所以有这些自动创建的动作。图2中显示了在使用MSF Agile创建团队项目时一些工作项被创建的例子。


图2 在MSF Agile中的工作

    工作项和Microsoft Project中的任务十分相似,他们都可以被分配给不同的人员。他们有和工作区间一样的状态。当相关人员完成了他们的工作项,他们可以更改这些工作项的状态,更改后的状态将显示在WSS的团队站点上。WSS站点利用SQL Server的报表服务来根据被TFS存储在SQL Server中的数据展示生成的报表。用户与其自己创建这些报表倒不如使用集成在SharePoint中定制的Web部件。注意,在CTP 2004年的版本中还不能提供这些报表功能。

项目文档

    基于MSF Agile的实现方法,在这个开发流程中的第一步就是开始创建一些文档。视用户在开发流程中所处的位置,这些文档可能是一个商业案例、一个场景,甚至是一个项目计划。用户创建的这些文档将依赖于所选择的方法论。为了在Team System上下文中创建这些文档,用户可以使用Team Explorer(另外一种选择是通过团队的门户站点来进行)。如果定位到文档的节点,用户可以使用右键点击它来选择添加文档。当用户确定在项目中使用哪个方法论时,Team System将为用户配置适当的模板,这些模板适用于项目中用到的各种文档。当用户选择添加文档时,将提示让用户通过选择适当的模板来确定文档的类型。模板包括设计、生命周期、计划、项目管理和需求的场景及特性这些选项。一旦选定了模板,用户就可以用适当的工具进行编辑(例如微软的Word或者Excel)。

    创建的文档被存储在管理用户项目的WSS站点中。这将使得在用户组织中的人员仅仅通过他们的浏览器打开适当的站点就能访问到这些文档。直接添加进门户站点的文档将在Team Explorer中展示出来。右键点击文档节点然后选择Refresh,就能在Team Explorer中看到最新添加的文档。
有时候,项目经理希望创建一个实际的项目计划。使用Team System来做这些将有很多真正的乐趣,当创建项目计划并且跟踪这些任务的时候,用户就能体会到这其中的乐趣了。Team System使用户管理项目的过程十分简单,这些多么让人感到兴奋!

    使用Team System创建项目计划的过程非常简单直接,在Team Explorer中来到Documents | Project Management并且右键点击就可以做到。在上下文菜单中包含有Create Microsoft Project Plan的选项。Team System同时也提供在Excel的工作表中跟踪项目任务的功能,用户可以用类似的方式为项目任务创建一个工作表。

    Team System的一个益处是它和Project以及Excel的协作关系。当在一个已经安装了Microsoft Project或者Excel的机器上安装CTP版的Visual Studio 2005的时候,用户将获得加载在这些应用程序上的额外的特性。特别的,用户将拥有一个工作项菜单以及一个新的工具栏,它将允许用户和Team Foundation Server进行结合。其关键特性是用户可以使用Team System对项目计划任务中的工作项进行同步。

    项目开始于创建一个项目计划和导入作为团队项目创作的一部分而创建的原始工作项。然后用户添加并分配补充的任务,并且用Team System的工作项数据库对项目计划任务进行同步。开发人员需要执行任务并且用源代码控制系统对代码进行检查,他们可以用Visual Studio更新这些工作项的状态。工作项的状态数据能够通过团队门户站点中的工作项报告获取。项目经理能够将他们的项目计划同工作项数据库进行同步以保证他们的当前信息处于最新的状态。

    在图3中显示了将Team System中的工作项导入至Microsoft Project后的Project的任务视图。你将看到有一个和Team Foundation Server结合的新的工具栏。如同成功地集成在Project中的那样,它同样也能被集成在Excel中。这是应用户反馈中的要求而添加的,因为一些用户选择使用Excel来对自己的项目任务进行管理而不是使用Project。


图3 将工作项导入微软的Project

    一旦项目计划准备完毕,它将同Team System进行同步以告知项目团队成员他们被分配有哪些任务。如果用户是一个开发人员,他将直接通过Visual Studio就可以获得自己的工作项列表。用户可以在Team Explorer中导航至Work Items并且打开My Work Items或者My Active Work Items。这种改进的实现方法几乎不给开发人员带来任何的负担,并且能够减少项目经理和开发人员的会议交流的次数。

设计应用程序

    从开发者的观点来看,一旦分配好开发任务的工作项,就意味着要准备开始设计应用程序并且编写代码了。一个或更多的项目计划中的任务实际上算作是应用程序的设计阶段。请注意,我在编写代码之前先提及的设计。Team System带有许多非常好的设计工具。

Team Foundation Source Control

    在生成任何设计和代码之前,用户可以使用Team Foundation Source Control来建立源代码控制系统。Team Foundation Source Control的代号是“Hatteras”,它是比Microsoft Visual SourceSafe更加健壮的平台。用户在这个新的源代码控制系统中储存的所有的内容都被自动备份在SQL Server 2005的数据库中,而且管理起来非常方便。这个新的源代码控制系统的设计目标是具有更强的可扩展性和更高的性能,这两点都是Visual SourceSafe所缺乏的。新的源代码控制系统将具有更多的健壮的分支和合并的能力。正因为如此,在默认状态下,多用户签出功能是被启用的。

    被称为“shelving”的新功能也十分有用。这项特性允许用户将正在编写的代码签出,并且在源代码控制系统中签入,而不是在主分支上,这将允许开发人员能够将他们的工作进行备份,而不用强制团队中其他的开发人员进行不完全的变更。

    Visual SourceSafe仍将可用并且能够通过更新和Visual Studio 2005进行合作。Visual SourceSafe在小项目和小团队中非常有用,Team Foundation Server的强大功能对它们来说不是那么必要,并且他们通常并不希望花费额外的工作和开销来安装它。用户可以通过启动Visual Studio在Tools | Options中的源代码控制选项中选择使用哪个源代码控制引擎。

    一旦用户配置使用了Team Foundation Source Control,在任何使用Visual Studio创建新项目的时候,他们都可以选择将项目添加到源代码控制系统中。同时,用户也可以选择使用Team Foundation Server。开发人员在执行任务的时候,可以在工作项上进行标记以将工作项和他签入至源代码控制系统的代码联系起来。这种联系被存储在数据库中并且可以用来生成报表。另外,新的代码控制系统允许创建签入策略。签入策略的目的在于限制哪些代码允许被签入至源代码控制存储器中。

编写更好的代码

    将Visual Studio 2005 Team System与多种IDE开发工具集成,能帮助用户编写更好的代码。这其中包括一个能分析在应用程序中潜在性能问题的剖析器,既适用于托管代码也适用于非托管代码的代码分析工具,以及带有代码覆盖率分析功能的单元测试工具。代码分析工具基于微软已有的技术,但是从未如此完美地集成进Visual Studio。本地代码使用PREfast进行分析,而托管代码使用FxCop进行分析。单元测试工具和工具中的NUnit非常相似,但是它使用起来非常方便,并且也大大减少了创建测试的耗时。这使得单元测试更加容易被用户接受。单元测试也与代码覆盖集成得十分完美,本质上讲它是一个生成报表的机器,让用户了解究竟使用单元测试检查了多少代码。

托管代码分析

    对FxCop十分熟悉的用户将会对Team System的托管代码分析功能感到非常满意。它与IDE的集成极其完美。只需在项目属性的代码分析标签中启用代码分析。在这里用户可以启用代码分析,也可以选择需要使用的代码分析规则。由于代码分析的规则非常严格,大部分组织可能会将提供的一部分规则禁用。的确,当用户在一个已有的应用程序上使用FxCop,结果看到自己的代码是那么地不驯于这些规则时,这将是多么羞辱的体验!

    将代码分析与IDE集成得最好的一部分是:一旦用户打开代码分析,它将在应用程序编译的时候自动运行,并且作为构建过程的一部分,给予用户警告和错误提示。用户可以在版本构建时打开代码分析,也可以在调试时将其关闭,这是个非常好的特性。请注意在一个大型项目中运行代码分析需要花费较长时间。另一个很好的特性是可以选择运行代码分析作为源代码控制系统的签入策略。可以利用这个功能防止开发人员将没有经过FxCop规则验证的代码签入源代码控制存储库。签入策略允许代码被签入的同时提供覆盖机制,但是覆盖将被载入日志。

单元测试

    单元测试的一般概念是执行应用程序中独立的代码片段,然后进行测试,察看是不是达到了预期的结果。单元测试通常等价于用经过验证的输入来调用一个方法,并察看返回的数据。即使不用任何工具也可以轻松完成这项工作,但是要想提高生产力,就有必要使用一些辅助措施了。单元测试的传统问题包括测试建立、测试的组织以及拥有轻松生成测试成败结果的报表机制。Team System致力于解决所有这些问题。

    Team System具有为用户的方法自动创建单元测试的功能。使用属性来对单元测试代码和常规代码进行区分。在IDE中,该工具不但可以将用户的测试组织成测试列表,还可以基于这些测试列表进行测试工作。当用户执行测试时,结果将显示在Visual Studio的测试结果窗口中。


图4 创建单元测试

    如图4所示,要在项目中执行单元测试,只需右击用户的代码,然后选择Create Tests,它将提示用户选择测试对象以及测试的方式。您可以通过在不同的类别中选择一个方法来同时创建多个测试。自动生成的测试代码包含实例化所测试方法的对象、声明方法的各种参数,最后调用要进行测试的方法。默认情况下测试将返回不确定结果。用户可以在创建测试的Configuration标签页中进行必要的更改。不确定结果的意思是不知道测试的结果是成功的还是失败的。这种情况提醒用户需要将一些逻辑加入到测试中。下面这个例子是一个将要进行测试的方法:

Public Class Math
    Public Function Add(ByVal Value1 As Integer, _
    ByVal Value2 As Integer) As Integer

    Return Value1 + Value2
    End Function
End Class

    在这个例子中,Add方法仅仅返回两个整数相加的结果。当用户第一次创建单元测试时,生成的测试代码看起来如同如下所示:

''' <summary>
''' AddTest is a test case for Public Function Add(As
''' Integer, As Integer)
''' </summary>
<TestMethod()> Public Sub AddTest()
Dim target As NewOrderEntry.Math = New NewOrderEntry.Math

    ' TODO: Initialize to an appropriate value
    Dim Value1 As Integer
    ' TODO: Initialize to an appropriate value
    Dim Value2 As Integer

    Dim expected As Integer
    Dim actual As Integer

    actual = target.Add(Value1, Value2)
    Assert.AreEqual(expected, actual)

    Assert.Inconclusive("Verify the correctness of this test method.")
End Sub

    要进行测试,用户必须先将项目进行编译,并且打开测试管理器窗口。测试管理器可以在Test | Windows菜单中找到,用户可以通过它察看各个测试并且选择执行哪个测试。测试管理器允许用户将各种测试加入到自己创建的测试列表中。比如,将所有的测试按照实现业务逻辑和测试数据访问进行分组。另外,可以按照应用程序中的函数块对测试进行分组。

    当执行测试时,用户有多种选择。一个是考虑是否打开代码覆盖,它将帮助用户捕捉和分析在单元测试中执行了哪些代码。代码覆盖选项是测试运行配置的一部分。在测试管理器里,工具栏上的Edit Test Run Configuration按钮允许用户选择和编辑一系列用于运行测试的配置参数。在测试运行后,有两项需要察看的:测试结果(如图5)和代码覆盖结果(如图7)。


图5 测试结果


图6 代码覆盖结果

    你也许会发现测试结果窗口显示出我的一个测试结果是不确定的。这是因为我还没有让生成的测试来做点什么。应该根据一下所示对测试进行更改:

''' <summary>
''' AddTest is a test case for Public Function Add(As Integer,
''' As Integer)
''' </summary>
<TestMethod()> Public Sub AddTest()
    Dim target As NewOrderEntry.Math = New NewOrderEntry.Math

    Dim Value1 As Integer = 32
    Dim Value2 As Integer = 10

    Dim expected As Integer = 42
    Dim actual As Integer

    actual = target.Add(Value1, Value2)
    Assert.AreEqual(expected, actual)
End Sub

    上面的示例中,代码给两个参数值赋予两个整数,然后检查Add方法的返回结果是否为预期的。如果Add方法的返回值是正确答案42,则测试通过;否则,测试失败。用户也可以建立数据驱动的单元测试。这将使用户使用数据库中的真实数据,而不是硬代码值。

    只有精确地执行用户代码的单元测试才有用。如果在单元测试中只执行了1000行代码中的10行,那么单元测试就不可能对用户的代码好坏作精确的描述。Team System的代码覆盖功能是判断用户的单元测试是否覆盖了大部分已有代码的重要资源,它同样也能判断是否存在从未用到并且可以因此将其删除的代码。

    除了Code Coverage Results窗口之外,用户也可以打开源代码的彩色代码功能。如图7所示的两段代码。红色的是未被单元测试执行的代码;绿色的是已经执行过单元测试的代码。


图7 代码覆盖,源代码高亮显示

    测试结果和代码覆盖结果还能发布到Team Foundation Server上,然后,将数据保存进数据库。门户站点上的报告利用这些数据来展示项目在测试和代码的质量透视图中所处的位置。

负载测试

    除了单元测试外,Team System还提供了创建、管理和运行Web负载测试的功能。这些功能和原来的应用程序测试中心非常相似,只是更加健壮、可升级并且与Visual Studio完全集成。用户可以通过录制一段用来在一个或多个机器上回放的访问Web页的会话来创建自己的测试。负载测试工具中有一些很好的特性。特别是这个工具除了能正确处理ASP.NET的ViewState外,还能处理ASP.NET表单的身份验证。

    使用负载测试功能,最简单的方式是建立一个测试项目。这是一个能加入到解决方案的新的项目类型。一旦创建完成,用户可以添加多个新的测试,只需右击Solution Explorer中的项目,然后选择Add New Item。录制一个Web的负载测试也很简单,在项目中添加一个适当的测试类型,然后选择Record来启动录制过程。当创建一个新测试时,它将在测试管理器窗口中和单元测试项目一起显示出来,使用户能够完整地观察项目中的各个测试。Web测试与Visual Studio的负载测试截然不同。一个Web测试是对Web应用程序的一个特殊部分进行测试的脚本。一个负载测试是一个单独的测试,它使用适当的数据来模拟负载,例如模拟用户的数量。因此用户需要创建Web测试,然后在负载测试中用它来对Web应用程序增压以进行测试。

测试器、人工测试器和缺陷跟踪

    当Team System为Web应用程序提供单元测试和负载测试时,并不提供自动机制来测试非Web方式的用户界面(尽管Compuware已经宣布其TestPartner产品提供富客户端用户界面)。QA团队需要内建的测试管理工具(诸如缺陷跟踪系统)提供支持。缺陷只是一种特殊的工作项,它同样被加入Team System,并且像任务一样被分配给不同的人去完成。缺陷的状态能像缺陷的数量那样在项目的门户站点中看到。

    另一个重要特性是存储和管理项目中的各种人工测试。用户可能很熟悉通过建立各种各样的Word文档和人工脚本来细化人工测试一个系统所需要的步骤。对于Web测试和单元测试,Team System可以将这些脚本作为人工测试存入TFS中并进行管理。这些脚本可以是实际的Word文档或纯文本。这些测试也可以在Visual Studio中执行。

    当这些测试被选择运行时,它们的状态是不确定的,直到测试员一步步完成测试并且标记它们的结果是通过或者失败。显然,如果测试失败,缺陷会被加入进来。人工测试也可以依据测试列表来进行分组以提供一些强大的组织功能。有了这些测试,TFS使开发者在需要重复这些步骤并再次引出这些缺陷时可以方便地访问这些测试。这些新工具将提供给测试员和开发者一个统一的环境,使他们能更好地进行协作。

团队构建

    Visual Studio 2005的工具包中的另外一个工具是Team Build。Team Build是基于MS Build的,并随.Net Framework 2.0发布,它是新的可扩展的构建引擎。Team Build支持构建服务器的概念。这个构建服务器将侦听网络上指引构建服务器使用存储在TFS中的脚本构建应用程序的请求。用户可以通过使用一个Visual Studio向导来选择各种不同的构建选项以生成构建脚本。这些选项将FxCop或者单元测试作为构建过程的一部分。用户也可以将更新工作项和发送提醒作为构建过程的一部分。例如,可以使用夜间构建过程来自动编译应用程序,运行单元测试和静态分析,最后将新构建的版本放到一个测试服务器上,并且发送通知给测试人员告知有了新的版本可供测试。

团队站点和报表

    Team System除了具有开发导向的功能外,它在快速开发过程之外带来的重要的可视化特性也是值得注意的。它面向的对象包括经理、项目经理、测试员、业务用户、分析员和任何其他一切可能对开项目发的状态感兴趣的人。虽然测试员和项目经理会使用Team Foundation Client访问Team Foundation Server,但是,设想业务用户和IT管理员也会进行这样操作是不现实的。

    项目的SharePoint主页对这些人来说是一个十分完美的工具。他们在这个站点上能察看到项目的当前状态、查看缺陷的数量和严重程度、访问项目文档。此外,还可以获得各种各样的报表。这些报表包括未解决的工作项、未解决的缺陷报告、测试结果等等。这些增加的可视化功能提供了比原来强大得多的对开发过程的洞察力。

    在结束之前,我想补充说明一下可扩展性。对于已经应用了开发过程的组织,Team System的设计是可定制的。Team System也是基于能够让第三方的公司可以集成并扩展它的想法而设计的。Borland公司已经宣布会发布一个ClaiberRM需求管理工具的Team System集成版本。这将填补微软产品线的一个空白。如果Team System不能满足你所有的需要,那么可以寻找能够集成和扩展它的合适的工具。

总结

    用户在购买Visual Studio 2005 Team System时在某种意义上会同购买现在的Visual Studio有所不同。我要说明的一点是,在Beta版本中没有精确地反映出版本的多样性,但是这些将在官方发布的版本中得到改善。最值得注意的是,Team Foundation将会被作为一个独立的服务器产品进行销售。一些特性已经可用,并且更多的特性将在Beta阶段陆续发布。如果你已经考虑到在开发中引入更多的“过程”,那么你应该调查一下Team System是否能符合你的需要。

作者介绍

    Chris Menegay是Notion Solutions的创始人和首席顾问。Notion Solutions是一家专门研究微软技术的咨询培训公司。访问weblogs.asp.net/cmenegay可以获得关于Chris的更多信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值