CIO
|
PCDIY!
|
旗標圖書
|
旗景數位影像
|
讀者服務
首 頁
即時新聞
業界動態
最新活動
企業採購
精選文章
線上教學
品牌活動
程式碼下載
雲端運算智庫
最近新增的
精選文章
AP內建AI引擎 Mist Cloud平台分析能力強 Juniper Mist AI領先全球 改善WiFi穩定、效能首選
解決IT供應鏈攻擊
內部威脅的七個警訊
遠百以專案辦公室推動數位體驗
多廠牌與多重電信業者網路架構的挑戰與機會
德明科大啟用電貿暨AI實習基地 ViewSonic ViewBoard 智慧互動電子白板 扮要角
淺談計算誤差
秀傳醫療體系統 以Lenovo HyperConverged HX 超融合架構扎穩智慧醫療發展基礎
模組化設計 偵測率達99.99% 全面防杜惡意郵件入侵 首選Cellopoint Email UTM
滿足網路管理與檔案安全傳輸需求,Ipswitch的MOVEit及WhatsUp Gold一次完整提供
來自學界的資料分析利器 - Weka 與 R
北醫建置肺癌資料庫,透過深度標註訓練AI,協助醫師早期發現癌症
北榮AI門診上路!人工智慧判讀腦瘤,有效縮短醫師確診時間
台灣智慧機器人玩具聯盟攜手英閱音躍研創 推廣T. Robot程式教育,協助國中小學扎根培養運算思維
一場與時間賽跑的戰役 ,人工智慧加速心血管疾病診斷
最多人點閱的
精選文章
免費IT建置--Linux系統操作與管理
免費IT建置--網頁伺服器的完美組合LAMP(下)
初探Hadoop開放原始碼平台環境
Linux下的防火牆(基礎篇)
免費IT建置--檔案共享與檔案伺服器
Linux下的防火牆(進階篇)
N.Y.BAGELS CAFE善用SAP Business One
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 影片播放器範例
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 線上查詢匯率
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 擲骰子遊戲
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 音樂播放器範例
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 來電黑名單
免費IT建置--網頁伺服器的完美組合LAMP(上)
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ 繪圖板範例
手機程式設計入門與應用 Android、iPhone、Windows Mobile─ Matrix應用範例
精選文章 - 開發技術
分享到Plurk
分享到FaceBook
TFS 2012 實驗室管理(1)
文‧圖/胡百敬
2013/3/4 下午 03:18:54
以往如何快速建立測試環境是個麻煩的課題,尤其為了相容性測試,其環境可能涵蓋多種作業系統、多國語言、不同版本的伺服器程式、前端程式、測試工具程式、測試資料、資料蒐集工具程式、獨立的環境…等,例如,繁、簡中文、日、韓、英…等國文字;搭配 Windows XP、Vista、Windows 7、Windows 8等使用者端、呼叫執行在 Windows Server 2003、2008、2008 R2、2012 等伺服器、啟動 AD 與否…等。各種環境需求如同矩陣相乘,有著成千上萬種組合。執行時還需隔絕於獨立網段,安全、不受干擾也不干擾其他系統。但測試過後即拋棄,因為環境已經髒亂。換句話說,每一次準備測是環境都曠日廢時。
而在系統開發的過程中,還需整合原始碼控制、文管、自動化建置、部署與測試,可批次週期性執行,並提供扼要的報告與容易取得資訊的入口網站…等,這些流程是提升軟體開發品質的有效方式。但須儘量省掉人力與雜工,才能在提升軟題品質的同時,不致耗費太大的成本或流於形式。然而,因為整個流程的建置與控管不易,往往需要熟悉作業平台和工具程式的專家,以及大量的腳本語言串起各個環節,才能讓整個流程自動化。
另一個麻煩事是:當測出缺失後,開發者要能重建缺失。但若開發者和測試者所用機器不同,軟硬體建置與設定殊異,不了解測試者的操作流程、測試資料以及待測程式的建置版本…等,不一定能重新產生相同的錯誤。最好有測試環境軟硬體規格、測試步驟的錄影、程式所觸發事件的細節、測試環境的快照…等,而這些資料要容易取得並可搭配原始碼交互參照,才好讓開發人員直接重建錯誤。
設定測試實驗室
為解決上述問題,Visual Studio與Team Foundation Server從2010版開始,若使用「Visual Studio Ultimate」或「Test Professional」版本加上「Team Foundation Server」服務,可以透過以下方式設定測試實驗室:
■搭配Hyper-V的管理服務「SCVMM(System Center Virtual Machine Manager)」,以及執行 Hyper-V 的實體主機和虛擬機器;提供了豐富的測試實驗室管理(Lab Management)功能。包括從範本配置測試環境,虛擬環境安裝、部署、設定和移除,啟動、停止虛擬環境的執行、建立環境的快照(Snapshot)…等功能。以添加測試的整合能力,例如選擇一組虛擬機範本庫(Template Library)建置虛擬環境。
附帶說明,若是透過TFS要整合SCVMM,則所有相關的機器應都要加入Windows AD網域。而此部分的建置我們將於下篇專欄介紹。
TFS 2012後提供「標準環境(Standard Environment) 」
■不整合SCVMM,團隊可使用已經建置的實體/虛擬機器,只需安裝Visual Studio提供的Test Controller和測試代理程式(Test Agent)即可。
實驗室管理的更新
TFS 2012版本針對實驗室管理做了如下的更新:
■不再需要在受管理的虛擬機上安裝三種代理程式(2010版本需要分別安裝測試、建置和實驗室三種代理程式),現在只需要安裝測試代理程式(Test Agent)即可。
■不需針對測試實驗室使用的機器或虛擬機範本,逐機器手動安裝與設定測試代理程式,實驗室管理環境會自動安裝,以及後續安裝修補程式…等(但安裝Test Agent 時需要安裝.NET Framework 4.5,若虛擬機內尚未安裝.NET Framework 4.5以及C++相關的程式庫,也可以利用agents for visual studio 2012光碟自行安裝)。
■支援當下System Center Virtual Machine Manager最新的2012版本。
■在實驗室環境以實體或虛擬機建立「標準環境(Standard Environment) 」時,不需搭配System Center Virtual Machine Manager。可在標準環境中執行「建置-部署-測試(Build Deploy Test)」流程。
■當環境發生錯誤時,會較為聰明地嘗試自我修正。
[註] 然而在整個實驗室管理的安裝與應用中,若真要橫跨多台虛擬/實體機器,各種軟硬體設備,諸如:Active Directory、防火牆、網路設定、Windows Remote Management…加上各種帳號/權限設定。雖然實驗室環境會嘗試自我修復,但若你不熟網路與透過各種事件檢視器來找尋問題,安裝TFS/Visual Studio實驗室仍有些困難。
特徵
換句話說,Visual Studio 2010/2012實驗室管理支援在多個不同的實體/虛擬環境中,各自安裝所需的平台與服務,擔任應用系統中特定的角色,並部署不同的應用程式和自動化測試。其特徵簡而言之有以下幾點:
■管理測試用的一組實體或虛擬機器,稱為「環境」,歸屬於團隊專案(Team Project)。
■開發者透過 TFS 的工作項目可以存取到測試者的環境。
■經由環境檢視器(Environment Viewer),可與實體/虛擬環境互動。
■在測試管理員可以定義測試計劃,測試套件(Suit)和測試案例,以及執行它們的實驗室環境。
■透過TFS的「組建」流程,可以自動化地建置、部署與測試。
■定義測試的環境設置,快速建立與準備虛擬機器。
■虛擬環境可以在多個主機間複製、共享。
■建立虛擬環境的快照或恢復到現有的快照。
■利用網路柵欄(Network fencing)機制,也就是封閉的虛擬網路提供多台虛擬機器相連,但與其他機器獨立的測試環境。
上述最後四點需要搭配SCVMM。
額外需要的安裝軟體
在使用TFS/Visual Studio的實驗室管理時,除了TFS和Visual Studio需要先安裝完畢外,額外需要的安裝軟體如下:
■Test Controller/Test Agent:設定 Lab Management以管理Test Agent執行測試
若要發揮強大的虛擬機器管理,則須搭配SCVMM建立實驗室環境,其
線上說明網址點此
■SCVMM:安裝 SCVMM 2012(本身在安裝時,要有大過 4G 的可用記憶體)前要先安裝
●適用於 Windows 7 的
Windows 自動化安裝套件 (AIK)
●SQL Server 2008 R2 Command Line Utilitie(從SQL Server 2008 R2 Feature Pack
下載
)
■若想安裝SCVMM 2012 SP1以完整使用Windows 2012提供的Hyper-V 3.0版之功能,至今尚未上市,當下只有Beta,需安裝在如下的作業系統:
●只能裝在 Windows 8 或 Windows Server 2012
●需要包含Windows PowerShell 3.0 的
Windows Management Framework 3.0 – RC
●
適用於 Windows 8 的 Windows 評定及部署套件
本篇專欄僅是介紹如何使用TFS 2012的實驗室管理功能,完成建置「標準」與「SCVMM」兩種環境,並進行測試。但接下來實作的過程中,必須已經建置好Team Foundation Server 2012,並且建立了團隊專案(Team Project)與測試計畫(Test Plan),以及 Visual Studio 2012和SCVMM 2012。由於這一部分的建置與設定超過專欄範圍,須請你自行參考線上文件準備環境。
標準環境
TFS 2012的測試實驗室環境功能新引進了「標準環境」功能,讓你較容易透過已經安裝好的實體機或虛擬機,建立「建置-部署-測試(Build Deploy Test) 」的環境與流程,而不需要搭配SCVMM。用來執行測試的實體機與虛擬機也不一定需要先安裝測試代理程式,若你未先安裝,TFS 2012的實驗室環境會自動透過Windows的遠端管理功能為你安裝。
「標準環境」的好處是安裝簡單,但無法像整合SCVMM的環境可以完全掌控虛擬機的狀況,例如啟動、建立快照、停止…等。換句話說,標準環境缺乏了SCVMM控制虛擬機的能力,對機器的管理需要自己完成。
接下來簡單說明設定標準環境的步驟:
■安裝和設定Visual Studio 2012 Test Controller和執行測試的機器
■建立標準環境
■建立測試計畫和測試案例
■執行測試案例
■透過LabDefaultTemplate建立建置定義
安裝和設定Visual Studio 2012 Test Controller以及 執行測試的機器
取得「Visual Studio 2012 Agent」的光碟或iso檔案後,先透過「TestController」目錄下的安裝程式「vstf_testcontroller.exe」安裝Test Controller,使用的機器不需與TFS伺服器在同一台機器,若需要安裝.NET Framework 4.5,則會要重新啟動該機器。
▲ 圖1:安裝Visual Studio Test Controller 2012
安裝完VS 2012 Test Controller後,自動叫起「設定測試控制器」工具程式。透過相關項目可以設定服務帳戶與Team Foundation Server上的「專案集合(Project Collection)」,Test Controller將會從這個專案集合取得執行測試所需的設定與程式。
建立標準環境
接著在「Microsoft Test Manager」內的「實驗室中心」建立「標準環境」。開啟「Test Manager」後切到「實驗室中心」,在第一個「實驗室」頁籤中點選「新增」,進入「新增環境」畫面,於「輸入及命名步驟」可以點選上方的「標準環境」。如圖2所示:
▲ 圖2:透過「Microsoft Test Manager」的「實驗室中心」建立「標準環境」
賦予標準環境「名稱」後,點選「下一步」按鈕或是直接點選左方的「電腦」頁籤,進入到「電腦」步驟,:
▲ 圖3:設定標準環境需要使用到的實體或虛擬機器
點選上方的「加入電腦」按鈕,而後在新出現的電腦圖案下方輸入實體或虛擬機器名稱,並於下拉選單中選擇該機器的用途。圖3中我們選擇一台虛擬機。
[註] 由於我們的TFS環境本身也是安裝在虛擬機器上,且與要執行測試的虛擬機在不同的Hyper-V Host,故透過SCVMM Console呈現所選擇的虛擬機器。
在下方的登入帳號需要輸入該電腦Administrator群組成員之「使用者名稱」和「密碼」。透過這個帳號,實驗室環境可自動幫你安裝測試代理程式。其後「電腦屬性」步驟可以不用輸入,接下來進入到「進階」步驟:
▲ 圖4:設定選用的測試控制器和在測試機上是否要使用執行UI測試
若你為專案集合定義多個測試控制器,在「進階」步驟可以選用測試控制器。在「設定要執行UI測試的環境」可勾選測試機上是否要使用執行UI測試,若要執行UI測試就須設定測試代理程式以互動方式登入本機,才能操控待測程式使用者介面。因此,需要賦予可以互動登入測試機器的帳號。最後步驟進行「驗證」,若一切無誤可以點選「完成」。
回到實驗室環境後將自動遠端安裝並設定測試代理程式,並重新啟動機器。在「Test Manager」的「實驗室中心」會呈現建置測試機器的進度(如圖5所示)
[註] 由於安裝Visual Studio 2012 Test Agent需要安裝.NET Framework 4.5,這會較為耗時且需要來回啟動。或許你可以先在目標機器自行安裝Visual Studio 2012 Test Agent。而後,實驗室環境依然會幫你安裝與設定Visual Studio 2012 Test Agent,但速度比較快。
▲ 圖5:實驗室中心會自動依照環境設定,遠端安裝與設定測試機器所需的測試代理程式
準備好測試環境後,接著就可以建立測試計畫和測試案例,在此以我們先前專欄「自動程式碼UI測試(上)、(下)」所建置的.NET測試專案為範例,賦予測試案例並納入Test Manager的測試計畫。
建立測試計畫和測試案例
以Visual Studio 2012開啟先前建立好的.NET自動程式碼UI測試專案,接著開啟「Team Explorer」視窗點選「工作項目」,在「工作項目」頁面上方的「新增工作項目」下拉選單選擇「測試案例」選項,如圖6所示:
▲ 圖6:新增執行自動程式碼UI測試的測試案例
在「新增測試案例」畫面中先賦予測試案例名稱,接著於中間工作列切換到「關聯的自動化」頁籤,透過「…」按鈕可以選擇我們先前以「自動程式碼UI測試產生器」錄製,或直接撰寫程式建立的測試方法:
▲ 圖7:建立關連到自動化測試的測試案例
選完測試方法後,確認該.NET測試專案原始碼有放到Team Foundation的原始檔控制,並建立自動化「組建」定義,透過Test Manager進行自動化測試需要有可執行的組建結果。由於原始檔控制和自動化組建需要很大的篇幅介紹,超過本篇專欄的範圍。就請你自行參照Team Foundation的線上說明完成這兩部分。
[註] 若對TFS 2012原始碼控制有興趣,可以參看先前的專欄:「TFS 2012對原始碼控制所做的強化」。
利用組建定義成功執行組建流程後,才可以在測試計畫中指定使用該組建,此一部分請參看下文圖11的左下方設定。
回到Test Manager在你已經建立好的測試計畫中加入該測試案例,如圖8所示:
▲ 圖8:將自動化測試案例加入到測試計畫中
圖8簡單透過「套件」來管理圖7所建立的測試案例。於左方樹狀結構新增套件後,在右方點選「加入」按鈕,進入到圖8下方執行工作項目查詢(Work Item Query)之畫面。點選中間的「執行」按鈕,找到並選擇先前建立的測試案例,再按下方「加入測試案例」按鈕。
接著回到原先「測試中心」的「計劃」頁面,點選上方的「屬性」頁籤,在中間右方的「自動化回合」內,於「測試設定」下拉選單選擇「新增」,畫面將呈現定義「測試設定」的步驟流程,如圖9所示:
▲ 圖9:新增適合執行自動程式碼UI測試的設定
於「一般」步驟賦予「自動化回合」的「測試設定」名稱,接著點選「角色」步驟,由於我們先前只製作了含有「桌面用戶端」角色的測試環境,所以此處只有「桌面用戶端」一種選項。選完上方的桌面用戶端後,為了要執行自動程式碼UI測試,在「進階」.jpg'>「主機」步驟確定勾選「強制測試在32位元處理序中執行」。設定畫面如圖10所示:
▲ 圖10:設定要強制32位元處理序以執行自動程式碼UI測試
其餘的步驟依照預設即可,你可以自行進入到「資料診斷」步驟,選擇執行測試時要同時收集的資訊,在此不多做說明。透過下方的「完成」按鈕建立執行測試時可選用的設定。
回到屬性設定畫面後,在「測試設定」下方有「測試環境」,可以選擇先前圖2~5完成的「環境」。
▲ 圖11:選擇測試環境與組建
最後,在圖11的左下方,需要選擇自動化測試所要採用團隊組建(Team Build)已經建置可用的「組建」。
執行測試案例
完成了先前的設定後,切換到「測試中心」項目的「測試」頁面,可以滑鼠右鍵點選先前加入的測試案例,若選擇「以選項執行」,在執行前可先檢視所採用的設定,如圖12所示:
▲ 圖12:執行測試案例前先檢視或更改測試設定
透過「執行選項」對話窗可以修改本次執行測試的相關設定,如使用中的組建、組建組態、測試設定、環境等。點選「執行」後,我們所建置的實驗室標準環境將遠端控制執行測試的機器,由測試代理程式從放置團隊組建產出的共享目錄下載執行檔,而後在測試機器上執行。由於是以互動方式執行測試,所以可從Windows桌面直接觀察測試代理程式的執行狀況,如圖13所示:
▲ 圖13:透過測試實驗室的標準環境遠端控制執行測試的機器
請參看先前專欄「自動程式碼UI測試(上)、(下)」對Windows工具程式小算盤的操控,可了解如圖13所呈現Test Agent執行的測試內容。
測試代理程式會將測試執行結果存回Team Foundation Server,待執行完畢後,可以從Test Manager的「測試中心」之「分析測試回合」頁籤,檢視歷來測試的結果,如圖14所示:
▲ 圖14:檢視歷來測試的執行紀錄
滑鼠雙擊下方「附件」內的.trx檔,將會自動叫起Visual Studio檢視測試內容。若有錯誤,也會有錯誤訊息,並自動抓取執行畫面附在測試結果中。
限於篇幅,TFS 2012實驗室管理所提供的「標準環境」介紹到此。在下期專欄中,將繼續說明如何透過團隊組建預設提供的「LabDefaultTemplate」組件範本,定義組建完成後自動在測試環境執行測試。
參考資料
介紹實驗室管理所提供的「標準環境」之
blog
。
回首頁...
關於RUN!PC
|
廣告刊登
|
聯絡我們
|
讀者服務
|
雜誌訂閱
|
出刊&補寄時間
-- Copyright© FLAG INFORMATION CO., LTD. 旗訊科技(股)公司. All rights reserved. 本站圖文著作權所有 未經授權 不得任意轉載使用 --
-- 請使用1024*768螢幕解析度,IE 7.0或firefox 3.0以上瀏覽器,以達到最佳閱讀效果--