敏捷測(cè)試之-迭代開(kāi)始_第1頁(yè)
敏捷測(cè)試之-迭代開(kāi)始_第2頁(yè)
敏捷測(cè)試之-迭代開(kāi)始_第3頁(yè)
敏捷測(cè)試之-迭代開(kāi)始_第4頁(yè)
敏捷測(cè)試之-迭代開(kāi)始_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2021/3/10授課:授課:XXX1 1 第十七章第十七章 迭代開(kāi)始迭代開(kāi)始 Owen 2021/3/10授課:授課:XXX2 為什么要開(kāi)始迭代 迭代模型迭代模型是RUP(Rational Unified Process,統(tǒng)一軟件開(kāi)發(fā)過(guò)程)推薦的周期模型。 迭代是循環(huán),往復(fù) 反饋的一個(gè)過(guò)程。 理解:我們大家可以這樣想:我們開(kāi)發(fā)一個(gè)產(chǎn)品,如果不太復(fù)雜,會(huì)采用瀑布模型瀑布模型,這樣幾個(gè)月過(guò)去 了,直到最后一天發(fā)布時(shí),大家可以見(jiàn)到一個(gè)完整的產(chǎn)品。這種模型周期相對(duì)短些,成本相對(duì)低 些。但這樣的方式有明顯的缺點(diǎn),假如我們對(duì)用戶的需求判斷的不是很準(zhǔn)確時(shí),你工作了幾個(gè)月 甚至是幾年,當(dāng)你把產(chǎn)品拿給客戶看時(shí)

2、,客戶往往會(huì)大吃一驚,這就是我要的東西嗎? 如果采用迭代模型迭代模型:假如這個(gè)產(chǎn)品要求6個(gè)月交貨,我在第一個(gè)月就會(huì)拿出一個(gè)產(chǎn)品來(lái),當(dāng) 然,這個(gè)產(chǎn)品會(huì)很不完善,會(huì)有很多功能還沒(méi)有添加進(jìn)去,bug很多,還不穩(wěn)定,但客戶看了以 后,會(huì)提出更詳細(xì)的修改意見(jiàn),這樣,你就知道自己距離客戶的需求有多遠(yuǎn),我回家以后,再花 一個(gè)月,在上個(gè)月所作的需求分析、框架設(shè)計(jì)、代碼、測(cè)試等等的基礎(chǔ)上,進(jìn)一步改進(jìn),又拿出 一個(gè)更完善的產(chǎn)品來(lái),給客戶看,讓他們提意見(jiàn)。就這樣,我的產(chǎn)品在功能上、質(zhì)量上都能夠逐 漸逼近客戶的要求,不會(huì)出現(xiàn)我花了大量心血后,直到最后發(fā)布之時(shí)才發(fā)現(xiàn)根本不是客戶要的東 西的情況。 缺陷:那就是周期長(zhǎng)、成

3、本很高。 優(yōu)勢(shì):在應(yīng)付大項(xiàng)目、高風(fēng)險(xiǎn)項(xiàng)目時(shí)就比如是航天飛機(jī)的控制系統(tǒng)時(shí),迭代的成本比項(xiàng)目失敗 的風(fēng)險(xiǎn)成本低得多(降低項(xiàng)目風(fēng)險(xiǎn)低,成功率高,特別是大型項(xiàng)目),用這種方式明顯有優(yōu)勢(shì)。 2021/3/10授課:授課:XXX3 迭代的迭代的 開(kāi)始開(kāi)始 1,迭代計(jì)劃,迭代計(jì)劃 了解細(xì)節(jié)了解細(xì)節(jié) 考慮所有觀點(diǎn)考慮所有觀點(diǎn) 書(shū)寫(xiě)任務(wù)卡片書(shū)寫(xiě)任務(wù)卡片 確定工作量確定工作量 2,可測(cè)試的故事,可測(cè)試的故事 3,與客戶協(xié)作,與客戶協(xié)作 4,高層次測(cè)試和事例,高層次測(cè)試和事例 與客戶一起審查與客戶一起審查 與開(kāi)發(fā)人員一起審查與開(kāi)發(fā)人員一起審查 測(cè)試用例作為文檔測(cè)試用例作為文檔 敏捷測(cè)試人員在迭代開(kāi)始時(shí)的活動(dòng)?敏捷測(cè)

