CS
[CS]TDD란?
그레고리력
2021. 4. 20. 20:30
TDD란?
- Test Driven Development :테스트 주도 개발
- 개발을 한 후 테스트를 진행하는 일반 개발방법과는 달리 테스트를 먼저 만들고 테스트를 통과하기 위해 개발을 진행해 나가는 것
- 결정과 피드백 사이의 갭을 조절하는 것이 핵심
TDD가 유용한 경우?
- 불확실성이 높을 때(= 예상하기 어렵거나 변동성이 높은 개발을 진행할 때)
- 개발하는 중에 코드를 바꿔야 하거나 내가 아닌 다른 사람이 유지보수를 하게 될 경우 등
- 테스트 코드에는 개발자의 고민 과정이나 결정 과정이 나와있고 테스트 코드를 통해 협업이 쉬워질 수 있다
TDD의 단점과 한계
- 2개의 코드를 작성해야 하므로 개발 시간이 늘어난다.
- TDD 개발 방법 자체가 낯설고 어렵다.