微软在今天正式发布了Visual Studio 2010 Beta 2(内部开发代号 Dev10),同时也宣布了正式版本的发布日期为2010年3月22日,也就是春节后啊!MSDN订阅用户可以在今天开始下载Beta 2,其它用户则要到美国时间10/21号才能下载,也就是我们中国时间22号。我很高兴能够马上就用上Beta 2版本的Visual Studio 2010,与Beta 1相比变化还是不小的,先不说功能上有啥变化,仅Logo的变化就让人小吃了一惊。一改使用了十几年的“红绿蓝黄”,采用了全新的“紫蓝”Logo,乍一看还挺不适应的,毕竟用了VS十多年,对老Logo还是有感情的,呵呵!
老Logo,再怀念一下!
新VS Logo
新MSDN Logo
有关VS 2010 Beta 2的下载、安装和新功能特性等方面的信息,可以访问 http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx ,这里就不再多说了,作为一个测试人员,俺更关心的是它在测试方面的内容。
对于测试人员而言,VS 2010 带来了更多崭新的功能,这些新功能贯穿了整个测试周期 : 测试计划、测试执行和测试执行进度跟踪。虽然VS 2010 RTM还不是正式版,但是从微软发布的Beta 2我们也可以体验一下这些新的功能。 根据以往微软的开发流程和习惯,Beta 2和最终的RTM版应该是八九不离十的。VS 2010 引入了一个全新的工具,称作“微软测试与实验室管理器” (Microsoft Test and Lab Manager, MTLM),MTLM是一个单独运行的工具 (内部开发代号“Camano”),用于创建测试计划、管理测试用例、运行测试用例以及测试结果管理等。
在安装VS 2010套件的时候会一起安装上,其界面还是很漂亮的,不像是传统的WinForm程序,应该是完全用WPF编写的。MTLM是单独运行的一个工具,运行它不需要启动Visual Studio IDE。也许很多人会问:为什么不把它集成到VS IDE中,而是作为一单独的程序呢?我能够想到的答案是:测试和实验室的管理的功能相对比较独立,作为一个单独工具使用会更轻便。如果只是用来管理实验室或者执行测试用例,就可以只安装这个工具,在安装界面中可以选择只安装MTLM工具吧?——有待下次安装时确认。
我在自己的机器上安装了MTLM,第一次运行了这个工具后才发现,MTLM仅是一个测试和实验室管理功能的客户端,也就是个“配角儿”,真正的“主角儿”原来是Team Foundation Server(TFS)服务器,更确切的讲应该是TFS 2010 Beta 2。MTLM是完全依赖于TFS的,它运行起来的第一个界面就是要你去连接指定的TFS服务器,否则也就到此为止,寸步难行了。我们知道,TFS是微软的软件开发生命周期管理(ALM)套件的核心服务器端,将MTLM与它进行紧密绑定更进一步凸显了微软软件生命周期管理软件的战略,这其实从VS 2005和2008就已经逐步开始了,2010更进一强化了这战略。VS不再单单只是面向开发人员或者是测试人员角色,而是要提供一个平台来有效协调和支持开发过程中各个角色,并使他们能够彼此紧密联系进行协作。就象早在VS 2008中就已经支持Excel和Project和TFS连接一样,这也是趋势,设想以后很可能所有和软件开发过程相关的工具都会与TFS绑定。
MTLM 引入了一些新的概念,从字面基本上都很容易理解,包括下面四个概念:Test Plan、Test Suites、Test Case和Configurations,我用VS 2010中提供的UML类图描述了它们之间的关系:
这几概念还是比较好理解的,Test Plan是MTLM中管理的最顶层的对象。在启动了MTLM需要连接到TFS工程,这个工程必须是团队使用的工程,它保存了开发团队创建的用户需求工作项、代源代码等,Test Plan对象必须在这个工程上创建。Test Suites实际上使用来组织Test Case,类似于文件系统中文件夹的作用。Test Case在这里指的是手工测试用例,它描述了测试的详细执行步骤,以及每个步骤执行完的期望结果,更准确地讲这里的Test Case是指手动测试用例 (Manual Test Case)。Configuration则是定义了Test Plan的各种执行环境配置。这其中, Requirement映射到TFS的User Storey类型的工作项,而Test Case和Shared Step对应于Test Case和Shared Step工作项。MTLM为这些对象的管理和使用提供了操作界面,如下图所示:
在这里需要指出的是,Automated Test Case只能在VS测试工程中定义和代码实现的,并可以在VS中运行,其代码保存在TFS工程的代码控制器中。Automated Test Case在与MTLM中定义的Test Case关联后,也可以在MTLM中执行。
开篇就写到这里,我会在后续的文章中详细描述我用到的VS 2010 Beta 2测试功能,希望能对大家有所帮助。