详解Visual Studio 2010敏捷功能(下) 强化测试功能
微软Visual Studio 2010已经进入Beta 2版本测试阶段,对于在Visual Studio 2010 Ultimate敏捷功能特性的讲解,是本文的重点。点击阅读《详解Visual Studio 2010敏捷功能(上) ALM探秘》。
在测试方面,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所示。
工具化协作(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则提供视觉化的工具以追踪从分支到产品版本的所有修改;以及提供各种工作流程程序版本以提前发现错误。