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