詳解Visual Studio 2010 Ultimate測(cè)試體系結(jié)構(gòu)
Visual Studio 2010中關(guān)于測(cè)試部分的改進(jìn)較之前的版本有不少改進(jìn),本文將從Visual Studio 2010 Ultimate為大家講解軟件生存周期的內(nèi)容。
VS2010測(cè)試概述
一個(gè)軟件產(chǎn)品或系統(tǒng)同任何事物一樣,也要經(jīng)歷孕育、誕生、成長(zhǎng)、成熟、衰亡等階段,一般稱為軟件生存周期,也稱為SDLC(software development life cycle)軟件開發(fā)生命周期。它是軟件的產(chǎn)生直到報(bào)廢的生命周期。周期內(nèi)有問題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)到廢棄等階段,這種按時(shí)間分程的思想方法是軟件工程中的一種思想原則。我們也可以將SDLC解釋為一組步驟(Step)、階段(Phase)或者里程標(biāo)(Milestone),SDLC的一般步驟包括:確定問題、可行性分析與開發(fā)計(jì)劃、收集需求、分析與設(shè)計(jì)、編碼開發(fā)、測(cè)試、安裝、維護(hù)。
在微軟Visual Studio 2010 Ultimate中,應(yīng)用程序生命周期(ALM)是其重要特性和SDLC實(shí)現(xiàn)方式之一。我們將一個(gè)軟件的生命周期(SDLC)劃分為幾個(gè)階段,而利用各種工具輔助每個(gè)關(guān)鍵環(huán)節(jié)進(jìn)行管理,就稱為應(yīng)用程序生命周期管理(ALM,Application Lifecycle Management)。微軟Visual Studio 2010將會(huì)努力打造一個(gè)功能平等、共同分擔(dān),易用便捷的平臺(tái),以用于組織內(nèi)的應(yīng)用程序生命周期管理過程。
在VS2010的工具中,真正主角已經(jīng)不在是作為編碼工具的VS IDE,而是ALM的核心TFS,新增的MTM(Microsoft Test Manager)工具是一個(gè)為輔助的客戶端。
提示:微軟測(cè)試管理器(Microsoft Test Manager)是一款基于Windows Presentation Foundation(WPF)的富客戶端軟件(內(nèi)部開發(fā)代號(hào)“Camano”),安裝Visual Studio 2010 Ultmate用戶客戶端,可以對(duì)正在開發(fā)的項(xiàng)目進(jìn)行集成測(cè)試和管理控制功能。
在傳統(tǒng)的微軟.NET軟件構(gòu)建工作流程(運(yùn)行測(cè)試—>編譯代碼—>部署應(yīng)用)中,每個(gè)系統(tǒng)都有自己的一套方法,例如,都有自己的倉(cāng)庫(kù)、資源、自己的命令和工具。這將使喜歡嘗試集成和自定義組件的開發(fā)者的感覺是:軟件構(gòu)建過程分散,當(dāng)項(xiàng)目大的時(shí)候不適合統(tǒng)一集成和代碼調(diào)試與軟件測(cè)試等問題。這種傳統(tǒng)的構(gòu)建工作流程如圖1所示。

圖 1 傳統(tǒng)的軟件流程信息孤島
TFS的使命就是要解決開發(fā)過程中的信息“孤島”問題,通過統(tǒng)一的存儲(chǔ)機(jī)制是它們的能夠協(xié)作起來。TFS 2010已經(jīng)是一個(gè)多源控制,實(shí)施和部署更加簡(jiǎn)單和“平民化”,并在整體協(xié)同技術(shù)上擁有了很大的進(jìn)步。微軟測(cè)試與實(shí)驗(yàn)室管理器構(gòu)建軟件工作流程如圖3所示。

圖 2 傳統(tǒng)的軟件流程信息孤島
TFS的使命就是要解決開發(fā)過程中的信息“孤島”問題,通過統(tǒng)一的存儲(chǔ)機(jī)制是它們的能夠協(xié)作起來。TFS 2010已經(jīng)是一個(gè)多源控制,實(shí)施和部署更加簡(jiǎn)單和“平民化”,并在整體協(xié)同技術(shù)上擁有了很大的進(jìn)步。微軟測(cè)試與實(shí)驗(yàn)室管理器構(gòu)建軟件工作流程如圖3所示。

圖 3 實(shí)驗(yàn)室管理構(gòu)建軟件工作流程
#p#
微軟已經(jīng)為不同的角色提供了豐富的工具來訪問TFS數(shù)據(jù),同時(shí)還提供了TFS Object Model (API) ,讓第三方廠商就能夠開發(fā)自己的基于TFS的軟件,這就擴(kuò)大了從事.Net工作人員的工作流程的應(yīng)用范圍。如圖4所示。

