自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Visual Studio 2010輔助敏捷測試

開發(fā) 后端
本文將討論的是Visual Studio 2010輔助敏捷測試,之前51CTO也報(bào)導(dǎo)過相關(guān)內(nèi)容,本文屬于一系列文章的繼續(xù)。

本篇文章的上半部分,請參看《Visual Studio 2010輔助敏捷測試詳解

四、早測試和經(jīng)常測試——封閉簽入和滾動生成

敏捷開發(fā)中最可怕的事情莫過于在迭代最后一兩天進(jìn)行測試,結(jié)果發(fā)現(xiàn)了嚴(yán)重功能缺陷或者回歸缺陷,導(dǎo)致不能按計(jì)劃發(fā)布給用戶試用。要想徹底解決這樣的問題,一方面要在迭代開發(fā)階段測試人員就要參與進(jìn)來,從客戶的角度出發(fā)對功能需求和設(shè)計(jì)文檔進(jìn)行文檔測試,即文檔評審。測試人員和開發(fā)還有項(xiàng)目經(jīng)理一起從源頭上保障將要實(shí)現(xiàn)的功能是用戶想要的。另一方面就是要在迭代的早期就開始就開始測試,特別前幾個迭代已經(jīng)實(shí)現(xiàn)好的自動化測試用例,盡早的執(zhí)行它們可以有效地避免回歸問題的出現(xiàn)。在TFS 2010 上專門提供封閉簽入(Gated Check-in)、滾動生成(Rolling Builds)和持續(xù)集成(Continuous Integration)等功能,幫助敏捷團(tuán)隊(duì)實(shí)現(xiàn)早測試和經(jīng)常測試。這其中封閉簽入和滾動生成是對敏捷團(tuán)隊(duì)比較實(shí)用的功能。

1 

封閉簽入是TFS 2010 提供的一種新的代碼簽入方式,在配置這項(xiàng)功能后,當(dāng)用戶要簽入任何代碼時,系統(tǒng)會先將用戶本地要簽入的代碼打包成一個擱置集(shelve-set),然后提交到服務(wù)器端,TFS 生成(Build)服務(wù)先從TFS 源代碼控制器中同步項(xiàng)目的最新代碼,再將提交的代碼與之進(jìn)行自動合并,然后進(jìn)行編譯,如果編譯成功,則執(zhí)行配置的自動化測試用例,如果測試用例全部通過則代碼會被自動簽入到代碼庫中,否則返回錯誤信息給用戶,代碼是不會進(jìn)入到代碼庫。表面上看是與產(chǎn)品測試沒有直接關(guān)系,但實(shí)際上它和測試以及最終產(chǎn)品質(zhì)量的密不可分。因?yàn)榇a簽入是整個開發(fā)過程中發(fā)生最為頻繁的操作,每次簽入代碼的質(zhì)量直接影響著日常的開發(fā)活動。對于絕大多數(shù)的開發(fā)團(tuán)隊(duì)來說,check in 代碼前不僅要保證編譯通過,同時還要最大限度的保證新代碼不會破壞已有的功能,也就是要執(zhí)行測試用例去驗(yàn)證。Gated Check-in 中提到的“Build 成功”,實(shí)際上包含兩部分內(nèi)容:編譯成功和測試用例執(zhí)行成功,有了它作為保護(hù)代碼庫的第一道屏障,就可以保證它在任何適合都是可編譯,并且達(dá)到一定質(zhì)量標(biāo)準(zhǔn)的。

滾動生成是在VS 2008 種就有的功能,當(dāng)TFS 檢測到在它所監(jiān)控的范圍內(nèi)有任何新的代碼變化被簽入后,它就啟動對最新的代碼庫進(jìn)行生成驗(yàn)證,該驗(yàn)證包括編譯和運(yùn)行指定的自動化測試用例。之所以稱之為“滾動”,因?yàn)樗窃谝粋€生成驗(yàn)證操作完成后再去探測有沒有新的簽入發(fā)生,對這期間發(fā)生的所有新簽入進(jìn)行新的生成驗(yàn)證。這里需要再強(qiáng)調(diào)一下滾動生成的重要意義:它看似只是一個自動生成代碼的功能,但實(shí)際上起著協(xié)調(diào)整個開發(fā)團(tuán)隊(duì)、時刻監(jiān)控代碼庫質(zhì)量、以及盡早暴露產(chǎn)品問題的作用。因?yàn)闈L動生成時刻都在不停的運(yùn)轉(zhuǎn)著,對于任何代碼簽入它都保持著警覺,會去自動驗(yàn)證編譯是否成功,自動化測試用例是否都能通過。它就像一個不知疲倦的“代碼守護(hù)者”一樣監(jiān)控著代碼庫,第一時間發(fā)現(xiàn)其中的任何問題,將問題通知給整個團(tuán)隊(duì),從而避免了問題的積累和拖延。這非常符合敏捷開發(fā)中“今日問題今日解決,不要拖到以后”的原則,它幫你最早的發(fā)現(xiàn)問題、報(bào)告問題,開發(fā)團(tuán)隊(duì)則應(yīng)該建立制度要及時響應(yīng)滾動生成所報(bào)告的問題,把它作為Priority 為0 或1 的高優(yōu)先級問題去對待和解決。

封閉簽入和滾動生成都是來保護(hù)代碼庫的正確性和產(chǎn)品質(zhì)量,它們是否在功能上重復(fù)反而讓我們不敏捷了呢?其實(shí)兩者并不重復(fù),只是各有側(cè)重,將它們搭配使用才會發(fā)揮其最大效能。