4、試人員在迭代開(kāi)始時(shí)的活動(dòng)? 2021/3/10授課:授課:XXX4 17.1.1 17.1.1 了解細(xì)節(jié)了解細(xì)節(jié) 理想情況下,產(chǎn)品負(fù)責(zé)人或者客戶團(tuán)隊(duì)的其它成員 參加迭代計(jì)劃會(huì)議,回答大家的問(wèn)題,并且提供示例來(lái) 描述每個(gè)故事的需求。如果業(yè)務(wù)方面的人都無(wú)法參加, 那么團(tuán)隊(duì)中工作與客戶緊密相關(guān)的成員們可以充當(dāng)客戶 的代理,比如分析師。 他們會(huì)在迭代會(huì)議上解釋故事的 細(xì)節(jié),并從客戶的角度做決策,或者簡(jiǎn)單的記錄大家的 問(wèn)題以便依次快速回答。 17.1 迭代計(jì)劃迭代計(jì)劃 2021/3/10授課:授課:XXX5 我們?cè)诒緯?shū)中始終強(qiáng)調(diào),最好通過(guò)舉例子的方式來(lái)幫 助團(tuán)隊(duì)理解每個(gè)故事,并把這些示例寫(xiě)成測(cè)試用例來(lái)驅(qū)

5、 動(dòng)開(kāi)發(fā)。按照故事的優(yōu)先級(jí)為他們排序。 故事應(yīng)該事先經(jīng)過(guò)評(píng)估,以保證每個(gè)故事能在幾天 之內(nèi)完成。如果我們每隔幾天就能拿到可測(cè)試的小故事 ,我們肯定不會(huì)把它們壓到迭代末期才去完成。 敏捷測(cè)試人員以及其他團(tuán)隊(duì)成員們都應(yīng)該警惕“范 圍擴(kuò)展”的趨勢(shì)。如果發(fā)現(xiàn)一個(gè)故事好像越做越復(fù)雜了 ,無(wú)需猶豫,趕緊兩處紅牌警告。Uesr story中的Lisa 的團(tuán)隊(duì)總是特意找出那些華而不實(shí)的或者“最好有”的 組件,因?yàn)樗麄儾⒎枪适碌暮诵墓δ?。這類(lèi)功能可以最 后再做,如果該故事的實(shí)際開(kāi)發(fā)時(shí)間比計(jì)劃時(shí)間長(zhǎng),他 們也可以暫時(shí)不做。 2021/3/10授課:授課:XXX6 17.1.2 考慮所有的觀點(diǎn)考慮所有的觀點(diǎn) 作為測(cè)

6、試人員,需要從整體的角度考慮每個(gè)故事對(duì)系統(tǒng)其它部分可能的潛在影響。 就像 在產(chǎn)品發(fā)布計(jì)劃會(huì)議中那樣,站在不同角色立場(chǎng)考慮問(wèn)題用戶,利益相關(guān)者,程 序員,技術(shù)文檔編寫(xiě)者以及每個(gè)參與開(kāi)發(fā)功能的人員。 User story: 在迭代計(jì)劃會(huì)議中討論為某個(gè)Web添加新圖片,這是大家的討論記錄: PM:“我們來(lái)談?wù)勀莻€(gè)添加圖片的故事吧” RD1: “大家覺(jué)得完成它需要多長(zhǎng)時(shí)間?”(時(shí)間) RD2:“很快,可能半天就差不多了” RD3:“那么數(shù)據(jù)庫(kù)的變動(dòng)呢” (數(shù)據(jù)庫(kù)) RD2:“我已經(jīng)計(jì)算在 里邊了” RD1:“那好半天” RD4:“等等,上個(gè)迭代里我們發(fā)現(xiàn)了幾個(gè)性能方面的問(wèn)題,如果我們 再添加照片,性能

