資源描述:
《測試驅(qū)動開發(fā)及開發(fā)實(shí)踐》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、萬方數(shù)據(jù)第16卷第5期2006年5月計(jì)算機(jī)技術(shù)與發(fā)展00MPl『rERTECHNOLOGYANDDEVEI』)PM匱NTVul.16NO.5Mav2006測試驅(qū)動開發(fā)及開發(fā)實(shí)踐張揚(yáng),黃厚寬(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,北京100044)摘要:極限編程是適應(yīng)于中小型團(tuán)隊(duì)在需求不明確或迅速變化的情況下進(jìn)行軟件開發(fā)的輕量級方法學(xué)。測試驅(qū)動開發(fā)作為極限編程思想的一種主要實(shí)踐,可以有效地讓程序開發(fā)人員開發(fā)出更高品質(zhì)的、經(jīng)過完整測試的程序。文中介紹了測試驅(qū)動開發(fā)思想,對測試驅(qū)動開發(fā)過程給出了清晰的流程,總結(jié)了測試驅(qū)動開發(fā)的多種模式。最后介紹
2、了如何用JUnit進(jìn)行測試驅(qū)動開發(fā)。關(guān)鍵詞:極限編程;測試驅(qū)動開發(fā);JUnit中圖分類號:耶311.52文獻(xiàn)標(biāo)識碼:A文章編號:1673—629X(2006)05—0074—03TestDrivenDevelopmentandPracticeZHANGYang,HUANGHou—kuan(ScF如olofComputerandInformationTeehnolc蝴y,BeijingJiaotongUniversity,Beijing100044,China)Abstract:Extremeprogramming(XP)isakind
3、ofleandevelopmentmethod.whichadaptstOthemediumandsmall—scalegroupwhocar—ryOilsoftwaredevelopmentinasituationthatthedemandisindeterminateOrchangingrapidly.Testdrivendevelopment(TDD)isakindofmainpracticeofaprogrm'nrningthoughtofXP.TDDcanlettheproceduredeveloperdevelopmole
4、high—qualityprogramswhichhavealreadypassedintacttest.Thearticleintroducestestdrivendevelopmentthought,andr舢endsTDDdevelopingprocedureclearly.Then,summarizesrrmnykindsofmodesofTDD.Finally,thearticlel-eoomrllendshowtocarryontestdrivendevelopmentwi山JUnit.Keywords:extremepr
5、ogramming;testdrivendevelopment;JUnit1極限編程與測試驅(qū)動開發(fā)極限編程(ExtremeProgramming,Ⅻ)是適應(yīng)于中小型團(tuán)隊(duì)在需求不明確或迅速變化的情況下進(jìn)行軟件開發(fā)的輕量級方法學(xué)[1】。極限編程是一種輕量、高效、低風(fēng)險(xiǎn)、柔性、可預(yù)測、科學(xué)而且充滿樂趣的軟件開發(fā)方式。它作為一種方法論有如下特點(diǎn):*周期較短,在短周期內(nèi)進(jìn)行早期、具體和持續(xù)的反饋。*遞增地進(jìn)行計(jì)劃編制。這種方法迅速提供一個(gè)總體計(jì)劃,然后在項(xiàng)目的整個(gè)生命周期內(nèi)不斷發(fā)展。*具有針對不斷變化的業(yè)務(wù)需求靈活地對功能的實(shí)現(xiàn)進(jìn)行計(jì)劃的能力。
6、*依賴于由程序員或客戶編寫的自動測試來監(jiān)控開發(fā)進(jìn)度,使得系統(tǒng)得以發(fā)展并及早捕獲缺陷。*依賴于口頭交流、測試和源代碼來溝通系統(tǒng)的結(jié)構(gòu)和意圖。*依賴于在系統(tǒng)存在期間一直持續(xù)的進(jìn)化式設(shè)計(jì)過程。收稿日期:2005一08一07作者簡介:張揚(yáng)(1983一),男,山西呂梁人,碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘與數(shù)據(jù)倉庫;黃厚寬,教授,博士生導(dǎo)師,研究方向?yàn)槿斯ぶ悄芗澳J阶R別。*對程序員的技術(shù)水平要求不高,但要求他們緊密協(xié)作。*既可滿足程序員的短期本能,也滿足項(xiàng)目的長期利益。極限編程有4個(gè)原則,分別為溝通、簡單、反饋和勇氣?2。XP旨在采用許多只能通過溝
7、通完成的實(shí)踐來保持良好的溝通,如單元測試、結(jié)對編程及任務(wù)估算。XP假設(shè)不用深謀遠(yuǎn)慮,想的很深很遠(yuǎn)才開始動手。它要求今天能實(shí)現(xiàn)今天的設(shè)計(jì)就可,不去預(yù)先考慮解決明天或后天的事情。XP強(qiáng)調(diào)即時(shí)的反饋。它有兩種反饋模式,分別以分鐘和天的級別進(jìn)行反饋;以周和月的級別進(jìn)行反饋。程序員為系統(tǒng)中所有可能出錯(cuò)的邏輯編寫單元測試。他們每分鐘都得到有關(guān)系統(tǒng)狀態(tài)的具體反饋??蛻舾魞傻饺軝z查一次日程,查看開發(fā)團(tuán)隊(duì)的整體速度是否與計(jì)劃相符,并隨之調(diào)整計(jì)劃。XP要求程序員有勇氣即時(shí)地修復(fù)缺陷,即使這使原來運(yùn)行通過的測試中出現(xiàn)了錯(cuò)誤;如果一天快要結(jié)束,而代碼依然失
8、控,XP要求程序員有勇氣放棄原來的代碼??傊?,極限編程要求程序員快速反饋,把每個(gè)問題都看成可以用近乎荒謬的簡單設(shè)計(jì)來解決,遞增進(jìn)行微小更改來解決問題。測試驅(qū)動開發(fā)(TestDrivenDevelopment,TDD)作為