封閉簽入是在代碼進(jìn)入代碼庫之前進(jìn)行驗(yàn)證,簽入提交者一般希望竟快知道結(jié)果,以便決定下一步的工作,所以封閉簽入的時間(編譯和運(yùn)行測試用例)不要太長(10-20 分鐘)。這也就決定了我們加入的測試用例不能太多,只添加那些高優(yōu)先級的測試用例,保證主要的用戶故事不被破壞。滾動生成是在代碼簽入后在后臺執(zhí)行的,由于不存在著與用戶的交互等待,所以它執(zhí)行時間可以更長(幾個小時),可以為它加入更多的測試用例,從而全面驗(yàn)證代碼庫的質(zhì)量,一旦有任何問題它可以及時通知團(tuán)隊(duì)進(jìn)行修復(fù),這種驗(yàn)證是在幾個小時或者每天都在發(fā)生的,保證了敏捷對頻繁測試的。

五、完整的自動化測試解決方案——實(shí)驗(yàn)室管理

在談到軟件自動化測試的時候,很多人會誤以為實(shí)現(xiàn)了自動化測試用例就是自動化測試,其實(shí)不然,自動化測試僅是測試自動化的一個重要步驟,絕對不等同于自動化測試。一個完整的自動化測試應(yīng)該包括:構(gòu)建、部署、執(zhí)行測試用例、分析測試結(jié)果并作出結(jié)論。在前面的自動測試的收益公式中,我們可以看到減少自動測試的維護(hù)成本,是提高自動測試收益的重要因素之一。VS 2010 的實(shí)驗(yàn)室管理(Lab Management)與測試用例管理、生成管理、源代碼控制、工作項(xiàng)管理等功能相結(jié)合,為自動化測試提供了這樣一個完整的解決方案,目標(biāo)就是要降低了自動測試的運(yùn)營和非維護(hù)成本,下面這張圖展示了實(shí)驗(yàn)室環(huán)境的系統(tǒng)構(gòu)架圖。

2 

實(shí)驗(yàn)室管理功能充分利用了微軟的虛擬化技術(shù),包括:Hyper-V 和 System Center Virtual Machine Manager (SCVMM),快速創(chuàng)建干凈的虛擬測試環(huán)境并進(jìn)行產(chǎn)品生成和部署,然后執(zhí)行指定的測試用例集,將結(jié)果以報(bào)表的形式呈現(xiàn)出來,方便對此產(chǎn)品質(zhì)量進(jìn)行分析,如下圖所示:

3

4 

同時,利用虛擬技術(shù)的環(huán)境快照功能,對于那些難于復(fù)現(xiàn)或者環(huán)境相關(guān)的Bug,利用虛擬環(huán)境的快照技術(shù),可以為開發(fā)人員準(zhǔn)確的復(fù)現(xiàn)Bug 出現(xiàn)的環(huán)境,從而能夠快速的進(jìn)行診斷和及時修復(fù)。

總結(jié)

Visual Studio 2010 作為Visual Studio 系列中一個非常重要的版本,為測試人員和團(tuán)隊(duì)提供了一整套解決方案,包括:測試計(jì)劃和用例管理、創(chuàng)建自動化測試用例、測試用例的自動執(zhí)行、以及實(shí)驗(yàn)室管理等。這些功能強(qiáng)調(diào)了測試作為整個軟件過程的重要角色的作用,促進(jìn)了測試人員與其它角色的有效溝通與協(xié)作,非常適合于敏捷團(tuán)隊(duì)使用來完成測試工作。

工具不是萬能的,但沒有合適的工具輔助也是萬萬不能的。對于工具在敏捷開發(fā)的作用,應(yīng)該用辯證的觀點(diǎn)來看待。不能片面唯工具論,畢竟軟件開發(fā)過程是人、工具和過程三者共同作用的結(jié)果,工具影響著人和過程,同時人和過程也影響著工具所能發(fā)揮的效力。所以這決定了工具的引入和部署應(yīng)該是一個漸進(jìn)的和逐步適應(yīng)的過程,特別是對Visual Studio 2010這樣比較大型和綜合性的工具。下面是三個向大家推薦的與Visual Studio 測試相關(guān)的微軟論壇,希望能夠?qū)Υ蠹矣兴鶐椭?/p>

Testing with Visual Studio Test Manager (MTM)

Visual Studio UI Automation Testing (includes CodedUI)

Visual Studio Team System - Testing

   

【編輯推薦】

  1. Visual Studio 2010 TFS探索之旅
  2. Visual Studio 2010讓敏捷開發(fā)和云計(jì)算落地
  3. Visual Studio 2010敏捷之道 
  4. 詳解Visual Studio 2010敏捷功能(上) ALM探秘
  5. 詳解Visual Studio 2010敏捷功能(下) 強(qiáng)化測試功能

【責(zé)任編輯:彭凡 TEL:(010)68476606】

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2010-07-27 09:40:01

敏捷Visual Stud

2009-12-15 09:36:32

Visual Stud

2009-11-19 10:55:33

Visual Stud

2010-03-11 14:37:47

Visual StudScrum

2010-02-22 16:43:33

Visual Stud

2009-11-19 09:59:47

Visual Stud

2010-04-01 14:51:52

Visual Stud

2010-03-22 09:08:24

Visual Stud

2010-02-05 09:06:17

Visual Stud

2010-03-11 09:10:02

VS2010敏捷開發(fā)云計(jì)算

2010-11-16 09:23:13

敏捷開發(fā)Visual Stud

2010-03-19 16:43:37

Visual Stud

2009-11-24 09:00:02

Visual Stud

2010-02-23 16:24:47

Visual Stud

2009-12-02 09:43:38

Visual Stud

2010-09-10 09:35:59

Visual Stud

2009-11-13 10:12:37

Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-12-16 10:00:20

QtVisual Stud

2010-07-12 16:40:39

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號