定義
TDD是一種不同于傳統(tǒng)軟件開發(fā)流程的新型開發(fā)方法。它要求在編寫某個功能的代碼之前先編寫測試代碼蚜枢,然后值編寫使測試通過的功能代碼宪彩,通過測試來推動整個開發(fā)的進(jìn)行。有助于編寫簡介可用和高質(zhì)量 的代碼颠黎,并加速開發(fā)過程另锋。
TDD編碼方式與傳統(tǒng)編碼方式的區(qū)別
傳統(tǒng)的編碼方式
傳統(tǒng)編碼方式需求分析細(xì)節(jié)不清楚,細(xì)節(jié)不明物而狭归,需要不斷的跟業(yè)務(wù)人員確認(rèn)夭坪,代碼寫好后很亂,不敢動手修改过椎。
TDD編碼方式
先分解任務(wù)室梅,然后寫例子,用實例化需求澄清細(xì)節(jié)疚宇,然后寫測試亡鼠,只關(guān)注需求就好,接著寫實現(xiàn)敷待,在通過測試之后再進(jìn)行重構(gòu)间涵,用重構(gòu)的方法消除代碼里的不足 ,寫完之后榜揖,在手動測試一下勾哩,如果還有問題補個用例,修復(fù)一下根盒,轉(zhuǎn)測試钳幅,補用例,修復(fù)就好了炎滞。這樣寫出來的代碼很整潔敢艰,而且容易修改。
為什么TDD
使用TDD的話我們會提高效率册赛,提前確認(rèn)需求钠导,減少開發(fā)的中斷和等待 ,節(jié)省調(diào)試空間森瘪。質(zhì)量方面搞測試覆蓋率而且自動回歸測試牡属,所以會提高代碼質(zhì)量。
如何做TDD
兩種途徑:
做設(shè)計
先做好設(shè)計扼睬,再用測試驅(qū)動的方式逮栅,小步快走,穩(wěn)妥的吧程序做出來
不做設(shè)計先實現(xiàn)最基本的需求窗宇,在不斷地添加更復(fù)雜的需求措伐,慢慢的將程序驅(qū)動出來
做TDD的步驟
- 快速新增一個測試
- 運行所有的測試(有時只需要運行一個或者一部分),發(fā)現(xiàn)新增的測試不能通過
- 做一些小小的改動军俊,盡快地讓測試程序可運行侥加,為此可以再程序中使用一些不合情理的方法
- 運行所有的測試,并且全部通過
- 重構(gòu)代碼粪躬, 以消除重復(fù)設(shè)計担败,優(yōu)化設(shè)計結(jié)構(gòu)