2、开发与测试的敏捷特性(开发和测试人员)
在测试方面,VSTS 2010强化了测试功能,同时简化了在整个应用程序生命周期中整合测试的工具。新功能包括快速进行有关测试的设计与开发、测试用例管理,与Team Foundation Server集成的测试计划,以及确保所有更新的程序代码都被测试提高覆盖率,并且新增了功能非常强的微软测试与实验室管理器MTLM(Microsoft Test and Lab Manager),它是一个单独运行的工具 (内部开发代号“Camano”),用于创建测试计划、管理测试用例、运行测试用例以及测试结果管理等。
VSTS2010测试框架,如下图所示。
clip_image002
图10 VSTS2010 测试框架
在VSTS 2010重点强调了测试与开发人员的协作。测试影响视图(Test Impact View)和代码变更视图(Code Changes View)可以避免运行全部测试来验证某一个小的代码变更所造成的浪费,使得测试更加高效。除此之外,测试人员可以通过Microsoft Test and Lab Manager工具,可进行Bug生命周期的跟踪和控制(Plan—>Test—>Track—>Organize)。通过Testing Center进行新BUG发布,如图11所示。
clip_image004
图11 Lab Test新建BUG项
clip_image006
图12 Lab Test BUG(Run)
点击“Run”运行测试这个新BUG。Test Runner界面,如图13所示。测试人员可以非常便捷的,针对软件产品的界面进行截图,附件加载等操作,并且可以进行动作BUG捕捉事件的录制操作,也可以进行Play回放,信息存入此BUG步骤中,完成一次BUG的捕捉工作,Save and Close发布给开发人员进行BUG修复。
clip_image008
图13 Test Runner-Microsoft Test and Lab Manager
clip_image010
图14 BUG追踪(Track)与管理
另外,VSTS2010可以在Architecture设计时,灵活的创建Work Item项,如图15所示。
clip_image012
图15 创建 Work Item项
微软现把Visual Studio 2010、系统中心虚拟机管理器(SCVMM)2008和虚拟机管理程序Hyper-V集成起来,推出了自己的虚拟实验室自动化解决方案,名为Visual Studio 2010 Lab Management,从而微软也进入了实验室自动化行业,进一步扩展其自身的虚拟化平台和管理产品系列。
虚拟实验室管理架构,如图11所示。
clip_image014
图11 虚拟实验室管理架构
测试和实验室管理器中的实验室中心(Lab Center)可以让用户:1、创建及管理虚拟或物理环境;2、可对环境拍取快照,或者退回到虚拟环境的现有快照;3、通过环境查看器,与环境中的虚拟机进行联系;4、为环境定义测试设置;用户可以在测试中心中定义测试方案、测试套件和测试用例,并且在实验室环境上执行。
在VSTS 2010中包含了很多工具,测试人员在虚拟机环境下测试并找到一个软件BUG的时候,只用一个简单的点击就可以把整个环境的镜像点(多个虚拟机)记录下来。他可以把这个镜像点的链接,作为附件自动内嵌在软件BUG报告中,同时可以选择包含更多的信息,比如带时间坐标的视频,操作记录,历史调试记录以及更多信息。开发人员得到这个软件BUG报告后,从VSTS2010 IDE中打开它,并且找到与该BUG在该镜像点上所有相关的信息。开发人员不必询问测试人员到底做了什么,以及重新设置BUG重现的环境。只需简单地双击链接,即可得到一个简单的实验室环境视图,其中可以包括多个虚拟机环境,他可以用一次点击就可以恢复所需的整个环境状态。开发人员就拥有了整个环境,包括历史环境下的调试工具和代码,找到导致软件BUG的事件发生的顺序和流程。
测试人员使用微软虚拟实验室环境中工作,如图12所示。 虚拟实验室自动化领域到现在为止已存在了多年。像Skytap、Surgient和VMLogix这些公司都以管理及控制这些类型的环境为业。虚拟化平台行业的巨头VMware早在2006年6月就收购了Akimbi(一家小规模的实验室管理新兴公司),一举进入了这个行业。 与VMware一样,微软如今也进入了实验室自动化行业,希望进一步扩展其自身的虚拟化平台和管理产品系列。微软现把Visual Studio 2010、系统中心虚拟机管理器(SCVMM)2008和虚拟机管理程序Hyper-V集成起来,推出了自己的虚拟实验室自动化解决方案,名为Visual Studio 2010 Lab Management。其实,微软早在去年11月就宣布要推出这款解决方案。 微软虚拟实验室自动化解决方案 在服务器端,Lab Management服务是在团队基础服务器(TFS)里面运行的诸多服务中的一项。这使得Lab Management解决方案对软件测试人员和开发人员来说显得很独特。现在,用户可以把主机、虚拟机和存储系统等实验室资源与Team Project Collections和Team Projects对应起来,从而使实验室硬件需求与开展中项目的业务需求相一致。 TFS中的实验室管理服务使用系统中心虚拟机管理器(SCVMM)来管理实验室基础架构及配置多个虚拟机平台上的虚拟机。Lab Management产品附带SCVMM。 微软测试和实验室管理器(Microsoft Test and Lab Manager)是一款基于Windows Presentation Foundation的富客户端软件。测试和实验室管理器中的实验室中心(Lab Center)让用户可以: 创建及管理虚拟或物理环境; 可对环境拍取快照,或者退回到虚拟环境的现有快照; 通过环境查看器,与环境中的虚拟机进行联系; 为环境定义测试设置; 用户可以在测试中心中定义测试方案、测试套件和测试用例,并且在实验室环境上执行。
clip_image016clip_image018
图12 使用虚拟实验室环境中工作
实验室管理能够最大程度的提升开发人员<——>测试人员的工作流,并且帮助整个开发流程变得更加有效率。
TFS2010中的实验室管理服务使用系统中心虚拟机管理器(SCVMM)来管理实验室基础架构及配置多个虚拟机平台上的虚拟机。Lab Management产品附带SCVMM。
微软已经把VSTS2010改造成为一个贯穿整个ALM的主要工具,所以在VSTS2010中加强了对测试计划,测试用例,相关报告等的支持。除了MTLM外,VSTS2010同样支持Web Tests、Ordered Test、Generic Test、Unit Test和CodedUI Test。CodedUI Test就是面向功能测试工程师,并为他们提供自动化测试支持的全新的功能。
VSTS2010 测试工具项,如图13所示。
clip_image020
图13 VSTS2010 测试工具项
VSTS2010中的CodedUI Test支持自动化功能测试软件的录制回放功能,如果能把CodedUI Test与测试用例管理结合起来,然后再使用Lab Manager上的一些功能会有不错的效果。CodedUI Test工作区包括软件UI录制、事件记录和回放、软件组件属性捕捉和录制到的动作事件自动代码生成等功能。CodedUI Test自动化测试操作区,如图14所示。
clip_image022
图14 CodedUI Test自动化测试
捕捉到UI操作事件后,点击右端生成事件代码按钮,可以生成自动化测试(C#或VB) 代码,这是一个非常Cool的功能,方便测试人员和开发人员进行测试代码的调用。生成相关自动化代码,如图15所示。
clip_image024
图15 生成相关自动化UI代码
在VSTS2010中,Share Point的Web Access也非常强大,Web 端各种工具功能项与软件生命周期过程紧密集成。VSTS2010提供了强大的Web过程管理模板,包括BUG过程控制与跟踪。VSTS2010与Share Point管理模板,如图16所示。
clip_image026
clip_image028
图16 VSTS2010与Share Point管理模板
3、工具化协作(PM与Team人员)
VSTS 2010在协作功能上则通过TFS增强包括提供流程模板,除了允许团队可以配置及采用任何喜欢的敏捷式(Agile)软件开发模式外,团队也可根据丰富的工作项目连结进行追踪,并建立有层次的工作项目关联。在应用程序生命周期管理中,我们最关心的是项目的管理人员如何参与到整个生命周期中来。通过TFS与Peoject和Excel之间的紧密协作,项目的管理人员可以使用自己熟悉的项目管理工具,直接从TFS获取项目的相关信息, 通过丰富的项目报表,了解项目的运行情况,准确地对项目中的各项任务进行计划和管理。Project与VSTS的协作,产生项目计划,如图17所示。
clip_image030
图17 Project与VSTS的协作,产生项目计划
大型开发团队软件开发中,可以结合微软OCS(Microsoft Office Communication Server 2007 R2) 和Office Communicator 2007 R2,与各个团队小组中保持即时沟通,在结合Exchange server2010进行项目软件工作流程进度等自动提醒(包括邮件、消息等),将会大大增加团队整体协作效率。OCS与VSTS、Exchange server2010协作,如图18所示。
clip_image031
图18 微软OCS2007与VSTS、Exchange server2010协作
另外,在程序代码管理系统上,TFS2010则提供视觉化的工具以追踪从分支到产品版本的所有修改;以及提供各种工作流程程序版本以提前发现错误。
五、总结
TFS 2010是微软的软件开发生命周期管理(ALM)套件的核心服务器端,将MTLM与它进行紧密绑定更进一步凸显了微软软件生命周期管理软件的战略,并突出了Visual Studio 2010 Ultimate更多的敏捷特性。它不再只是面向开发人员或者是测试人员角色,而是要提供一个平台来有效协调和支持开发过程中各个角色,并使他们能够彼此紧密联系进行协作。就像早在VS 2008中就已经支持Excel和Project和TFS连接一样,是一种趋势,我们可以想到未来很可能有更多和软件开发过程相关的工具都会与TFS绑定。例如,在工作过程中总有很多细小的问题和发现无处归类留作备忘,或者用这种协作Q&A的方式进行交互和快速响应,不用写太多东西,随时有新的发现就随时记录或者发起BUG,而且非常轻量级,并具有非常强的功能操作敏捷性和协作等特点。
 
———————————————————————
任何美好的事物只有触动了人们的心灵才变的美好;
孤独的时候看看天空里的雨,其实流泪的不只是你。

———————————————————————