探究TFS 2010中的測試功能
TFS(Team Foundation Server) 2010中的測試功能真的很特別,在本文中,我并不會提到那些可以記錄測試結果,反復載入Web頁面和反復執行CUIT(Coded UI Test)的測試工具,相反,我會提到和項目的測試計劃有關的一些管理工作。
在過去,我曾經看到過有些團隊用Excel來做測試計劃管理,如果你也用Excel來管理你的測試計劃......那么,你有大麻煩了。原因是Excel并不是為了管理測試用例而設計的,你可以使用它清晰地記錄下你的測試用例,但是你很難把它集成到你的ALM(Application lifecycle management)流程中,同時,閱讀起來也是很困難的。主要的問題是Excel中的測試計劃和你的流程中的其他產物之間是彼此獨立的,即使你把它們放到團隊項目的SharePoint站點中來管理,這種情況也不會發生根本性的改變。另外,Excel不能幫助你運行測試,也不能幫助測試工程師記錄下測試結果,這通常會引起Excel Test Spreasheet和真正的測試運行結果之間無法一一對應。
有了MTM(Microsoft Test Manager),你現在可以使用強大的TFS(Team Foundation Server)來管理test suite了;舉個例子,假設你有一個和應用程序的用戶管理相關的用戶故事。
(圖1:一個簡單的用戶故事)
現在,測試團隊開始為這個用戶故事創建test suite了,有了MTM(Microsoft Test Manager),他們現在可以簡單地按“add requirements”按鈕,然后選擇“User Story”創建一個和那個用戶故事相關聯的test suite。
(圖2:和用戶故事“Gestione Utenti”相關聯的叫做“Gestione Utenti”的測試用例。)
這樣做的主要優勢是這個關聯性可以通過TFS(Team Foundation Server)來管理,而且,屬于這個用戶故事的test suite的每個測試用例也可以自動地列出來。如果測試團隊在這個Suite中添加了兩個測試用例,那么所有的開發者都可以在Visual Studio中看到它們。
(圖3:在Visual Studio中你可以看到用于測試這個用戶故事的所有測試用例。)
在ALM(Application lifecycle management)中,可追蹤性是很重要的。現在,你不費吹灰之力就可以知道和這個用戶故事相關的測試用例都是什么了,同時,技術方面的項目經理也可以驗證這個用戶故事的所有任務是否足以滿足那些測試用例的需要。有時,在發現“隱藏的需求”方面,這可以起到很大的作用,假設技術經理看到了這樣一個測試用例:
1)打開那個Web頁面
2)登陸
3)關閉瀏覽器
4)打開那個Web頁面
5)驗證你是否還處于登陸狀態中。
這個測試用例可能會暴露出一個在其他地方沒有明確說明的需求,然后技術方面的項目經理可以創建一個新的任務來支持這個場景。同時,這可以讓開發者們看到將會運行在軟件的某個模塊上的所有測試用例,所以,他們可以容易地看出要發送給相關的測試工程師的每樣東西是否都做好準備了。在前面的例子中,開發者們可以實現一個新的功能來支持這個測試用例,這可以避免常見的“乒乓球問題”:
1)開發者把一個版本發送給測試工程師
2)測試工程師駁回了這個版本,原因是測試用例XXX沒有通過
3)開發者們在某些地方看到了那個測試用例,然后修改軟件,發送另外一個版本。
測試用例是可追蹤的,所以開發者們可以很容易地看出這個代碼是否已經為測試做好準備了,以及所有的功能是否都已經實現了。TFS(Team Foundation Server)可以通過Web來訪問,所以,我不僅可以通過Visual Studio或MTM(Microsoft Test Manager)來查看那些測試用例,我還可以通過瀏覽器來輕松地查看那些測試用例,這樣的話,每個人都可以查看那些測試用例來指出錯誤,或者了解測試進展的是否順利。
(圖4:你可以通過一個簡單的Web瀏覽器來查看一個測試用例。)
如果你是測試經理,你應該給這個測試用例分配人力資源,而且,你應該把所有的測試用例都分配給測試團隊的成員,你還應該計劃每個測試用例的執行時間,你可能還需要說明哪個測試用例應該在哪個測試用例之后執行。在Microsoft Project中,這些管理工作可以很好地完成。
(圖5:怎樣給一個測試用例分配人力資源,在這個例子中,我把Administrator分配給了叫做“Esempio test case chiuso”的測試用例。)
很明顯,你可以使用甘特圖來規劃測試用例的執行過程。
(圖6:在Microsoft Project中規劃測試用例的執行過程。)
當重新分配測試資源的時候,修改的結果會發布到TFS中。
(圖7:使用Microsoft Project的assign resources,測試用例63被分配給了Administrator,同時,變更會被發布到TFS中,所以,它們在所有地方都是可見的。)
在Microsoft Project中,你可以使用Task Inspector來檢查一些人力資源是否因為他們還要從事其他任務而被過度分配了。在圖8中,我們可以看到,當把Administrator分配給一個測試用例的時候,那個項目開始“抱怨”了,因為他還被分配了其他的任務。很明顯,對于單個的測試用例來說,使用甘特圖來進行規劃有點大材小用,但是,這只是一個用于展示TFS(Team Foundation Server)和 MTM(Microsoft Test Manager)中測試用例管理靈活性的例子而已。
(圖8:因為Administrator被分配了過多的任務,所以項目中的Task Inspector發出了警告。)