加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1.什么是TDD
    • 2.TDD的優(yōu)點(diǎn)
    • 3.TDD的缺點(diǎn)
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

什么是TDD TDD的優(yōu)缺點(diǎn)

2022/01/14
3961
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

測(cè)試驅(qū)動(dòng)開發(fā)(Test Driven Development,簡(jiǎn)稱TDD) 是一種軟件開發(fā)過程中,先編寫測(cè)試再編寫代碼的開發(fā)方法。通過不斷測(cè)試,在保證代碼質(zhì)量的同時(shí),也增強(qiáng)了代碼可維護(hù)性和可復(fù)用性。

1.什么是TDD

TDD 的基本思想是測(cè)試首先被編寫,然后才編寫與之相應(yīng)的產(chǎn)品代碼。測(cè)試定義了一項(xiàng)驗(yàn)證功能是否正常的自動(dòng)化測(cè)試用例,這些用例能夠自動(dòng)化地運(yùn)行。此時(shí),由于并沒有任何代碼實(shí)現(xiàn)該功能,所以相應(yīng)的測(cè)試是不能通過的。接下來,程序員根據(jù)測(cè)試要求編寫足夠的代碼來使測(cè)試通過。代碼如此編寫:只實(shí)現(xiàn)剛好使得為完成的測(cè)試得以通過。當(dāng)測(cè)試能夠通過之后,程序員便可以對(duì)新編寫的代碼進(jìn)行重構(gòu)來消除不必要的冗余。這個(gè)過程不斷循環(huán),直至代碼達(dá)到所有需求都已經(jīng)滿足、易于維護(hù)。TDD 需要程序員全面理解整個(gè)應(yīng)用場(chǎng)景功能,并能夠通過測(cè)試來精確、高效地實(shí)現(xiàn)自己對(duì)需求的理解。

2.TDD的優(yōu)點(diǎn)

1) 良好的代碼質(zhì)量:TDD 強(qiáng)制要求開發(fā)者先寫測(cè)試用例,然后才加入新功能。這樣做充分保證了軟件的正確性和可靠性,并避免了不必要的BUG。

2) 功能持續(xù)交付:因?yàn)槊看沃煌瓿梢粋€(gè)小功能,所以可以更快地發(fā)布軟件并由最終用戶測(cè)試新的功能。

3) 局部調(diào)試而非全局調(diào)試:使用 TDD 方法開發(fā)的程序,在出現(xiàn)故障時(shí),很容易找到問題發(fā)生的位置,不需要整個(gè)程序重新運(yùn)行。

4) 提高代碼的可維護(hù)性與復(fù)用性:使用 TDD 編寫代碼會(huì)讓程序員在思考中快速清楚應(yīng)用場(chǎng)景及其需求,從而編寫出簡(jiǎn)潔且易于復(fù)用的代碼,提高代碼質(zhì)量,便于維護(hù)。

3.TDD的缺點(diǎn)

1) 編寫代碼的效率降低:因?yàn)樾枰帉憸y(cè)試代碼,所以相比其他方法,使用 TDD 需要更多的時(shí)間投入。

2) 前期準(zhǔn)備不足可能造成較大的困難:因?yàn)樾枰獦?gòu)思出每一個(gè)測(cè)試用例,如果前期沒能設(shè)計(jì)好,則后續(xù)的編碼過程會(huì)比較困難。

3) 需要準(zhǔn)確了解系統(tǒng)需求:使用 TDD 需要準(zhǔn)確地理解需求,這對(duì)程序員的精神狀態(tài)和素質(zhì)有不小的考驗(yàn)。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