TDD是測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test-Driven Development)的簡(jiǎn)稱(chēng),是敏捷開(kāi)發(fā)的核心實(shí)踐和技術(shù),也是一種設(shè)計(jì)方法,它主要確保以下兩點(diǎn):
確保所有的需求都被照顧到了。
隨著代碼的不斷添加和重構(gòu),所有的功能都能被檢查出正確性。
TDD有以下優(yōu)點(diǎn):
在任意一個(gè)開(kāi)發(fā)節(jié)點(diǎn)都可以拿出一個(gè)可以使用,含少量bug并具一定功能和能夠發(fā)布的產(chǎn)品。
保障代碼的正確性,能夠迅速發(fā)現(xiàn)、定位bug。針對(duì)關(guān)鍵代碼的測(cè)試集,以及不斷完善的測(cè)試用例,為迅速發(fā)現(xiàn)、定位bug提供了條件。
TDD的步驟如下圖所示:
首先編寫(xiě)測(cè)試代碼,并執(zhí)行它以獲得失敗的結(jié)果。
編寫(xiě)執(zhí)行代碼以使測(cè)試通過(guò)。
重構(gòu)代碼,確保測(cè)試通過(guò)。
重復(fù)做這個(gè)步驟 測(cè)試失敗 -> 測(cè)試成功 -> 重構(gòu)。
tdd和fdd有哪些區(qū)別1.雙工模式,TDD:時(shí)分雙工,發(fā)射器和接收器共享一個(gè)射頻點(diǎn),上行和下行使用不同的時(shí)隙進(jìn)行通信。 FDD:頻分雙工,使用不同的射頻點(diǎn)相互通信。
2. 速度,理論上,在相同的帶寬條件下,如FDD 10M和20M,TDD的速率會(huì)比FDD低。這主要是因?yàn)門(mén)DD幀結(jié)構(gòu)有被稱(chēng)為特殊子幀的幀,這些幀的一部分將被浪費(fèi)(如保護(hù)時(shí)隙)而不傳輸任何數(shù)據(jù),而FDD幀沒(méi)有這種完全浪費(fèi)。
3.覆蓋率,TD-LTE 適用于熱點(diǎn)覆蓋,F(xiàn)DD 適用于廣域覆蓋。高通公司早期的報(bào)告顯示,在相同的頻率和相同的功率下,F(xiàn)DD 可以提供比 TDD 更好的覆蓋,而 TDD 的覆蓋比 FDD 小 80%(DL/UL=2: 1)/40%(DL/UL=1: 1)。主要原因是TDD上行鏈路的傳輸功率(10ms幀內(nèi))比FDD短。
4.移動(dòng)臺(tái)的移動(dòng)速度,F(xiàn)DD是一個(gè)連續(xù)控制系統(tǒng),TDD是一個(gè)分時(shí)控制系統(tǒng)。當(dāng)高速移動(dòng)時(shí),多普勒效應(yīng)將導(dǎo)致快速衰減。速度越高,衰減頻率越高,衰減深度越深?;谀壳暗男酒幚硭俣群退惴ǎ?dāng)數(shù)據(jù)速率為144kb/s時(shí),TDD的最大移動(dòng)速度可以達(dá)到250km/h,這與FDD系統(tǒng)相比仍有很大差距。TDD移動(dòng)臺(tái)的移動(dòng)速度只能達(dá)到FDD移動(dòng)臺(tái)的一半甚至更低。