7、就更差了” (性能,聯(lián)動(dòng)因素)RD1:“好吧,看來(lái)我們得慎重考慮這個(gè)問(wèn)題了,還 有其它方法嗎?”RD2:“我建議我們可以做個(gè)快速的嘗試,添加些圖片再做一遍性能測(cè)試如何?”( 好的建議) 會(huì)議總結(jié):在故事開(kāi)始之前,我們做這樣一次討論,讓我們搞清楚了我們可能會(huì)遇到的問(wèn)題,這種情形很 不錯(cuò)。如果不太確定某個(gè)故事會(huì)對(duì)系統(tǒng)其它部分產(chǎn)生什么影響,或者不了解開(kāi)發(fā)某個(gè)功能的難度,都可 以并且應(yīng)該在迭代計(jì)劃階段提出來(lái),盡早暴漏不確定因素,為之做更多的研究或嘗試以獲得更多的信息 ?;诓煌囊暯莵?lái)提問(wèn)有助于明了故事地方主旨,并且能讓團(tuán)隊(duì)的工作更有成效?;诓煌囊暯莵?lái)提問(wèn)有助于明了故事地方主旨,并且能讓團(tuán)隊(duì)的工作

8、更有成效。 2021/3/10授課:授課:XXX7 17.1.3 書(shū)寫(xiě)任務(wù)卡片書(shū)寫(xiě)任務(wù)卡片 在整個(gè)團(tuán)隊(duì)都對(duì)故事有了清晰的了解之后,可以開(kāi)始評(píng)估并寫(xiě)到任務(wù)卡 片上了。因?yàn)槊艚蓍_(kāi)發(fā)方式通過(guò)測(cè)試來(lái)驅(qū)動(dòng)編碼,我們同時(shí)編寫(xiě)測(cè)試和開(kāi)發(fā) 任務(wù)卡片。 有的團(tuán)隊(duì)喜歡把測(cè)試任務(wù)直接寫(xiě)在其開(kāi)發(fā)任務(wù)的卡片上。這是種簡(jiǎn)單的 解決方法,因?yàn)楹茱@然一個(gè)開(kāi)發(fā)任務(wù)只有當(dāng)它通過(guò)了測(cè)試之后才能算是“已 完成”。這種做法可以避免形成“小瀑布”的趨勢(shì),也就是把測(cè)試留在最后 來(lái)做,這通常會(huì)讓RD覺(jué)得既然這個(gè)故事已經(jīng)提交給了QA,它就已經(jīng)完成了。 總之,選擇一種適合你們團(tuán)隊(duì)的任務(wù)卡片編寫(xiě)的方式即可。 在寫(xiě)開(kāi)發(fā)任務(wù)卡片時(shí),要保證編碼任務(wù)的評(píng)

9、估值包括了寫(xiě)單元測(cè)試和程序 員要做的其它測(cè)試時(shí)間。測(cè)試人員有責(zé)任確保每張卡片的估計(jì)值都是合理的 。如果估計(jì)值的誤差達(dá)到2倍以上,那么有必要進(jìn)行再次討論并重新估值。 測(cè)試數(shù)據(jù)是評(píng)估測(cè)試任務(wù)時(shí)需要考慮的另一個(gè)事項(xiàng)。所以獲取測(cè)試數(shù)據(jù)所 花費(fèi)的時(shí)間也應(yīng)該考慮到評(píng)估時(shí)間里。 2021/3/10授課:授課:XXX8 17.1.4 確定工作量確定工作量 身為一名測(cè)試人員,我們的職責(zé)是保證有足夠的測(cè)試 時(shí)間,而且還要不斷提醒團(tuán)隊(duì)測(cè)試和質(zhì)量是整個(gè)團(tuán)隊(duì)共 同的責(zé)任。當(dāng)團(tuán)隊(duì)要決定在迭代中可以交付多少故事時(shí) 要明確其標(biāo)準(zhǔn)是:“我們能夠完成多少編碼和測(cè)試工 作?”。有時(shí)候有些故事的代碼編寫(xiě)十分簡(jiǎn)單,但是測(cè) 試卻是很復(fù)雜

