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