软在昨天正式发布了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还是有感情的,呵呵!
图1 老Logo,再怀念一下!
图2 新VS Logo
图3 新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”),用于创建测试计划、管理测试用例、运行测试用例以及测试结果管理等。
图4 MTLM测试管理工具
在安装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绑定。在学习的过程中总有很多细小的问题和发现无处归类留作备忘,用这种Q&A的方式的蛮好的,不用写很多东西,随时有新的发现就随时写些东东,比较轻量级,挺好的!在这里列出一些VS 2010测试功能使用中遇到的问题:
问题 1.Microsoft Test and Lab Manager (MTLM)工具能和TFS 2008、2005一起工作吗?
答:不能。因为测试和实验管理是服务器端功能,这些功能仅在TFS 2010上支持。
问题 2.MTLM如何对用户访问权限进行管理?
答:MTLM没有单独的用户权限管理,它应该是依赖于所连接的TFS工程的用户权限配置。
问题 3.MTLM所管理的对象是如何在TFS端存储的呢?
答:Test Plan、Test Suites和Configuration 都是保存在TFS服务器端的数据库中,而Test Case则是以工作项(Work Item)的形式保存在TFS上的。在TFS 2010的默认工作项类型中,新增加了Test Case类型,就是用来保存Test Case对象的。因为工作项是具有历史信息记录和查询功能,所以Test Case对象的所有历史更改信息都可以查询到。而Test Plan、Test Suites和Configuration就不具有历史查询功能。
问题 4.什么是Shared Step?
答 :Shared Steps是指共享的测试步骤。每个Test Case是由一系列的测试步骤组成的,每个测试步骤包括要执行的操作以及对操作结果的验证。有些测试步骤是可以在多个测试用例中所共用的,就可以把它当作Shared Steps,比如说如果我们要从测试VS,第一步总是要启动VS并确认VS IDE显示出来了。这样一个步骤是所有对VS进行测试测试用例都必须要执行的,我们就可以把它创建为Shared Step。TFS 2010的默认工作项类型中,新增加了Shared Step类型,就是用来保存Shared Step对象的。
问题 5.哪里有最新的VS 2010测试功能的文档?
答:http://msdn.microsoft.com/en-us/library/ms182409(VS.100).aspx,读好MSDN的文档是了解好办法。
问题 6.MTLM里可以“Add requirements”来扩展Test Plan,这里requirement是指啥呢?
答:阅读MSDN的文档你会发现,requirement和User Story是可以互换的。实际上Requirement就是User Story,更确切的讲就是TFS上的User Story工作项。项目经理在定义好User Story,测试人员可以从User Story直接来创建测试计划的内容。
如果主角儿只有一位的话,整个VS 2010工具的真正主角以不再是作为编码工具的VS IDE,而是ALM的核心TFS。很多很多涉及到团队开发的功能都需要TFS(Team Foundation Server)的支持。
那么TFS到底是干啥的呢?从字面上翻译就是:Team团队Foundation基础Server服务器,更更通顺些翻译就是“团队协作基础服务器”,不知道微软的官方中文翻译是怎样的,如果有朋友知道,别忘了告诉一声。我记得它的第首个版本是出现在VS 2005中,当时看到它的时候,还是非常兴奋的,因为总算是可以告别“VSS存代码,Word记Bug,测试人员通知开发人员产品缺陷靠喊”的“手工++”开发模式。有了TFS,你开发过程中的所有“副产品”—— 需求、任务、缺陷和代码等都在一个服务器上,彼此可以互联互通,这感觉真爽啊!
下面的图描述了在没有TFS时候的情况,开发过程中的数据都是分别用不同的工具存储,彼此直接相互独立成为了信息“孤岛”,它们彼此之间的联系代表了人的行为实现的它们之间的“沟通”。
图1 TFS沟通方式