10、需要花費(fèi)很多的時(shí)間。作為測(cè)試人員,要 記住重要的是你只能同意將能夠完成測(cè)試的故事加入到 迭代中。如果必須要對(duì)迭代中交付的故事作出承諾,就 應(yīng)該作出保守的承諾。 2021/3/10授課:授課:XXX9 17.2 17.2 可測(cè)試故事可測(cè)試故事 當(dāng)你研究故事而開(kāi)發(fā)人員開(kāi)始思考如何實(shí)現(xiàn)它們時(shí) ,請(qǐng)始終考慮如何測(cè)試它們。即故事具有可測(cè)試性。 User storyUser story: 當(dāng)團(tuán)隊(duì)正在重寫(xiě)多步過(guò)程的第一步時(shí),令人意外的 是,當(dāng)開(kāi)始編寫(xiě)新步驟時(shí),過(guò)程的其它步驟都失敗了, 除非第一步完整的實(shí)現(xiàn)了,否則迭代中的任何改變都無(wú) 法測(cè)試(說(shuō)明此故事不具有可測(cè)試性)。在計(jì)劃故事時(shí) 沒(méi)有考慮可測(cè)試性。導(dǎo)致了

11、這樣的問(wèn)題。在下一次發(fā)布 時(shí),他們吸取了之前的教訓(xùn),RD在頁(yè)面上創(chuàng)建了一個(gè)額 外的按鈕,允許測(cè)試人員選擇要么調(diào)用新頁(yè)面或者舊頁(yè) 面以測(cè)試其它故事。如果不知道怎么測(cè)試某個(gè)故事的可 測(cè)試性,請(qǐng)?jiān)诘?jì)劃會(huì)中提出來(lái)。 2021/3/10授課:授課:XXX10 17.3 17.3 與客戶協(xié)作與客戶協(xié)作 與客戶或者客戶代表(如功能測(cè)試人與客戶或者客戶代表(如功能測(cè)試人 員)緊密合作是敏捷測(cè)試人員最重要的工作員)緊密合作是敏捷測(cè)試人員最重要的工作 之一。之一。當(dāng)啟動(dòng)迭代時(shí),客戶協(xié)作也進(jìn)入了更 高階段。此時(shí),請(qǐng)求客戶提供更高的示例, 在白板上討論,然后將這些示例轉(zhuǎn)化為驅(qū)動(dòng) 編碼的測(cè)試。 即使產(chǎn)品負(fù)責(zé)人和其他

12、客戶 在迭代規(guī)劃期間和之前解釋說(shuō)明了故事,有 時(shí)在迭代開(kāi)始時(shí)簡(jiǎn)要溫習(xí)一下也是有幫助的 。不是所有人之前都聽(tīng)到過(guò),再之客戶可能 還有更多的信息。 2021/3/10授課:授課:XXX11 17.4 17.4 高層次測(cè)試和事例高層次測(cè)試和事例 我們需要“全局性”的測(cè)試來(lái)幫助開(kāi)發(fā)人員確保故事的正 確方向。通常,我們建議從示例開(kāi)始,然后將其轉(zhuǎn)化為測(cè)試。 高層次測(cè)試應(yīng)該表現(xiàn)故事背后的主要意圖。它們可能包括 預(yù)期和非預(yù)期行為的示例。 分布式團(tuán)隊(duì)(不在同一區(qū)域)需要通過(guò)電子網(wǎng)絡(luò)方式獲得 高層次的測(cè)試,而在同一區(qū)域工作的團(tuán)隊(duì)可以通過(guò)在白板上畫(huà) 畫(huà)來(lái)合作,甚至與客戶坐在一起,在編碼時(shí)告訴他們的需求 在迭代啟動(dòng)時(shí)

