Test Driven Development의 약자로 ‘테스트 주도 개발
테스트 코드를 작성을 먼저하고, 그것에 맞게 코드를 작성한다.
실패하는 테스트 코드를 작성할 때까지 실제 코드를 작성하지 않는 것
최소 실제 코드를 작성
Red : 실패하는 테스트 코드를 먼저 작성한다.
Green : 테스트 코드를 성공시키기 위한 실제 코드를 작성한다.
Blue : 리팩토링을 수행한다.
🐶 연구 논문 결론 취합
장점
재설계 시간을 단축
코드의 결함이 1/2 ~ 1/10까지 줄어든다.
문제가 없는지 먼저 진단 받을 수 있다. 그러므로 코드가 지닌 불안정성과 불확실성을 지속적으로 해소해준다.
단점
개발 시간이 TDD를 하지않을 때에 비해 대략 10 ~ 30% 늘어남
구조에 얽매힌다.
테스트 코드에 너무 의존하게 되면 실제 코드 구현보다 테스트 코드에 맞게 짜게 된다.