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