13、,要注意快速了解每一個(gè)故事的基本需求, 并在適合團(tuán)隊(duì)的情境中表述出來(lái)。大多數(shù)敏捷團(tuán)隊(duì)的最大問(wèn)題 是如何充分理解每個(gè)故事一準(zhǔn)確發(fā)布客戶所需的東西。他們的 代碼可能沒(méi)有缺陷,但是也許不完全符合客戶的預(yù)期功能,或 者在客戶不斷澄清自己的需求時(shí),他們?cè)诘鷷r(shí)不得不重復(fù)大 量工作,并最終導(dǎo)致消耗了時(shí)間而無(wú)法按時(shí)完成故事。 2021/3/10授課:授課:XXX12 17.4.1 17.4.1 與客戶一起審查與客戶一起審查 持續(xù)與客戶保持協(xié)作關(guān)系是非常重要的持續(xù)與客戶保持協(xié)作關(guān)系是非常重要的。與客 戶審查高層次測(cè)試是加強(qiáng)協(xié)作與溝通的好機(jī)會(huì),特 別是對(duì)新的敏捷團(tuán)隊(duì)來(lái)說(shuō),在團(tuán)隊(duì)中習(xí)慣了不斷討 論故事,需求和測(cè)試

14、用例之后,可能不需要坐下來(lái) 回顧每一個(gè)測(cè)試用例。 如果團(tuán)隊(duì)通過(guò)合同開(kāi)發(fā)軟件,需求和測(cè)試用例 可能是必須提供的東西。即使不是,最好通過(guò)客戶 易于自己理解的形式提供測(cè)試用例。 2021/3/10授課:授課:XXX13 17.4.2 17.4.2 與開(kāi)發(fā)人員一起審查與開(kāi)發(fā)人員一起審查 與開(kāi)發(fā)人員坐下來(lái)審查高層次測(cè)試和需求,如果與你工 作的同仁在外地,想辦法安排電話會(huì)議溝通。如果團(tuán)隊(duì)成員 難以理解高層次測(cè)試和需求,下次就嘗試別的辦法。 具備良好領(lǐng)域知識(shí)的RD能夠理解故事并在高層次測(cè)試編 寫(xiě)前開(kāi)始編碼。即便是這樣,最好還是與開(kāi)發(fā)人員從客戶和 測(cè)試人員的角度審查故事。他們對(duì)故事的理解可能與你不同 ,請(qǐng)關(guān)注這種區(qū)別。測(cè)試用例有助于把故事置于應(yīng)用其余部 分的環(huán)境中。開(kāi)發(fā)人員可以利用測(cè)試幫助他們正確編碼。所 以才要盡可能在迭代一開(kāi)始就編寫(xiě)測(cè)試RD開(kāi)始編碼之前 。 我們通常會(huì)詢問(wèn)RD:我們遺漏了什么(我們遺漏了什么(Edit caseEdit case)?代碼)?代碼 的高風(fēng)險(xiǎn)區(qū)域是什么?他們認(rèn)為測(cè)試應(yīng)該關(guān)注哪些地方?獲的高風(fēng)險(xiǎn)區(qū)域是什么?他們認(rèn)為測(cè)試應(yīng)該關(guān)注哪些地方?獲 得更多技術(shù)觀點(diǎn)有助于設(shè)計(jì)詳細(xì)的測(cè)試用例。得更多技術(shù)觀點(diǎn)有助于設(shè)計(jì)詳細(xì)的測(cè)試用例。 2021/3/10授課:授課:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論