圖 4 VS 2010軟件工作流程
現(xiàn)在Visual Studio已不再是僅面向開發(fā)人員一種角色的軟件編碼工具,它已變成了一個(gè)覆蓋整個(gè)軟件開發(fā)生命周期的ALM工具。其實(shí),作為軟件工具廠商這也是必然的發(fā)展方向,就像IBM也有Rational、ClearCase等工具。作為每一個(gè)軟件行業(yè)的從業(yè)人員,無論是開發(fā)人員、項(xiàng)目經(jīng)理、還是測(cè)試人員,也要不斷適應(yīng)這個(gè)趨勢(shì),筆者認(rèn)為它只會(huì)使我們的工作更簡(jiǎn)單和更輕松。
VS2010測(cè)試框架
對(duì)于測(cè)試人員而言,VS2010強(qiáng)化了測(cè)試功能,并簡(jiǎn)化了在整個(gè)應(yīng)用程序生命周期中整合測(cè)試的工具。新功能包括快速進(jìn)行有關(guān)測(cè)試的設(shè)計(jì)與開發(fā)、測(cè)試用例管理,與Team Foundation Server集成的測(cè)試計(jì)劃,以及確保所有更新的程序代碼都被測(cè)試提高覆蓋率。這些新功能貫穿了整個(gè)測(cè)試周期:測(cè)試計(jì)劃、測(cè)試執(zhí)行和測(cè)試執(zhí)行進(jìn)度跟蹤。新增的MTM工具用于創(chuàng)建測(cè)試計(jì)劃、管理測(cè)試用例、運(yùn)行測(cè)試用例、測(cè)試結(jié)果管理,以及分布式虛擬環(huán)境管理等。VSTS 2010測(cè)試框架,如圖5所示。

圖 5 VSTS 2010測(cè)試框架
通過以上測(cè)試框架的展示,我們可以看出VSTS2010又加強(qiáng)了對(duì)測(cè)試計(jì)劃,測(cè)試用例,相關(guān)報(bào)告等的支持,微軟已經(jīng)把VSTS2010改造成為一個(gè)貫穿整個(gè)ALM的主要工具。除了MTM外,VSTS2010同樣支持Web Tests、Ordered Test、Generic Test、Unit Test自動(dòng)化測(cè)試。新增的CodedUI Test測(cè)試,就是面向功能測(cè)試工程師,并為他們提供支持自動(dòng)化測(cè)試的全新的功能,并且也與MTM工具整合。
測(cè)試和實(shí)驗(yàn)室管理框架
VSTS2010中對(duì)架構(gòu)設(shè)計(jì),項(xiàng)目模板,測(cè)試管理,Test Lab 管理,項(xiàng)目門戶等都進(jìn)行了全面的改進(jìn);對(duì)于MS Project,SharePoint,Hyper-V 虛擬化平臺(tái)以及云計(jì)算平臺(tái)進(jìn)行了全面的集成。測(cè)試和實(shí)驗(yàn)室的管理的功能相對(duì)比較獨(dú)立,所以作為一個(gè)單獨(dú)工具使用更為輕便。
在服務(wù)器端,實(shí)驗(yàn)室管理服務(wù)是內(nèi)部的Team Foundation Server(TFS)上運(yùn)行的眾多服務(wù)之一,這種解決方案是軟件測(cè)試和開發(fā)人員比較獨(dú)特的方式。現(xiàn)在我們可以映射實(shí)驗(yàn)室資源,例如,主機(jī)、虛擬機(jī)和存儲(chǔ)團(tuán)隊(duì)的項(xiàng)目集合與團(tuán)隊(duì)項(xiàng)目,因此可以調(diào)整實(shí)驗(yàn)室的硬件與業(yè)務(wù)需求來適應(yīng)工作。
在客戶端,管理虛擬資源仍然是用MTM工具。用戶可以使用它定義測(cè)試計(jì)劃,測(cè)試套件,測(cè)試案例和運(yùn)行在物理或虛擬環(huán)境中。實(shí)驗(yàn)室管理體系結(jié)構(gòu),如圖6所示。
是微軟新一代服務(wù)器虛擬化解決方案,構(gòu)架和微軟以往的虛擬化產(chǎn)品如Virtual Server、Virtual PC完全不同,可以說是微軟虛擬化技術(shù)上的一個(gè)突破。因此,重要的是了解圍繞虛擬化的一些基本概念以及如何把這些實(shí)驗(yàn)室管理中用來了解這種技術(shù)模式的轉(zhuǎn)變。
由上圖可以看出,微軟實(shí)驗(yàn)室管理框架結(jié)合了虛擬化技術(shù)。Hyper-V

