Web

TDD 테스트 주도 개발

noeul_noeul__ 2024. 6. 15. 00:56

TDD란?

TDD는 소프트웨어 개발 방법론 중 하나로, 테스트 케이스를 먼저 작성한 후 그 테스트를 통과하는 실제 코드를 구현하는 반복적인 

개발 프로세르를 말한다. 

 

TDD 프로세스 

TDD는 다음과 같은 반복적인 단계로 진행된다. 

  • Red - 실패하는 테스트 케이스를 작성한다. 
  • Green - 가능한 빠르게 테스트를 통과하는 최소한의 코드를 작성한다. 
  • Refactor - 코드를 리팩토링하여 중복을 제거하고 가독성을 높인다.

이 과정을 반복하여 점진적으로 기능을 구현해 나간다. 

 

TDD의 장점 

  • 높은 코드 품질 - 테스트 케이스 기반으로 개발하므로 버그가 적고 유지보수성이 높아진다. 
  • 자신감 있는 리팩토링 - 테스트 케이스가 존재하므로 코드 변경 시 안전성이 높아집니다. 
  • 명확한 요구사항 정의 - 테스트 케이스를 먼저 작성하므로 요구사항을 명확히 정의할 수 있다. 

TDD의 단점 

  • 초기 생산성 저하 - 테스트 코드 작성으로 인해 초기 개발 속도가 느릴 수 있다.
  • 모든 상황에 적합하지 않다 - 데드라인이 임박한 경우 등 상황에 따라 TDD 적용이 어려울 수 있다. 
  • 학습 곡선 - TDD 방식에 익숙해지기까지 시간이 걸릴 수 있다. 

'Web' 카테고리의 다른 글

Redis란 ?  (0) 2024.06.19
웹소켓이란?  (0) 2024.06.17
3계층 레이어란  (0) 2024.06.14
빈약한 도메인 모델  (0) 2024.06.12
SOLID 원칙  (0) 2024.06.11