TDD(Test-Driven Development)

mangez_js·2024년 12월 3일

Study

목록 보기
23/47

TDD

소프트웨어 개발 방법론 중 하나로, 테스트를 먼저 작성한 후 코드 구현을 진행하는 방식을 의미합니다.

주요과정

  1. Red(실패하는 테스트 작성)
  • 구현할 기능에 대한 테스트 코드를 작성합니다.
  • 이때, 아직 기능이 구현되지 않았기 때문에 테스트는 실패(Red)하게 됩니다.
  1. Green(테스트 통과를 위한 코드 작성)
  • 테스트를 통과할 수 있는 최소한의 코드를 작성합니다.
  • 테스트가 통과(Green)되면, 기능이 요구사항에 맞게 작동하고 있음을 확인할 수 있습니ㅏㄷ.
  1. Refactor(코드 개선)
  • 테스트를 통과한 코드를 리팩터링하여 더 효율적이고 가독성이 높은 코드로 개선합니다.
  • 리팩터링 과정에서도 기존의 테스트가 계속 통과하는지 확인합니다.

장점

  • 버그 감소
    ∘ 기능이 테스트로 검증되므로 코드의 신뢰성이 높아집니다.
  • 요구사항 반영
    ∘ 테스트가 요구사항을 기반으로 작성되기 때문에 누락된 부분을 최소화합니다.
  • 리팩터링 용이
    ∘ 리팩터링 시 기존 테스트를 통해 기존 기능이 제대로 동작하는지 보장됩니다.
  • 유지보수성 향상
    ∘ 테스트 코드는 문서처럼 동작해 향후 유지보수를 쉽게 만듭니다.

단점

  • 요구사항이 명확하고 기능 단위로 나뉘는 프로젝트
  • 장기적인 유지보수와 코드 품질이 중요한 프로젝트
  • 자동화된 테스트를 통해 빠르게 피드백을 받을 필요가 있는 경우

0개의 댓글