TDD는 Test Driven Developmen의 약어로 테스트 주도 개발을 말함
소프트웨어 개발 방법중 하나로, 테스트코드를 이미 만들어논 다음 그에 대한 코드를 작성 하는 방법임
TDD의 장단점
TDD의 장점은
실패 코드를 작성하고 이 실패코드를 프로그래밍함으로써 프로그래밍 중 나타나는 오류들을 최소화시킬 수 있음
등장하는 오류들의 원인이 무엇인지 파악하기 쉬운 편임
그래서 리펙토링을 통해 시간을 줄일수 있음
추가적으로 문제가 무엇인지 알기 때문에 안정성이 높고 생각지못한 아이디어를 구현하기 좋음
이와는 별개로 단점도 있는데 단점은
실패 코드를 작성 후에 정상적인 코드를 작성 함으로 개발 속도가 늦을 수 있음
TDD는 코드를 작성하는 방법 중 하나에 불과한대도 실제 코드 작성보다 TDD 를 우선하는 경우가 생길
인간 이기 때문에 모든 예외 상황을 정리 할 수 없을 수 있어 생각지 못한 부분에서 문제가 생길 수 있음