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