Test-driven developmentIt is a core practice and technology in Agile development and a design methodology. The principle of TDD is to write unit test case code before developing function code, and test code to determine the product code to be written. Although TDD is the core practice of agile methods, it is not only applicable to XP (eXtreme Programming), but also to other development methods and processes.
The basic idea of TDD is to promote the whole development through testing. However, testing-driven development is not just a test, but a process of quantifying the demand analysis, design, and quality control.
The important purpose of TDD is not only to test software, but also to ensure code quality. It also helps customers and programmers to remove ambiguous requirements during development. TDD first considers the use requirements (objects, functions, processes, interfaces, etc.). It mainly designs the functional processes and interfaces by writing the test case framework, and the test framework can be continuously verified.
Advantage: Any development node can come up with a product that can be used with a small number of bugs and certain functions.
Disadvantage: increase the amount of code. The test code is twice or more than the system code.
TDD = TFD + refactoring
(TFD -- test first Development)
Computer field:
Test drived develop
Test-driven development is a development method and activities attended by developers. The effect is to document your needs in an executable form, forcing you to differentiate responsibility isolation dependencies to drive your design, weaving security nets so that bugs can be killed in the cradle to prevent them from escaping. However, traditional testers try to find bugs that have escaped. These two kinds of activities are necessary, and they do not conflict with each other and complement each other.
So what do testers do before new features are developed? In addition to writing test cases in advance, whether it is automated or not, but an important activity that requires testers to participate is to participate in the formulation of feature acceptance conditions. In the past, developers often coded according to their own understanding. Testers tested according to their own understanding until the development was completed and the inconsistency was discovered during the test, start to dispute and block arbitration waiting for business analysts (if Lucky) or executives (if the development process is messy. The solution is to discuss with the business analysts, testers, and developers before developing new features to reach an agreement on the acceptance conditions and form a record, then the testers and developers write the test and implementation separately.
TDD (Time Division Duplexing) technology, one of the duplex technologies used in mobile communication technology, corresponds to FDD.
In TDD-based mobile communication systems, uplink and downlink communication between the base station and the mobile station uses different time slots of the same frequency channel (that is, the carrier), and uses time to separate the receiving and transmitting channels, in a certain period of time, the base station sends signals to the mobile station, and in another period, the mobile station sends signals to the base station. The coordination between the base station and the mobile station must be consistent in order to work smoothly.
The FDD mode is characterized by receiving and transmitting on two separated symmetric frequency channels, and separating the receiving and transmitting channels by ensuring the frequency band. In some systems, the uplink/downlink frequency interval can reach 190 MHz.
Compared with FDD, TDD has some unique advantages and obvious shortcomings.
Advantages:
(1) When TDD technology is used, as long as the upstream and downstream time intervals between the base station and the mobile station are not large and smaller than the channel coherent time, it is easier to estimate the channel features based on the signal of the other party. For FDD technology, the frequency interval between upstream and downstream operations is much higher than that of channel coherent bandwidth. Therefore, the uplink signal cannot be used to estimate the downlink operation, and the downlink signal cannot be used to estimate the uplink operation; this feature makes TDD mobile communication systems have obvious advantages in power control and the use of smart antenna technology.
(2) TDD technology can flexibly set the uplink and downlink conversion time to achieve asymmetric uplink and downlink bandwidth, which is conducive to the implementation of Internet businesses with obvious upstream and downstream asymmetry. However, the setting of the conversion time must be performed in collaboration with adjacent base stations.
(3) compared with FDD, TDD can use fragmented frequencies. Because upper and lower bandwidths differ from time, bandwidth symmetric frequencies are not required.
(4) TDD technology does not require a transceiver or isolator, but only requires a switch.
Disadvantages:
(1) The movement speed of the mobile device is limited. During High-speed moving, the Doppler effect will lead to fast fading. The higher the speed, the higher the fading conversion frequency and the deeper the fading depth. Therefore, the moving speed must not be too high. For example, in the TDD TD-SCDMA system, based on the current chip processing speed and algorithm, when the data rate is 144kb/s, the maximum movement speed of TDD can reach 250 km/h, there is still a gap with the FDD system. Generally, TDD mobile stations can only move half or even lower of FDD mobile stations.
(2) The coverage radius is small. Because of the uplink and downlink time interval, the coverage radius of the base station is significantly smaller than that of the FDD base station. Otherwise, user signals at the edge of the cell cannot be synchronized when they reach the base station.
(3) Limited transmit power. If TDD needs to send the same amount of data as FDD, but the launch time is only about half of the FDD, this requires a high sending power of TDD.
(4) more complex network planning and optimization technologies are required.
At present, the 3G Technical Standard TD-SCDMA proposed by China is the only three 3G standards using TDD technology standards.