TDD是什么?
发布网友
发布时间:2022-05-05 18:52
我来回答
共1个回答
热心网友
时间:2022-06-27 22:44
TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。
TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
优点:在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能的产品。
缺点:增加代码量。测试代码是系统代码的两倍或更多。
TDD = TFD + Refactoring
(TFD -- Test First Development) 计算机领域: Test Drived Develop
测试驱动开发是一种开发方法,是开发人员参与的活动。 其效果是以可执行的形式文档化你的需求,迫使你分清职责隔离依赖以驱动你的设计,编织安全网以便将Bug扼杀在在摇篮状态,防止其逃逸。可传统测试人员的活动是试图找到已经逃逸的Bug。这两种活动都是必要的,而且毫不冲突,互为补充。
那么测试人员在新的特性还没开发完成之前做什么呢? 除了提前写测试用例,无论是自动化的还是非自动化的,而需要测试人员参加的一项重要活动,就是参与特性验收条件的制定。 之前经常发生开发人员按照自己的理解去编码,测试人员按照自己的理解去测试,直到开发完成,测试过程中才发现理解的不一致,开始产生争执并阻塞等待业务分析人员(如果幸运的话)或者行政主管(如果开发过程混乱的话)的仲裁。 解决办法就是,在开始开发新特性前的一刹那,由业务分析人员,测试人员,开发人员进行一次讨论,就验收条件达成一致并形成记录,然后测试人员和开发人员分头去写测试和实现。
TDD(Time Division Duplexing)
TDD(Time Division Duplexing)时分双工技术,在移动通信技术使用的双工技术之一,与FDD相对应。
在TDD模式的移动通信系统中,基站到移动台之间的上行和下行通信使用同一频率信道(即载波)的不同时隙,用时间来分离接收和传送信道,某个时间段由基站发送信号给移动台,另外的时间由移动台发送信号给基站。基站和移动台之间必须协同一致才能顺利工作。
FDD模式的特点是在分离的两个对称频率信道上,进行接收和传送,用保证频段来分离接收和传送信道。某些系统中上下行频率间隔可以达到190MHz。
与FDD相比,TDD具有一些独到的优势,也有一些明显的不足。
优势: (1)使用TDD技术时,只要基站和移动台之间的上下行时间间隔不大,小于信道相干时间,就可以比较简单的根据对方的信号估计信道特征。而对于一般的FDD技术,一般的上下行频率间隔远远大于信道相干带宽,几乎无法利用上行信号估计下行,也无法用下行信号估计上行;这一特点使得TDD方式的移动通信*在功率控制以及智能天线技术的使用方面有明显的优势。
(2)TDD技术可以灵活的设置上行和下行转换时刻,用于实现不对称的上行和下行业务带宽,有利于实现明显上下行不对称的互联网业务。但是,这种转换时刻的设置必须与相邻基站协同进行。
(3)与FDD相比,TDD可以使用零碎的频段,因为上下行由时间区别,不必要求带宽对称的频段。
(4)TDD技术不需要收发隔离器,只需要一个开关即可。
不足: (1)移动台移动速度受*。在高速移动时,多普勒效应会导致快衰落,速度越高,衰落变换频率越高,衰落深度越深,因此必须要求移动速度不能太高。例如在使用了TDD的TD-SCDMA系统中,在目前芯片处理速度和算法的基础上,当数据率为144kb/s时,TDD的最大移动速度可达250km/h,与FDD系统相比,还有一定差距。一般TDD移动台的移动速度只能达到FDD移动台的一半甚至更低。
(2)覆盖半径小。也是由于上下行时间间隔的缘故,基站覆盖半径明显小于FDD基站。否则,小区边缘的用户信号到达基站时会不能同步。
(3)发射功率受限。如果TDD要发送和FDD同样多的数据,但是发射时间只有FDD的大约一半,这要求TDD的发送功率要大。
(4)需要更复杂的网络规划和优化技术。