VS2010测试概述
一个软件产品或系统同任何事物一样,也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期,也称为SDLC(software development life cycle)
软件开发生命周期。它是软件的产生直到报废的生命周期。周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则。我们也可以将SDLC
解释为一组步骤(Step)
、阶段(Phase)
或者里程标(Milestone)
,SDLC
的一般步骤包括:确定问题、可行性分析与开发计划、收集需求、分析与设计、编码开发、测试、安装、维护。 在微软Visual Studio 2010 Ultimate
中,应用程序生命周期(ALM)
是其重要特性和SDLC
实现方式之一。我们将一个软件的生命周期(SDLC)
划分为几个阶段,而利用各种工具辅助每个关键环节进行管理,就称为应用程序生命周期管理(ALM
,Application Lifecycle Management)
。微软Visual Studio 2010
将会努力打造一个功能平等、共同分担,易用便捷的平台,以用于组织内的应用程序生命周期管理过程。 在VS2010
的工具中,真正主角已经不在是作为编码工具的VS IDE
,而是ALM
的核心TFS
,新增的MTM
(Microsoft Test Manager
)工具是一个为辅助的客户端。 提示: 微软测试管理器(Microsoft Test Manager )是一款基于Windows Presentation Foundation (WPF )的富客户端软件 ( 内部开发代号“Camano”) ,安装Visual Studio 2010 Ultmate 用户客户端,可以对正在开发的项目进行集成测试和管理控制功能。 在传统的微软.Net
软件构建工作流程(运行测试—>
编译代码—>
部署应用)中,每个系统都有自己的一套方法,例如,都有自己的仓库、资源、自己的命令和工具。这将使喜欢尝试集成和自定义组件的开发者的感觉是:软件构建过程分散,当项目大的时候不适合统一集成和代码调试与软件测试等问题。这种传统的构建工作流程如图1
所示。 TFS
的使命就是要解决开发过程中的信息“孤岛”问题,通过统一的存储机制是它们的能够协作起来。TFS 2010
已经是一个多源控制,实施和部署更加简单和“平民化”,并在整体协同技术上拥有了很大的进步。微软测试与实验室管理器构建软件工作流程如图3
所示。 TFS
的使命就是要解决开发过程中的信息“孤岛”问题,通过统一的存储机制是它们的能够协作起来。TFS 2010
已经是一个多源控制,实施和部署更加简单和“平民化”,并在整体协同技术上拥有了很大的进步。微软测试与实验室管理器构建软件工作流程如图3
所示。 微软已经为不同的角色提供了丰富的工具来访问TFS
数据,同时还提供了TFS Object Model (API)
,让第三方厂商就能够开发自己的基于TFS
的软件, 这就扩大了从事.Net
工作人员的工作流程的应用范围。如图4
所示。 现在Visual Studio
已不再是仅面向开发人员一种角色的软件编码工具,它已变成了一个覆盖整个软件开发生命周期的ALM
工具。其实,作为软件工具厂商这也是必然的发展方向,就像IBM
也有Rational
、ClearCase
等工具。作为每一个软件行业的从业人员,无论是开发人员、项目经理、还是测试人员,也要不断适应这个趋势,笔者认为它只会使我们的工作更简单和更轻松。 测试框架
对于测试人员而言,VS2010
强化了测试功能,并简化了在整个应用程序生命周期中整合测试的工具。新功能包括快速进行有关测试的设计与开发、测试用例管理,与Team Foundation Server
集成的测试计划,以及确保所有更新的程序代码都被测试提高覆盖率。 这些新功能贯穿了整个测试周期:测试计划、测试执行和测试执行进度跟踪。新增的MTM
工具用于创建测试计划、管理测试用例、运行测试用例、测试结果管理,以及分布式虚拟环境管理等。VSTS 2010
测试框架,如图5
所示。 通过以上测试框架的展示,我们可以看出VSTS2010
又加强了对测试计划,测试用例,相关报告等的支持,微软已经把VSTS2010
改造成为一个贯穿整个ALM
的主要工具。除了MTM
外,VSTS2010
同样支持Web Tests
、Ordered Test
、Generic Test
、Unit Test
自动化测试。新增的CodedUI Test
测试,就是面向功能测试工程师,并为他们提供支持自动化测试的全新的功能,并且也与MTM
工具整合。 测试和实验室管理框架
VSTS2010
中对架构设计,项目模板,测试管理,Test Lab
管理,项目门户等都进行了全面的改进;对于MS Project
,SharePoint
,Hyper-V
虚拟化平台以及云计算平台进行了全面的集成。 测试和实验室的管理的功能相对比较独立,所以作为一个单独工具使用更为轻便。 在服务器端,实验室管理服务是内部的Team Foundation Server
(TFS
)上运行的众多服务之一,这种解决方案是软件测试和开发人员比较独特的方式。现在我们可以映射实验室资源,例如,主机、虚拟机和存储团队的项目集合与团队项目,因此可以调整实验室的硬件与业务需求来适应工作。 在客户端,管理虚拟资源仍然是用MTM
工具。用户可以使用它定义测试计划,测试套件,测试案例和运行在物理或虚拟环境中。 实验室管理体系结构,如图6
所示。 由上图可以看出,微软实验室管理框架结合了虚拟化技术。Hyper-V
是微软新一代服务器虚拟化解决方案,构架和微软以往的虚拟化产品如Virtual Server
、Virtual PC
完全不同,可以说是微软虚拟化技术上的一个突破。 因此,重要的是了解围绕虚拟化的一些基本概念以及如何把这些实验室管理中用来了解这种技术模式的转变。 Hyper-V 是一个只有几百KB的小程序,它介于物理硬件和虚拟机之间,代码非常少,不含任何第三方的驱动,非常的精简,这种构架使得虚拟机和硬件之间只通过很薄的一层进行连接,不像Virtual Server那样虚拟机和硬件之间需要经过多层的转换,因而虚拟机执行效率非常高,可以更加充分的利用硬件资源,使虚拟机系统性能非常的接近真实的操作系统性能。它可以 模拟一个完整的硬件系统,从处理器到网络卡,在一个独立的,孤立的软件环境,使在一台物理计算机上的不兼容的操作系统同步运行。每个操作系统运行在它自己的孤立的软件分区。 微软Hyper-V构架图,如图7所示。 微软测试和实验室管理器( MTM
)中的实验室中心( Lab Center
)是在微软 虚拟化技术上 ,可以创建及管理虚拟或物理环境;可对环境拍取快照,或者退回到虚拟环境的现有快照;通过环境查看器,与环境中的虚拟机进行联系;为环境定义测试设置;还可以在测试中心中定义测试方案、测试套件和测试用例,并且在实验室环境上执行。 l 虚拟机快照( Virtual Machine Snapshot
):一个虚拟机快照是一个基于文件的快照状态,例如,磁盘上的数据以及配置虚拟机在一个特定的时间点。快照是虚拟机在功能上类似于笔记本电脑休眠状态的时候所具有的更大的灵活性,一个 VM
支持多个快照。你可以回滚到以前采取的任何快照,并可以继续在那里工作。 Hyper-V
虚拟机快照树,如图 8
所示。 l 主机( Host
):是一个物理计算机承载一个或多个虚拟机。 l 主机组( Host Group
):是虚拟机的主机,而管理员可以在 SCVMM
的创造便于监测和管理自定义组。可用于分配和确定各种团队项目预留的资源。例如,管理员可以创建一个主机组名为“全球保险主机的团队”,关于“全球保险工程”项目,并绑定到在 Team Foundation
管理控制台相应的团队项目。 l 库共享( Library Share
):对虚拟机的优点之一是,你不需要占用主机(如果你暂时不使用虚拟机 VM
)。你可以通过几分钟的拷贝把它存储在磁盘上,带到其他计算机环境进行工作。 l 环境( Environment
):一个典型的多层应用程序包括多个角色,如,数据库服务器, Web
服务器,客户端等,每个角色都可以在一个或多个计算机上运行,也可以有一台计算机上运行多个角色。在以前管理环境的多层次应用上,是一个非常麻烦且容易出错的工作,而且在复制同一个相同的环境,更是一个很困难的事情。 在 TFS
实验室的管理服务中,使用的实验室管理系统中心虚拟机管理器( SCVMM
)和在多个虚拟化平台的虚拟机配置管理,可以得到的 SCVMM
的实验室管理与复制。 提示: SCVMM (系统中心虚拟机管理器, System Center Virtual Machine Manager )是虚拟化技术的管理工具,也是微软系统中心管理解决方案的一部分。 SCVMM 2008 R2 可以管理 VMware ESX 、微软 Virtual Server 2005 R2 和 Windows Server 2008 R2 Hyper-V 。 SCVMM 具有六项新增功能:快速存储迁移、实时迁移队列、快速配置、主机兼容性检测、支持第三方 CFS 文件格式、支持 Veritas 卷管理器。它可以将物理服务器整合到一个虚拟架构提供端到端支持;可快速可靠的物理到虚拟( P2V )以及虚拟到虚拟( V2V )机器转换;可以虚拟工作负载在物理宿主服务器上的最优化智能安置;实现虚拟机的快速部署和迁移;能够集中管理虚拟数据中心中所有组件块的完整库文件。 VS 2010
重点强调了测试与开发人员的协作。测试影响视图 (Test Impact View)
和代码变更视图 (Code Changes View)
可以避免运行全部测试来验证某一个小的代码变更所造成的浪费,使得测试更加高效。除此之外,测试人员可以使用 MTM
工具可进行 Bug
生命周期的跟踪和控制 (Plan
— >Test
— >Track
— >Organize)
。通过 Testing Center
进行新 BUG
发布。 MTM
引入了一些新的概念,从字面一般上都很轻易理解,包含下面四个概念: Test Plan
、 Test Suites
、 Test Case
和 Configurations
,使用 VS 2010
中提供的 UML
类图描述了它们之间的关系。如图 9
所示。 由上图看出, Test Plan
是 MTM
中管理的最顶层的对象。在启动了 MTM
时需要连接到 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
工作项。 MTM
为这些对象的管理和使用提供了操作界面,如图 10
所示。 注意:在这里需要指出的是,Automated Test Case 只能在VS 测试工程中定义和代码实现,并可以在VS 中运行,其代码保存在TFS 工程的代码控制器中。Automated Test Case 在与MTM 中定义的Test Case 关联后,也可以在MTM 中执行。
本文转自
高阳 51CTO博客,原文链接:http://blog.51cto.com/xiaoyinnet/286364 ,如需转载请自行联系原作者