詳解Visual Studio 2010敏捷功能(下) 強(qiáng)化測試功能
微軟Visual Studio 2010已經(jīng)進(jìn)入Beta 2版本測試階段,對于在Visual Studio 2010 Ultimate敏捷功能特性的講解,是本文的重點(diǎn)。點(diǎn)擊閱讀《詳解Visual Studio 2010敏捷功能(上) ALM探秘》。
#T#
在測試方面,VSTS 2010強(qiáng)化了測試功能,同時簡化了在整個應(yīng)用程序生命周期中整合測試的工具。新功能包括快速進(jìn)行有關(guān)測試的設(shè)計與開發(fā)、測試用例管理,與Team Foundation Server集成的測試計劃,以及確保所有更新的程序代碼都被測試提高覆蓋率,并且新增了功能非常強(qiáng)的微軟測試與實(shí)驗(yàn)室管理器MTLM(Microsoft Test and Lab Manager),它是一個單獨(dú)運(yùn)行的工具 (內(nèi)部開發(fā)代號“Camano”),用于創(chuàng)建測試計劃、管理測試用例、運(yùn)行測試用例以及測試結(jié)果管理等。
VSTS2010測試框架,如圖1所示。
圖1 VSTS2010 測試框架
在VSTS 2010重點(diǎn)強(qiáng)調(diào)了測試與開發(fā)人員的協(xié)作。測試影響視圖(Test Impact View)和代碼變更視圖(Code Changes View)可以避免運(yùn)行全部測試來驗(yàn) 證某一個小的代碼變更所造成的浪費(fèi),使得測試更加高效。除此之外,測試人員可以通過Microsoft Test and Lab Manager工具,可進(jìn)行Bug生命周期的跟蹤和控制(Plan—>Test—>Track—>Organize)。通過Testing Center進(jìn)行新BUG發(fā)布,如圖2所示。
圖2 Lab Test新建BUG項(xiàng)
圖3 Lab Test BUG(Run)
點(diǎn)擊“Run”運(yùn)行測試這個新BUG。Test Runner界面,如圖13所示。測試人員可以非常便捷的,針對軟件產(chǎn)品的界面進(jìn)行截圖,附件加載等操作,并且可以進(jìn)行動作BUG捕捉事件的錄制操作,也可以進(jìn)行Play回放,信息存入此BUG步驟中,完成一次BUG的捕捉工作,Save and Close發(fā)布給開發(fā)人員進(jìn)行BUG修復(fù)。
圖4 Test Runner-Microsoft Test and Lab Manager
圖5 BUG追蹤(Track)與管理
另外,VSTS2010可以在Architecture設(shè)計時,靈活的創(chuàng)建Work Item項(xiàng),如圖6所示。
圖6 創(chuàng)建 Work Item項(xiàng)
微軟現(xiàn)把Visual Studio 2010、系統(tǒng)中心虛擬機(jī)管理器(SCVMM)2008和虛擬機(jī)管理程序Hyper-V集成起來,推出了自己的虛擬實(shí)驗(yàn)室自動化解決方案,名為Visual Studio 2010 Lab Management,從而微軟也進(jìn)入了實(shí)驗(yàn)室自動化行業(yè),進(jìn)一步擴(kuò)展其自身的虛擬化平臺和管理產(chǎn)品系列。
虛擬實(shí)驗(yàn)室管理架構(gòu),如圖7所示。
圖7 虛擬實(shí)驗(yàn)室管理架構(gòu)
測試和實(shí)驗(yàn)室管理器中的實(shí)驗(yàn)室中心(Lab Center)可以讓用戶:1、創(chuàng)建及管理虛擬或物理環(huán)境;2、可對環(huán)境拍取快照,或者退回到虛擬環(huán)境的現(xiàn)有快照;3、通過環(huán)境查看器,與環(huán)境中的虛擬機(jī)進(jìn)行聯(lián)系;4、為環(huán)境定義測試設(shè)置;用戶可以在測試中心中定義測試方案、測試套件和測試用例,并且在實(shí)驗(yàn)室環(huán)境上執(zhí)行。
在VSTS 2010中包含了很多工具,測試人員在虛擬機(jī)環(huán)境下測試并找到一個軟件BUG的時候,只用一個簡單的點(diǎn)擊就可以把整個環(huán)境的鏡像點(diǎn)(多個虛擬機(jī))記錄下來。他可以把這個鏡像點(diǎn)的鏈接,作為附件自動內(nèi)嵌在軟件BUG報告中,同時可以選擇包含更多的信息,比如帶時間坐標(biāo)的視頻,操作記錄,歷史調(diào)試記錄以及更多信息。開發(fā)人員得到這個軟件BUG報告后,從VSTS2010 IDE中打開它,并且找到與該BUG在該鏡像點(diǎn)上所有相關(guān)的信息。開發(fā)人員不必詢問測試人員到底做了什么,以及重新設(shè)置BUG重現(xiàn)的環(huán)境。只需簡單地雙擊鏈接,即可得到一個簡單的實(shí)驗(yàn)室環(huán)境視圖,其中可以包括多個虛擬機(jī)環(huán)境,他可以用一次點(diǎn)擊就可以恢復(fù)所需的整個環(huán)境狀態(tài)。開發(fā)人員就擁有了整個環(huán)境,包括歷史環(huán)境下的調(diào)試工具和代碼,找到導(dǎo)致軟件BUG的事件發(fā)生的順序和流程。
測試人員使用微軟虛擬實(shí)驗(yàn)室環(huán)境中工作,如圖8所示。
圖8 VSTS2010 測試工具項(xiàng)
實(shí)驗(yàn)室管理能夠***程度的提升開發(fā)人員<——>測試人員的工作流,并且?guī)椭麄€開發(fā)流程變得更加有效率。
TFS2010中的實(shí)驗(yàn)室管理服務(wù)使用系統(tǒng)中心虛擬機(jī)管理器(SCVMM)來管理實(shí)驗(yàn)室基礎(chǔ)架構(gòu)及配置多個虛擬機(jī)平臺上的虛擬機(jī)。Lab Management產(chǎn)品附帶SCVMM。
微軟已經(jīng)把VSTS2010改造成為一個貫穿整個ALM的主要工具,所以在VSTS2010中加強(qiáng)了對測試計劃,測試用例,相關(guān)報告等的支持。除了MTLM外,VSTS2010同樣支持Web Tests、Ordered Test、Generic Test、Unit Test和CodedUI Test。CodedUI Test就是面向功能測試工程師,并為他們提供自動化測試支持的全新的功能。
VSTS2010 測試工具項(xiàng),如圖9所示。
圖9 CodedUI Test自動化測試
VSTS2010中的CodedUI Test支持自動化功能測試軟件的錄制回放功能,如果能把CodedUI Test與測試用例管理結(jié)合起來,然后再使用Lab Manager上的一些功能會有不錯的效果。CodedUI Test工作區(qū)包括軟件UI錄制、事件記錄和回放、軟件組件屬性捕捉和錄制到的動作事件自動代碼生成等功能。CodedUI Test自動化測試操作區(qū),如圖10所示。
圖10 CodedUI Test自動化測試
捕捉到UI操作事件后,點(diǎn)擊右端生成事件代碼按鈕,可以生成自動化測試(C#或VB) 代碼,這是一個非常Cool的功能,方便測試人員和開發(fā)人員進(jìn)行測試代碼的調(diào)用。生成相關(guān)自動化代碼,如圖11所示。
圖11 生成相關(guān)自動化UI代碼
在VSTS2010中,Share Point的Web Access也非常強(qiáng)大,Web 端各種工具功能項(xiàng)與軟件生命周期過程緊密集成。VSTS2010提供了強(qiáng)大的Web過程管理模板,包括BUG過程控制與跟蹤。VSTS2010與Share Point管理模板,如圖12所示。
工具化協(xié)作(PM與Team人員)
VSTS 2010在協(xié)作功能上則通過TFS增強(qiáng)包括提供流程模板,除了允許團(tuán)隊(duì)可以配置及采用任何喜歡的敏捷式(Agile)軟件開發(fā)模式外,團(tuán)隊(duì)也可根據(jù)豐富的工作項(xiàng)目連結(jié)進(jìn)行追蹤,并建立有層次的工作項(xiàng)目關(guān)聯(lián)。在應(yīng)用程序生命周期管理中,我們最關(guān)心的是項(xiàng)目的管理人員如何參與到整個生命周期中來。通過TFS與Peoject和Excel之間的緊密協(xié)作,項(xiàng)目的管理人員可以使用自己熟悉的項(xiàng)目管理工具,直接從TFS獲取項(xiàng)目的相關(guān)信息, 通過豐富的項(xiàng)目報表,了解項(xiàng)目的運(yùn)行情況,準(zhǔn)確地對項(xiàng)目中的各項(xiàng)任務(wù)進(jìn)行計劃和管理。Project與VSTS的協(xié)作,產(chǎn)生項(xiàng)目計劃,如圖13所示。
圖13 Project與VSTS的協(xié)作,產(chǎn)生項(xiàng)目計劃
大型開發(fā)團(tuán)隊(duì)軟件開發(fā)中,可以結(jié)合微軟OCS(Microsoft Office Communication Server 2007 R2) 和Office Communicator 2007 R2,與各個團(tuán)隊(duì)小組中保持即時溝通,在結(jié)合Exchange server2010進(jìn)行項(xiàng)目軟件工作流程進(jìn)度等自動提醒(包括郵件、消息等),將會大大增加團(tuán)隊(duì)整體協(xié)作效率。OCS與VSTS、Exchange server2010協(xié)作,如圖14所示。
圖14 微軟OCS2007與VSTS、Exchange server2010協(xié)作
另外,在程序代碼管理系統(tǒng)上,TFS2010則提供視覺化的工具以追蹤從分支到產(chǎn)品版本的所有修改;以及提供各種工作流程程序版本以提前發(fā)現(xiàn)錯誤。
總結(jié)
TFS 2010是微軟的軟件開發(fā)生命周期管理(ALM)套件的核心服務(wù)器端,將MTLM與它進(jìn)行緊密綁定更進(jìn)一步凸顯了微軟軟件生命周期管理軟件的戰(zhàn)略,并突出了Visual Studio 2010 Ultimate更多的敏捷特性。它不再只是面向開發(fā)人員或者是測試人員角色,而是要提供一個平臺來有效協(xié)調(diào)和支持開發(fā)過程中各個角色,并使他們能夠彼此緊密聯(lián)系進(jìn)行協(xié)作。就像早在VS 2008中就已經(jīng)支持Excel和Project和TFS連接一樣,是一種趨勢,我們可以想到未來很可能有更多和軟件開發(fā)過程相關(guān)的工具都會與TFS綁定。例如,在工作過程中總有很多細(xì)小的問題和發(fā)現(xiàn)無處歸類留作備忘,或者用這種協(xié)作Q&A的方式進(jìn)行交互和快速響應(yīng),不用寫太多東西,隨時有新的發(fā)現(xiàn)就隨時記錄或者發(fā)起B(yǎng)UG,而且非常輕量級,并具有非常強(qiáng)的功能操作敏捷性和協(xié)作等特點(diǎn)。