TDD是测试驱动开发(Test-Driven Development)的简称,是敏捷开发的核心实践和技术,也是一种设计方法,它主要确保以下两点:
确保所有的需求都被照顾到了。
随着代码的不断添加和重构,所有的功能都能被检查出正确性。
TDD有以下优点:
在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能和能够发布的产品。
保障代码的正确性,能够迅速发现、定位bug。针对关键代码的测试集,以及不断完善的测试用例,为迅速发现、定位bug提供了条件。
TDD的步骤如下图所示:
首先编写测试代码,并执行它以获得失败的结果。
编写执行代码以使测试通过。
重构代码,确保测试通过。
重复做这个步骤 测试失败 -> 测试成功 -> 重构。
tdd和fdd有哪些区别1.双工模式,TDD:时分双工,发射器和接收器共享一个射频点,上行和下行使用不同的时隙进行通信。 FDD:频分双工,使用不同的射频点相互通信。
2. 速度,理论上,在相同的带宽条件下,如FDD 10M和20M,TDD的速率会比FDD低。这主要是因为TDD帧结构有被称为特殊子帧的帧,这些帧的一部分将被浪费(如保护时隙)而不传输任何数据,而FDD帧没有这种完全浪费。
3.覆盖率,TD-LTE 适用于热点覆盖,FDD 适用于广域覆盖。高通公司早期的报告显示,在相同的频率和相同的功率下,FDD 可以提供比 TDD 更好的覆盖,而 TDD 的覆盖比 FDD 小 80%(DL/UL=2: 1)/40%(DL/UL=1: 1)。主要原因是TDD上行链路的传输功率(10ms帧内)比FDD短。
4.移动台的移动速度,FDD是一个连续控制系统,TDD是一个分时控制系统。当高速移动时,多普勒效应将导致快速衰减。速度越高,衰减频率越高,衰减深度越深。基于目前的芯片处理速度和算法,当数据速率为144kb/s时,TDD的最大移动速度可以达到250km/h,这与FDD系统相比仍有很大差距。TDD移动台的移动速度只能达到FDD移动台的一半甚至更低。