【編者按】敏捷的理念已經(jīng)深入人心,開發(fā)過(guò)程已經(jīng)漸入佳境,測(cè)試的處境卻稍顯尷尬。
測(cè)試從業(yè)者應(yīng)該何去何從,怎樣才能擁抱敏捷,體現(xiàn)出自己新的價(jià)值呢?InfoQ特地邀請(qǐng)了來(lái)自Google的敏捷測(cè)試專家段念,為讀者答疑解惑,希望所有測(cè)試從業(yè)者可以從中得到自己的答案。更多關(guān)于敏捷測(cè)試的內(nèi)容,請(qǐng)?jiān)L問(wèn)InfoQ中文站敏捷測(cè)試相關(guān)內(nèi)容。
在與不少測(cè)試從業(yè)人員討論到敏捷的時(shí)候,被問(wèn)得最多的大約是兩個(gè)問(wèn)題:到底?,敏捷軟件開發(fā)還需要測(cè)試工程師嗎?。前一個(gè)問(wèn)題是對(duì)于敏捷測(cè)試本身定義的疑問(wèn),第二個(gè)問(wèn)題則是對(duì)敏捷開發(fā)將測(cè)試工程師排除在外的擔(dān)心。
其實(shí),在探尋這兩個(gè)問(wèn)題答案的過(guò)程中,我們可以更清晰的了解敏捷軟件開發(fā)中測(cè)試的工作定義,測(cè)試價(jià)值觀,以及敏捷開發(fā)中開發(fā)與測(cè)試工程師的配合。鑒于這兩個(gè)問(wèn)題的意義,在本敏捷測(cè)試專欄的第一篇文章中,本人嘗試從自己的實(shí)踐出發(fā),盡可能清楚的回答這兩個(gè)問(wèn)題。
確實(shí),相對(duì)于敏捷開發(fā)紅遍大江南北的狀況而言,對(duì)敏捷測(cè)試的討論則低調(diào)得多。敏捷聯(lián)盟定義了敏捷的4個(gè)價(jià)值聲明,以及伴隨的12條支持原則,這12條原則中沒(méi)有一條單獨(dú)提到測(cè)試。
這是不是意味著測(cè)試在敏捷開發(fā)中并不重要呢?實(shí)際上,如果仔細(xì)研讀敏捷的12個(gè)原則,以及各種不同的敏捷實(shí)踐,就會(huì)發(fā)現(xiàn),測(cè)試在敏捷開發(fā)中占有非常重要的地位。無(wú)論是原則中的頻繁交付,還是對(duì)可工作的軟件的度量,或是敏捷開發(fā)實(shí)踐中的測(cè)試驅(qū)動(dòng)開發(fā),行為驅(qū)動(dòng)開發(fā),都離不開測(cè)試的支持。
在本人看來(lái),敏捷開發(fā)中不把測(cè)試單獨(dú)拿出來(lái)描述的原因,恰恰是因?yàn)樵诿艚蓍_發(fā)中,測(cè)試不再是一個(gè)單獨(dú)的、和開發(fā)獨(dú)立的過(guò)程,而是變成了驅(qū)動(dòng)開發(fā)、衡量產(chǎn)出的主要的手段,成為了敏捷開發(fā)中所有工程師在工作時(shí)必須時(shí)刻考慮和實(shí)踐的一個(gè)部分。簡(jiǎn)而言之,敏捷軟件測(cè)試更多的是一種理念,而非過(guò)程。
既然是這樣,為什么我們還要在這個(gè)專欄中專門來(lái)討論敏捷軟件測(cè)試?本人接觸過(guò)不少軟件開發(fā)和測(cè)試工程師,他們所處的組織有的正在努力向敏捷開發(fā)轉(zhuǎn)型,有的已經(jīng)實(shí)踐了一段實(shí)踐的敏捷開發(fā),但由于由來(lái)已久的工作習(xí)慣,他們中的絕大多數(shù)并不能自覺(jué)的認(rèn)識(shí)到測(cè)試在敏捷開發(fā)中的關(guān)鍵作用,而是有意無(wú)意的將測(cè)試仍然看作是與開發(fā)截然分開的下一個(gè)階段,導(dǎo)致在實(shí)踐敏捷開發(fā)的過(guò)程中遇到種種問(wèn)題:要么是忽略了代碼質(zhì)量,導(dǎo)致在頻繁的迭代過(guò)程中,每一個(gè)迭代的問(wèn)題層出不窮;或是沿用原有的方法安排對(duì)系統(tǒng)的系統(tǒng)測(cè)試,導(dǎo)致測(cè)試團(tuán)隊(duì)疲于奔命,卻總也趕不上開發(fā)所要求的進(jìn)度。在這種情況下,專門來(lái)討論敏捷軟件開發(fā)中的測(cè)試,也就是敏捷軟件測(cè)試的話題,對(duì)這些工程師應(yīng)該會(huì)有一些幫助。
那么,到底?很難給敏捷測(cè)試下一個(gè)精確、完善的定義,在本人看來(lái),接納了敏捷的核心價(jià)值觀(溝通,簡(jiǎn)單,反饋,勇氣,尊重),在敏捷軟件開發(fā)過(guò)程中開展的測(cè)試就可以被稱作是敏捷軟件測(cè)試。因此,敏捷軟件測(cè)試并不是一個(gè)與敏捷軟件開發(fā)同一層次的劃分,而是敏捷軟件開發(fā)中的一部分,與傳統(tǒng)的測(cè)試不同,敏捷軟件測(cè)試并不是一個(gè)獨(dú)立的過(guò)程,相反,它與整個(gè)敏捷開發(fā)中的其他活動(dòng)交織在一起,處處都能看到它的影子。
由于敏捷軟件測(cè)試并不傾向于一個(gè)單獨(dú)的過(guò)程定義,本人擬從敏捷軟件測(cè)試與傳統(tǒng)測(cè)試觀點(diǎn)的比較、敏捷軟件測(cè)試中采用的方法、測(cè)試工程師在敏捷軟件測(cè)試過(guò)程中的工作等方面來(lái)闡述之。在這篇文章中,我們主要從宏觀的角度來(lái)描述敏捷軟件測(cè)試,而在本專欄的后續(xù)文章中,我們將對(duì)敏捷軟件測(cè)試中采用的方法、工程師在敏捷軟件測(cè)試中的工作內(nèi)容等進(jìn)行進(jìn)一步的描述。
使用Dashboard、燃盡圖等方式展示當(dāng)前工作與可交付產(chǎn)品之間的距離建立單元測(cè)試覆蓋率等度量指標(biāo)共享質(zhì)量目標(biāo)意味著質(zhì)量責(zé)任由所有工程師共同承擔(dān)開發(fā)測(cè)試應(yīng)該建立一定的測(cè)試覆蓋率標(biāo)準(zhǔn),例如,在單元測(cè)試這個(gè)級(jí)別上,建立60%或80%的覆蓋率要求通過(guò)使用TDD、BDD等技術(shù),保證產(chǎn)品和代碼的可測(cè)試性建立足夠多的自動(dòng)化測(cè)試,保證測(cè)試能夠滿足快速迭代的要求檢查表提到了團(tuán)隊(duì)、反饋、質(zhì)量文化和開發(fā)測(cè)試四個(gè)方面的內(nèi)容,在本人看來(lái),這四個(gè)方面體現(xiàn)的就是敏捷軟件測(cè)試與傳統(tǒng)軟件測(cè)試的最大的不同。傳統(tǒng)軟件測(cè)試關(guān)注的是通過(guò)盡可能完備的覆蓋去發(fā)現(xiàn)盡可能多的問(wèn)題,把測(cè)試和開發(fā)當(dāng)成是兩個(gè)獨(dú)立的過(guò)程,測(cè)試是對(duì)開發(fā)階段產(chǎn)生成果的驗(yàn)證。
而敏捷軟件測(cè)試則建立了一種不同的質(zhì)量文化:測(cè)試的目的是為了保證產(chǎn)品快速發(fā)布,也就是對(duì)生產(chǎn)率本身的提高。基于驗(yàn)證的出發(fā)點(diǎn)必然會(huì)要求測(cè)試與開發(fā)的獨(dú)立,以及盡可能客觀和完備的度量產(chǎn)品質(zhì)量;而基于生產(chǎn)率的出發(fā)點(diǎn)則要求建立敏捷的團(tuán)隊(duì),要求測(cè)試與開發(fā)盡可能緊密,要求建立具有高度可測(cè)試性的軟件,以及基于這些的高度自動(dòng)化測(cè)試。
在檢查表列出的所有項(xiàng)目中,質(zhì)量文化是基礎(chǔ),團(tuán)隊(duì)是敏捷軟件測(cè)試得以實(shí)施的條件,反饋和開發(fā)測(cè)試則是敏捷軟件測(cè)試的具體方法。當(dāng)然,你可以可以從敏捷的核心價(jià)值觀來(lái)階段這些項(xiàng)目:團(tuán)隊(duì)關(guān)注的是溝通與尊重;反饋直接對(duì)應(yīng)于反饋;質(zhì)量文化基于勇氣(承擔(dān)質(zhì)量責(zé)任的勇氣)與尊重;而開發(fā)測(cè)試則是反饋與簡(jiǎn)單的具體體現(xiàn)。
另一個(gè)在本文最。
敏捷測(cè)試應(yīng)該是適應(yīng)敏捷方法而采用的新的測(cè)試流程、方法和實(shí)踐,對(duì)傳統(tǒng)的測(cè)試流程有所剪裁,有所不同的側(cè)重,例如減少測(cè)試計(jì)劃、測(cè)試用例設(shè)計(jì)等工作的比重,增加與產(chǎn)品設(shè)計(jì)人員、開發(fā)人員的交流和協(xié)作。在敏捷測(cè)試流程中,參與單元測(cè)試,關(guān)注持續(xù)迭代的新功能,針對(duì)這些新功能進(jìn)行足夠的驗(yàn)收測(cè)試,而對(duì)原有功能的回歸測(cè)試則依賴于自動(dòng)化測(cè)試。由于敏捷方法中迭代周期短,測(cè)試人員盡早開始測(cè)試,包括及時(shí)對(duì)需求、開發(fā)設(shè)計(jì)的評(píng)審,更重要的是能夠及時(shí)、持續(xù)的對(duì)產(chǎn)品質(zhì)量進(jìn)行反饋。
在敏捷方法中,需求變化比較快、產(chǎn)品開發(fā)周期很短,我們目前采用四周時(shí)間,也就是每個(gè)月發(fā)布一個(gè)新版本。開發(fā)周期短,功能不斷累加,給測(cè)試帶來(lái)很大的挑戰(zhàn),測(cè)試流程要做相應(yīng)的調(diào)整。
在對(duì)新功能進(jìn)行app功能測(cè)試和回歸測(cè)試策略上,測(cè)試任務(wù)簡(jiǎn)單地可分為新功能測(cè)試和回歸測(cè)試。在敏捷方法中,針對(duì)這兩部分的測(cè)試建立相應(yīng)的策略,加上自動(dòng)化測(cè)試,以提高測(cè)試的效率,最大限度地降低質(zhì)量風(fēng)險(xiǎn)。
TestBird - 手游和App自動(dòng)化測(cè)試
1、敏捷測(cè)試人員的定義
我們這樣定義敏捷測(cè)試人員:專業(yè)的測(cè)試人員,適應(yīng)變化,與技術(shù)人員和業(yè)務(wù)人員展開良好協(xié)作,并理解利用測(cè)試記錄需求和驅(qū)動(dòng)開發(fā)的思想。敏捷測(cè)試人員往往具有優(yōu)秀的技術(shù)能力,知道如何與他人合作以實(shí)現(xiàn)自動(dòng)化測(cè)試,同時(shí)也擅長(zhǎng)探索性測(cè)試。他們希望了解客戶在做什么,以此更好地理解客戶的軟件需求。
誰(shuí)是敏捷測(cè)試人員?她是驅(qū)動(dòng)敏捷測(cè)試的團(tuán)隊(duì)成員。我們知道許多敏捷測(cè)試人員剛開始的時(shí)候在從事其他工作。開發(fā)人員可能會(huì)愛上測(cè)試而超越單元測(cè)試的范疇。習(xí)慣以敏捷方式工作的探索型測(cè)試人員也會(huì)被敏捷團(tuán)隊(duì)吸引。其他角色的專業(yè)人士,比如業(yè)務(wù)或者功能分析師,也可能具有同樣的特質(zhì)并做同樣的工作。
技能很重要,但態(tài)度更值得關(guān)注。Janet總是說(shuō):“如果態(tài)度不好,那么技能則一無(wú)是處”。既然我們要為敏捷團(tuán)隊(duì)招募大量的測(cè)試人員,那么必須慎重考慮這一點(diǎn),并與敏捷社區(qū)的其他朋友進(jìn)行相關(guān)討論。測(cè)試人員往往可以總覽全局。他們更多時(shí)候是以客戶的角度看待應(yīng)用程序,這意味著他們一般以客戶為中心。
2、敏捷測(cè)試思想
如何使一個(gè)團(tuán)隊(duì)變得“敏捷”?對(duì)我們而言,敏捷團(tuán)隊(duì)持續(xù)關(guān)注如何最出色地工作并發(fā)布最優(yōu)秀的產(chǎn)品。根據(jù)我們的經(jīng)驗(yàn),這需要大量的訓(xùn)練、學(xué)習(xí)、時(shí)間、實(shí)驗(yàn)和協(xié)同工作。這并不適合所有人,但是對(duì)那些希望自己團(tuán)隊(duì)充滿活力并關(guān)注持續(xù)改進(jìn)的人來(lái)說(shuō)非常適合。
成功的項(xiàng)目總是因?yàn)閮?yōu)秀的人才完成了出色的工作。在敏捷團(tuán)隊(duì)中做一名成功的測(cè)試人員所需要的特質(zhì)可能與在任何團(tuán)隊(duì)做一名高水平的測(cè)試人員所需要的相同。
敏捷測(cè)試人員不會(huì)把自己看作是質(zhì)量管理辦公室的主管以保護(hù)客戶避免受到缺陷代碼的傷害。她會(huì)樂(lè)于收集和分享信息,與客戶或者產(chǎn)品負(fù)責(zé)人協(xié)作以幫助他們充分展示自己的需求,從而得到他們需要的功能,同時(shí)向所有人提供項(xiàng)目進(jìn)展的反饋。
敏捷測(cè)試應(yīng)該是適應(yīng)敏捷方法而采用的新的測(cè)試流程、方法和實(shí)踐,對(duì)傳統(tǒng)的測(cè)試流程有所剪裁,有所不同的側(cè)重,例如減少測(cè)試計(jì)劃、測(cè)試用例設(shè)計(jì)等工作的比重,增加與產(chǎn)品設(shè)計(jì)人員、開發(fā)人員的交流和協(xié)作。
在敏捷測(cè)試流程中,參與單元測(cè)試,關(guān)注持續(xù)迭代的新功能,針對(duì)這些新功能進(jìn)行足夠的驗(yàn)收測(cè)試,而對(duì)原有功能的回歸測(cè)試則依賴于自動(dòng)化測(cè)試。由于敏捷方法中迭代周期短,測(cè)試人員盡早開始測(cè)試,包括及時(shí)對(duì)需求、開發(fā)設(shè)計(jì)的評(píng)審,更重要的是能夠及時(shí)、持續(xù)的對(duì)產(chǎn)品質(zhì)量進(jìn)行反饋。
在敏捷方法中,需求變化比較快、產(chǎn)品開發(fā)周期很短,我們目前采用四周時(shí)間,也就是每個(gè)月發(fā)布一個(gè)新版本。開發(fā)周期短,功能不斷累加,給測(cè)試帶來(lái)很大的挑戰(zhàn),測(cè)試流程要做相應(yīng)的調(diào)整。
在對(duì)新功能進(jìn)行app功能測(cè)試和回歸測(cè)試策略上,測(cè)試任務(wù)簡(jiǎn)單地可分為新功能測(cè)試和回歸測(cè)試。在敏捷方法中,針對(duì)這兩部分的測(cè)試建立相應(yīng)的策略,加上自動(dòng)化測(cè)試,以提高測(cè)試的效率,最大限度地降低質(zhì)量風(fēng)險(xiǎn)。
TestBird - 手游和App自動(dòng)化測(cè)試。
敏捷開發(fā)包括一系列的方法,主流的有如下七種:
XP
XP(極限編程)的思想源自 Kent Beck和Ward Cunningham在軟件項(xiàng)目中的合作經(jīng)歷。XP注重的核心是溝通、簡(jiǎn)明、反饋和勇氣。因?yàn)橹烙?jì)劃永遠(yuǎn)趕不上變化,XP無(wú)需開發(fā)人員在軟件開始初期做 出很多的文檔。XP提倡測(cè)試先行,為了將以后出現(xiàn)bug的幾率降到最低。
SCRUM
SCRUM是一種迭代的增量化過(guò)程,用于產(chǎn)品開發(fā)或工作管理。它是一種可以集合各種開發(fā)實(shí)踐的經(jīng)驗(yàn)化過(guò)程框架。SCRUM中發(fā)布產(chǎn)品的重要性高于一切。
該方法由Ken Schwaber和 Jeff Sutherland 提出,旨在尋求充分發(fā)揮面向?qū)ο蠛蜆?gòu)件技術(shù)的開發(fā)方法,是對(duì)迭代式面向?qū)ο蠓椒ǖ母倪M(jìn)。
Crystal Methods
Crystal Methods(水晶方法族)由Alistair Cockburn在20實(shí)際90年代末提出。之所以是個(gè)系列,是因?yàn)樗嘈挪煌愋偷捻?xiàng)目需要不同的方法。雖然水晶系列不如XP那樣的產(chǎn)出效率,但會(huì)有更多的人能夠接受并遵循它。
FDD
FDD (Feature-Driven Development,特性驅(qū)動(dòng)開發(fā))由Peter Coad、Jeff de Luca 、Eric Lefebvre共同開發(fā),是一套針對(duì)中小型軟件開發(fā)項(xiàng)目的開發(fā)模式。此外,F(xiàn)DD是一個(gè)模型驅(qū)動(dòng)的快速迭代開發(fā)過(guò)程,它強(qiáng)調(diào)的是簡(jiǎn)化、實(shí)用、易于被開發(fā)團(tuán)隊(duì)接受,適用于需求經(jīng)常變動(dòng)的項(xiàng)目。
ASD
ASD(Adaptive Software Development,自適應(yīng)軟件開發(fā))由Jim Highsmith在1999年正式提出。ASD強(qiáng)調(diào)開發(fā)方法的適應(yīng)性(Adaptive),這一思想來(lái)源于復(fù)雜系統(tǒng)的混沌理論。ASD不象其他方法那樣 有很多具體的實(shí)踐做法,它更側(cè)重為ASD的重要性提供最根本的基礎(chǔ),并從更高的組織和管理層次來(lái)闡述開發(fā)方法為什么要具備適應(yīng)性。
DSDM
DSDM(動(dòng)態(tài)系統(tǒng)開發(fā)方法)是眾多敏捷開發(fā)方法中的一種,它倡導(dǎo)以業(yè)務(wù)為核心,快速而有效地進(jìn)行系統(tǒng)開發(fā)。實(shí)踐證明DSDM是成功的敏捷開發(fā)方法之一。在英國(guó),由于其在各種規(guī)模的軟件組織中的成功,它已成為應(yīng)用最為廣泛的快速應(yīng)用開發(fā)方法。
DSDM不但遵循了敏捷方法的原理,而且也適合那些成熟的傳統(tǒng)開發(fā)方法有堅(jiān)實(shí)基礎(chǔ)的軟件組織。
輕量型RUP
RUP其實(shí)是個(gè)過(guò)程的框架,它可以包容許多不同類型的過(guò)程, Craig Larman 極力主張以敏捷型方式來(lái)使用RUP。他的觀點(diǎn)是:目前如此眾多的努力以推進(jìn)敏捷型方法,只不過(guò)是在接受能被視為RUP 的主流OO開發(fā)方法而已。
軟件測(cè)試的方法根據(jù)軟件工程的組織和實(shí)現(xiàn)方式,有很大差別,有些是比較技術(shù)化的方法,有些則是工程方法,主要分為: 黑盒測(cè)試方法群:等價(jià)類劃分、邊界值、因果圖、基路徑法、專家測(cè)試法、smoking、場(chǎng)景測(cè)試等 白盒測(cè)試方法群:同行評(píng)審、需求審查、代碼審查、接口測(cè)試(調(diào)用測(cè)試和返回測(cè)試,需要結(jié)合等價(jià)類和因果圖方法)等。
當(dāng)在單元層面黑盒而在集成層面白盒時(shí),基本上兩類方法就會(huì)有結(jié)合了,就會(huì)出現(xiàn)習(xí)慣上說(shuō)的灰盒測(cè)試(說(shuō)實(shí)話,不做到純產(chǎn)品級(jí)開發(fā),基本上都是用的灰盒測(cè)試)。
可能在軟件測(cè)試技術(shù)的概念上,你不太熟悉,敏捷測(cè)試和自動(dòng)化測(cè)試,不是測(cè)試技術(shù),是一種測(cè)試類型。比如你參與的項(xiàng)目是敏捷開發(fā),那么你做的測(cè)試就成為敏捷測(cè)試,而自動(dòng)化測(cè)試,是相對(duì)于手工測(cè)試而言的。
軟件測(cè)試的技術(shù),有很多,畢竟軟件測(cè)試人員要做的工作涉及范圍很廣,相對(duì)應(yīng)的,要懂的技術(shù)也很懂,根據(jù)用途,我做了以下分類,希望對(duì)你有所幫助吧:
1、進(jìn)行數(shù)據(jù)庫(kù)測(cè)試,那么就要掌握數(shù)據(jù)庫(kù)的操作語(yǔ)句和數(shù)據(jù)庫(kù)相關(guān)知識(shí),如sql、觸發(fā)器、內(nèi)/外連接、單表/多表操作;
2、進(jìn)行客戶端測(cè)試,就要考慮各種測(cè)試方法;
3、進(jìn)行產(chǎn)品的網(wǎng)絡(luò)性能測(cè)試,就要具備一定的網(wǎng)絡(luò)知識(shí)。
相對(duì)于手工測(cè)試而言,自動(dòng)化測(cè)試要掌握的東西就更多了,除了以上幾點(diǎn)外,還要掌握:
1、性能測(cè)試工具/功能測(cè)試工具,如loadrunner和QTP;
2、掌握自動(dòng)化腳本語(yǔ)言,因?yàn)槟_本語(yǔ)言有很多種,要看你做的是什么測(cè)試,用的是什么工具,不過(guò)各個(gè)語(yǔ)言都是想通的,如果你掌握了java,基本上那些東西都是能夠用起來(lái)的。
1)按照測(cè)試技術(shù)劃分
黑盒測(cè)試:功能測(cè)試,必須
白盒測(cè)試:邏輯結(jié)構(gòu)測(cè)試,代碼的邏輯、算法、結(jié)構(gòu)是否正確,要求必須懂得代碼,需要編寫測(cè)試用例,可選
灰盒測(cè)試:介于中間
注意:在單元測(cè)試時(shí),白盒應(yīng)用相對(duì)較多,在集成測(cè)試時(shí),灰盒測(cè)試應(yīng)用相對(duì)較多,在系統(tǒng)、驗(yàn)收測(cè)試時(shí)一般就不會(huì)使用白盒測(cè)試和灰盒測(cè)試了。
2)按是否需要運(yùn)行代碼劃分
靜態(tài)測(cè)試:界面測(cè)試,文檔測(cè)試,代碼測(cè)試【重點(diǎn)關(guān)注代碼的規(guī)范性,一般檢查變量的命名,注釋的頻率,編程的規(guī)范性,不需要寫測(cè)試用例,一般只需要有代碼審查單】
注意:一般經(jīng)常把白盒測(cè)試和靜態(tài)測(cè)試的要素結(jié)合在一起,形成靜態(tài)白盒測(cè)試
動(dòng)態(tài)測(cè)試:運(yùn)行程序進(jìn)行檢查,檢查實(shí)際輸出結(jié)果和預(yù)期結(jié)果是否相符
3)按軟件特性分類
功能測(cè)試
性能測(cè)試
敏捷開發(fā)包括一系列的方法,主流的有如下七種:XPXP(極限編程)的思想源自 Kent Beck和Ward Cunningham在軟件項(xiàng)目中的合作經(jīng)歷。
XP注重的核心是溝通、簡(jiǎn)明、反饋和勇氣。因?yàn)橹烙?jì)劃永遠(yuǎn)趕不上變化,XP無(wú)需開發(fā)人員在軟件開始初期做 出很多的文檔。
XP提倡測(cè)試先行,為了將以后出現(xiàn)bug的幾率降到最低。SCRUMSCRUM是一種迭代的增量化過(guò)程,用于產(chǎn)品開發(fā)或工作管理。
它是一種可以集合各種開發(fā)實(shí)踐的經(jīng)驗(yàn)化過(guò)程框架。SCRUM中發(fā)布產(chǎn)品的重要性高于一切。
該方法由Ken Schwaber和 Jeff Sutherland 提出,旨在尋求充分發(fā)揮面向?qū)ο蠛蜆?gòu)件技術(shù)的開發(fā)方法,是對(duì)迭代式面向?qū)ο蠓椒ǖ母倪M(jìn)。Crystal MethodsCrystal Methods(水晶方法族)由Alistair Cockburn在20實(shí)際90年代末提出。
之所以是個(gè)系列,是因?yàn)樗嘈挪煌愋偷捻?xiàng)目需要不同的方法。雖然水晶系列不如XP那樣的產(chǎn)出效率,但會(huì)有更多的人能夠接受并遵循它。
FDDFDD (Feature-Driven Development,特性驅(qū)動(dòng)開發(fā))由Peter Coad、Jeff de Luca 、Eric Lefebvre共同開發(fā),是一套針對(duì)中小型軟件開發(fā)項(xiàng)目的開發(fā)模式。此外,F(xiàn)DD是一個(gè)模型驅(qū)動(dòng)的快速迭代開發(fā)過(guò)程,它強(qiáng)調(diào)的是簡(jiǎn)化、實(shí)用、易于被開發(fā)團(tuán)隊(duì)接受,適用于需求經(jīng)常變動(dòng)的項(xiàng)目。
ASDASD(Adaptive Software Development,自適應(yīng)軟件開發(fā))由Jim Highsmith在1999年正式提出。ASD強(qiáng)調(diào)開發(fā)方法的適應(yīng)性(Adaptive),這一思想來(lái)源于復(fù)雜系統(tǒng)的混沌理論。
ASD不象其他方法那樣 有很多具體的實(shí)踐做法,它更側(cè)重為ASD的重要性提供最根本的基礎(chǔ),并從更高的組織和管理層次來(lái)闡述開發(fā)方法為什么要具備適應(yīng)性。DSDMDSDM(動(dòng)態(tài)系統(tǒng)開發(fā)方法)是眾多敏捷開發(fā)方法中的一種,它倡導(dǎo)以業(yè)務(wù)為核心,快速而有效地進(jìn)行系統(tǒng)開發(fā)。
實(shí)踐證明DSDM是成功的敏捷開發(fā)方法之一。在英國(guó),由于其在各種規(guī)模的軟件組織中的成功,它已成為應(yīng)用最為廣泛的快速應(yīng)用開發(fā)方法。
DSDM不但遵循了敏捷方法的原理,而且也適合那些成熟的傳統(tǒng)開發(fā)方法有堅(jiān)實(shí)基礎(chǔ)的軟件組織。輕量型RUPRUP其實(shí)是個(gè)過(guò)程的框架,它可以包容許多不同類型的過(guò)程, Craig Larman 極力主張以敏捷型方式來(lái)使用RUP。
他的觀點(diǎn)是:目前如此眾多的努力以推進(jìn)敏捷型方法,只不過(guò)是在接受能被視為RUP 的主流OO開發(fā)方法而已。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁(yè)面生成時(shí)間:3.042秒