資源描述:
《tdd(測試驅(qū)動(dòng)開發(fā))》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、軟件質(zhì)量控制--TDD一、項(xiàng)目情況目錄(五)體系架構(gòu)目錄XX平臺(tái)質(zhì)量控制手段TDD工作原理如何在項(xiàng)目中引入TDD一、項(xiàng)目情況XX平臺(tái)質(zhì)量控制手段(五)體系架構(gòu)軟件質(zhì)量控制貫穿于軟件的整個(gè)開發(fā)過程,在每個(gè)階段所采取的方式也不一樣,主要有:評(píng)審、代碼走查、手工測試一、XX平臺(tái)質(zhì)量控制手段一、項(xiàng)目情況XX平臺(tái)質(zhì)量控制手段(五)體系架構(gòu)手工測試需要反復(fù)進(jìn)行。每一次修改程序,不管是增加新功能,還是修改bug,都必須重新測試被影響的部分,才能保證你增刪改的代碼不會(huì)造成破壞。手工測試可能會(huì)測試不充分。軟件的各個(gè)部分常常有關(guān)
2、聯(lián),任何人都不可能詳細(xì)了解某段代碼所有的依賴和被依賴關(guān)系,可能造成的問題是:修改某個(gè)地方,可能會(huì)影響到另一些代碼的行為,而這些被影響的功能不能完全被感知。手工測試階段發(fā)現(xiàn)的問題,定位和解決的成本很高。二、手工測試缺點(diǎn)一、項(xiàng)目情況XX平臺(tái)質(zhì)量控制手段(五)體系架構(gòu)軟件質(zhì)量的提高必須通過改進(jìn)軟件開發(fā)方法和提高開發(fā)人員的技術(shù)水平來完成。1、自動(dòng)化測試自動(dòng)化測試對(duì)程序的回歸測試更方便。這是自動(dòng)化測試最主要的任務(wù),特別是在程序修改比較頻繁時(shí),效果是非常明顯的。由于回歸測試的動(dòng)作和用例是完全設(shè)計(jì)好的,測試期望的結(jié)果也是完
3、全可以預(yù)料的,將回歸測試自動(dòng)運(yùn)行,可以極大提高測試效率和測試質(zhì)量,縮短回歸測試時(shí)間。三、改進(jìn)一、項(xiàng)目情況XX平臺(tái)質(zhì)量控制手段(五)體系架構(gòu)2、TDD(Test-DrivenDevelopment)軟件設(shè)計(jì)重要的是方法,設(shè)計(jì)原則和思想,技術(shù)和框架只是一個(gè)實(shí)現(xiàn)的方式和工具。TDD是一種方法,一種從代碼源頭控制軟件質(zhì)量的方法。三、改進(jìn)一、項(xiàng)目情況目錄(五)體系架構(gòu)目錄XX平臺(tái)質(zhì)量控制手段TDD工作原理如何在項(xiàng)目中引入TDD一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)TDD是敏捷開發(fā)中的一項(xiàng)核心實(shí)踐和技術(shù),也是一種設(shè)計(jì)方
4、法論。主要是先寫測試程序,然后再編碼使其通過測試?;舅悸肪褪峭ㄟ^測試來推動(dòng)整個(gè)開發(fā)的進(jìn)行,但測試驅(qū)動(dòng)開發(fā)并不只是單純的測試工作,而是把需求分析,設(shè)計(jì),質(zhì)量控制量化的過程。TDD主要包括兩方面:測試先行和代碼重構(gòu)。測試主要針對(duì)單元(最小的可測試軟件元素)實(shí)施測試。1、什么是TDD一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)測試驅(qū)動(dòng)開發(fā)屬于需求分析和詳細(xì)設(shè)計(jì)范疇,當(dāng)代碼完成后,這些測試程序也成為單元測試的一部份。測試驅(qū)動(dòng)開發(fā)顛覆了以往的需求分析一設(shè)計(jì)一編碼一單元測試。而是從單元測試入手,用測試代碼描述需求,編碼的目
5、的就是為了通過己經(jīng)設(shè)計(jì)好的單元測試代碼。用測試來驅(qū)動(dòng)開發(fā),開發(fā)的目的就是為了通過測試。。2、TDD屬于需求分析和詳細(xì)設(shè)計(jì)范疇一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)1)明確當(dāng)前要完成的功能。2)快速完成針對(duì)此功能的測試用例編寫。3)測試代碼編譯不通過。4)編寫對(duì)應(yīng)的功能代碼。5)測試通過。6)對(duì)代碼進(jìn)行重構(gòu),并保證測試通過。7)循環(huán)完成所有功能的開發(fā)。3、TDD開發(fā)步驟一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)TDD促使程序員在設(shè)計(jì)每個(gè)最小功能的時(shí)候,仔細(xì)思考這個(gè)最小單元(方法)的各種邊界條件,確保每一個(gè)單元更
6、加健壯,穩(wěn)定。這樣,到最后,整個(gè)系統(tǒng)也更加可靠穩(wěn)定。只有經(jīng)過測試的代碼才是可靠的。4、TDD有助于提高系統(tǒng)穩(wěn)定性一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)TDD是一種工作方式,編碼觀念,而Test是這種觀念中的一部分實(shí)踐。TDD的觀念是先明確下一步要做的一小樣?xùn)|西,然后恰到好處的實(shí)現(xiàn)要做的東西,最后審核所做的質(zhì)量,以此循環(huán)。Test是明確下一步東西后的產(chǎn)出,對(duì)實(shí)現(xiàn)的正確引導(dǎo),也是審核將來代碼質(zhì)量的一個(gè)工具。狹義上TDD的測試指的是單元測試,但是隨著敏捷開發(fā)方法的發(fā)展,TDD又逐漸延伸發(fā)展出了ATDD和BDD等。
7、每種方法關(guān)注于不同的問題。5、TDD跟Test是什么關(guān)系?TDD的T就是UnitTest嗎?一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)實(shí)施TDD是對(duì)開發(fā)者行為的比較大的改變,難點(diǎn)主要是改變開發(fā)工程師既有的開發(fā)習(xí)慣。TDD技術(shù)本身沒有什么特別的要求,任何組織都可以直接應(yīng)用。使用TDD的目的是高效的開發(fā)高品質(zhì)的程序。如果發(fā)現(xiàn)TDD危及這個(gè)目標(biāo)(TDD也有自身的弱點(diǎn)和局限),那么請適當(dāng)?shù)耐讌f(xié)。6、實(shí)施TDD需要怎樣的前提條件?TDD難在哪兒?一、項(xiàng)目情況TDD工作原理(五)體系架構(gòu)對(duì)于需求來說,TDD更能引導(dǎo)開發(fā)人員
8、做出真正符合需求的東西,不會(huì)過渡開發(fā)。對(duì)于設(shè)計(jì)來說,TDD的實(shí)踐能幫你清理思路,但不能教會(huì)你做好的設(shè)計(jì)。對(duì)于質(zhì)量來說,TDD保證所有的代碼都有測試覆蓋,肯定能提高質(zhì)量。。7、TDD之于需求、設(shè)計(jì)、代碼質(zhì)量是怎樣的關(guān)系和影響?一、項(xiàng)目情況目錄(五)體系架構(gòu)目錄XX平臺(tái)質(zhì)量控制手段TDD工作原理如何在項(xiàng)目中引入TDD