Hyper-V是一個(gè)只有幾百KB的小程序,它介于物理硬件和虛擬機(jī)之間,代碼非常少,不含任何第三方的驅(qū)動(dòng),非常的精簡(jiǎn),這種構(gòu)架使得虛擬機(jī)和硬件之間只通過很薄的一層進(jìn)行連接,不像Virtual Server那樣虛擬機(jī)和硬件之間需要經(jīng)過多層的轉(zhuǎn)換,因而虛擬機(jī)執(zhí)行效率非常高,可以更加充分的利用硬件資源,使虛擬機(jī)系統(tǒng)性能非常的接近真實(shí)的操作系統(tǒng)性能。它可以模擬一個(gè)完整的硬件系統(tǒng),從處理器到網(wǎng)絡(luò)卡,在一個(gè)獨(dú)立的,孤立的軟件環(huán)境,使在一臺(tái)物理計(jì)算機(jī)上的不兼容的操作系統(tǒng)同步運(yùn)行。每個(gè)操作系統(tǒng)運(yùn)行在它自己的孤立的軟件分區(qū)。微軟Hyper-V構(gòu)架圖,如圖7所示。

圖 7 微軟Hyper-V構(gòu)架圖
微軟測(cè)試和實(shí)驗(yàn)室管理器(MTM)中的實(shí)驗(yàn)室中心(Lab Center)是在微軟虛擬化技術(shù)上,可以創(chuàng)建及管理虛擬或物理環(huán)境;可對(duì)環(huán)境拍取快照,或者退回到虛擬環(huán)境的現(xiàn)有快照;通過環(huán)境查看器,與環(huán)境中的虛擬機(jī)進(jìn)行聯(lián)系;為環(huán)境定義測(cè)試設(shè)置;還可以在測(cè)試中心中定義測(cè)試方案、測(cè)試套件和測(cè)試用例,并且在實(shí)驗(yàn)室環(huán)境上執(zhí)行。
#p#
MTM工具有以下管理功能:
虛擬機(jī)快照(Virtual Machine Snapshot):一個(gè)虛擬機(jī)快照是一個(gè)基于文件的快照狀態(tài),例如,磁盤上的數(shù)據(jù)以及配置虛擬機(jī)在一個(gè)特定的時(shí)間點(diǎn)??煺帐翘摂M機(jī)在功能上類似于筆記本電腦休眠狀態(tài)的時(shí)候所具有的更大的靈活性,一個(gè)VM支持多個(gè)快照。你可以回滾到以前采取的任何快照,并可以繼續(xù)在那里工作。Hyper-V虛擬機(jī)快照樹,如圖8所示。
圖 8 微軟Hyper-V虛擬機(jī)快照樹
主機(jī)(Host):是一個(gè)物理計(jì)算機(jī)承載一個(gè)或多個(gè)虛擬機(jī)。
主機(jī)組(Host Group):是虛擬機(jī)的主機(jī),而管理員可以在SCVMM的創(chuàng)造便于監(jiān)測(cè)和管理自定義組??捎糜诜峙浜痛_定各種團(tuán)隊(duì)項(xiàng)目預(yù)留的資源。例如,管理員可以創(chuàng)建一個(gè)主機(jī)組名為“全球保險(xiǎn)主機(jī)的團(tuán)隊(duì)”,關(guān)于“全球保險(xiǎn)工程”項(xiàng)目,并綁定到在Team Foundation管理控制臺(tái)相應(yīng)的團(tuán)隊(duì)項(xiàng)目。
庫(kù)共享(Library Share):對(duì)虛擬機(jī)的優(yōu)點(diǎn)之一是,你不需要占用主機(jī)(如果你暫時(shí)不使用虛擬機(jī)VM)。你可以通過幾分鐘的拷貝把它存儲(chǔ)在磁盤上,帶到其他計(jì)算機(jī)環(huán)境進(jìn)行工作。 環(huán)境(Environment):一個(gè)典型的多層應(yīng)用程序包括多個(gè)角色,如,數(shù)據(jù)庫(kù)服務(wù)器,Web服務(wù)器,客戶端等,每個(gè)角色都可以在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行,也可以有一臺(tái)計(jì)算機(jī)上運(yùn)行多個(gè)角色。在以前管理環(huán)境的多層次應(yīng)用上,是一個(gè)非常麻煩且容易出錯(cuò)的工作,而且在復(fù)制同一個(gè)相同的環(huán)境,更是一個(gè)很困難的事情。
在TFS實(shí)驗(yàn)室的管理服務(wù)中,使用的實(shí)驗(yàn)室管理系統(tǒng)中心虛擬機(jī)管理器(SCVMM)和在多個(gè)虛擬化平臺(tái)的虛擬機(jī)配置管理,可以得到的SCVMM的實(shí)驗(yàn)室管理與復(fù)制。
提示:SCVMM(系統(tǒng)中心虛擬機(jī)管理器,System Center Virtual Machine Manager)是虛擬化技術(shù)的管理工具,也是微軟系統(tǒng)中心管理解決方案的一部分。SCVMM 2008 R2可以管理VMware ESX、微軟Virtual Server 2005 R2和Windows Server 2008 R2 Hyper-V。
SCVMM具有六項(xiàng)新增功能:快速存儲(chǔ)遷移、實(shí)時(shí)遷移隊(duì)列、快速配置、主機(jī)兼容性檢測(cè)、支持第三方CFS文件格式、支持Veritas卷管理器。它可以將物理服務(wù)器整合到一個(gè)虛擬架構(gòu)提供端到端支持;可快速可靠的物理到虛擬(P2V)以及虛擬到虛擬(V2V)機(jī)器轉(zhuǎn)換;可以虛擬工作負(fù)載在物理宿主服務(wù)器上的***化智能安置;實(shí)現(xiàn)虛擬機(jī)的快速部署和遷移;能夠集中管理虛擬數(shù)據(jù)中心中所有組件塊的完整庫(kù)文件。
VS 2010重點(diǎn)強(qiáng)調(diào)了測(cè)試與開發(fā)人員的協(xié)作。測(cè)試影響視圖(Test Impact View)和代碼變更視圖(Code Changes View)可以避免運(yùn)行全部測(cè)試來驗(yàn)證某一個(gè)小的代碼變更所造成的浪費(fèi),使得測(cè)試更加高效。除此之外,測(cè)試人員可以使用MTM工具可進(jìn)行Bug生命周期的跟蹤和控制(Plan—>Test—>Track—>Organize)。通過Testing Center進(jìn)行新BUG發(fā)布。
MTM引入了一些新的概念,從字面一般上都很輕易理解,包含下面四個(gè)概念:Test Plan、Test Suites、Test Case和Configurations,使用VS 2010中提供的UML類圖描述了它們之間的關(guān)系。如圖9所示。
圖 9 MTM測(cè)試對(duì)象關(guān)系圖
由上圖看出,Test Plan是MTM中管理的最頂層的對(duì)象。在啟動(dòng)了MTM時(shí)需要連接到TFS工程,這個(gè)工程必須是團(tuán)隊(duì)使用的工程,它保存了開發(fā)團(tuán)隊(duì)創(chuàng)建的用戶需求工作項(xiàng)、代源代碼等,Test Plan對(duì)象必須在這個(gè)工程上創(chuàng)建。Test Suites實(shí)際上用來組織Test Case,類似于文件系統(tǒng)中文件夾的作用。Test Case在這里指的是手工測(cè)試用例,它描述了測(cè)試的詳細(xì)執(zhí)行步驟,以及每個(gè)步驟執(zhí)行完的期望結(jié)果,更準(zhǔn)確地講這里的Test Case是指手動(dòng)測(cè)試用例 (Manual Test Case)。Configuration則是定義了Test Plan的各種執(zhí)行環(huán)境配置。在這其中, Requirement映射到TFS的User Storey類型的工作項(xiàng),而Test Case和Shared Step對(duì)應(yīng)于Test Case和Shared Step工作項(xiàng)。MTM為這些對(duì)象的管理和使用提供了操作界面,如圖10所示。
圖 10 MTM對(duì)象的管理界面
注意:在這里需要指出的是,Automated Test Case只能在VS測(cè)試工程中定義和代碼實(shí)現(xiàn),并可以在VS中運(yùn)行,其代碼保存在TFS工程的代碼控制器中。Automated Test Case在與MTM中定義的Test Case關(guān)聯(lián)后,也可以在MTM中執(zhí)行。
原文標(biāo)題:Visual Studio 2010 Ultimate測(cè)試體系結(jié)構(gòu)
鏈接:http://www.cnblogs.com/xiaoyin_net/archive/2010/03/22/1691322.html
【編輯推薦】