TDD基礎(chǔ)

定義

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ù),然后寫例子,用實(shí)例化需求澄清細(xì)節(jié),然后寫測試,只關(guān)注需求就好,接著寫實(shí)現(xiàn),在通過測試之后再進(jìn)行重構(gòu),用重構(gòu)的方法消除代碼里的不足 ,寫完之后,在手動測試一下,如果還有問題補(bǔ)個用例,修復(fù)一下,轉(zhuǎn)測試,補(bǔ)用例,修復(fù)就好了。這樣寫出來的代碼很整潔,而且容易修改。

為什么TDD

使用TDD的話我們會提高效率,提前確認(rèn)需求,減少開發(fā)的中斷和等待 ,節(jié)省調(diào)試空間。質(zhì)量方面搞測試覆蓋率而且自動回歸測試,所以會提高代碼質(zhì)量。

如何做TDD

兩種途徑:

做設(shè)計(jì)

先做好設(shè)計(jì),再用測試驅(qū)動的方式,小步快走,穩(wěn)妥的吧程序做出來

不做設(shè)計(jì)先實(shí)現(xiàn)最基本的需求,在不斷地添加更復(fù)雜的需求,慢慢的將程序驅(qū)動出來
做TDD的步驟
  • 快速新增一個測試
  • 運(yùn)行所有的測試(有時只需要運(yùn)行一個或者一部分),發(fā)現(xiàn)新增的測試不能通過
  • 做一些小小的改動,盡快地讓測試程序可運(yùn)行,為此可以再程序中使用一些不合情理的方法
  • 運(yùn)行所有的測試,并且全部通過
  • 重構(gòu)代碼, 以消除重復(fù)設(shè)計(jì),優(yōu)化設(shè)計(jì)結(jié)構(gòu)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是一個讓人壓抑的名字。她短暫的生命之花,只開須臾,絢爛如天際紛飛的煙花,耀眼似轉(zhuǎn)瞬即逝的流星,卻掩不住那濃郁的悲...
    滋小然閱讀 3,878評論 48 38
  • 每個人身上都有值得學(xué)習(xí)、欣賞的地方,今天的作業(yè)是審視我們身邊最常用的人/事/物,我就找三個維度自己最熟悉的...
    靜靜是我啦閱讀 356評論 0 0
  • 馬克吐溫曾經(jīng)說過:“抱歉我沒有時間給您寫一封簡短的信,所以我寫了一封長信。”由此可見,簡約是一件多么不簡單的事情。...
    lilycat閱讀 568評論 0 0
  • 一寫就停不下來。 別的事不太順心,但一下筆,心就自然靜下來了。
    0Karen0閱讀 244評論 1 2
  • 西方繪畫十分講究科學(xué)透視法則,他們追求寫實(shí)主義繪畫,尤其強(qiáng)調(diào)對細(xì)節(jié)的刻畫和還原環(huán)境特征。他們不滿足于依靠感官去認(rèn)識...
    博為峰51Code教研組閱讀 757評論 0 1

友情鏈接更多精彩內(nèi)容