테스트 주도 개발(TDD)

SEUNGJUN·2024년 1월 6일
0

테스트 주도 개발 (TDD)

테스트 주도 개발(Test-Driven Development, TDD)은 소프트웨어 개발 방법론 중의 하나로, 간단하게 말하면 코드를 작성하기 전에 테스트를 먼저 작성하는 개발 방법이다.

TDD 단계

1. 테스트 작성 단계 (Red):

새로운 기능이나 변경 사항을 도입하려면 먼저 그 기능을 테스트하는 테스트 케이스를 작성한다. 이때 아직 해당 기능은 구현되지 않았기 때문에 테스트는 실패한다.

2. 코드 작성 단계 (Green):

테스트가 실패하는 것을 확인한 후에, 이제 해당 테스트를 통과할 수 있도록 코드를 작성한다. 기능을 최소한으로 구현하고 테스트를 통과하도록 만드는 것이 핵심이다.

3. 리팩토링 단계 (Refactor):

테스트를 통과한 후에는 작성한 코드를 리팩토링하여 코드의 가독성, 구조, 성능 등을 향상시킨다. 이때 리팩토링은 기능의 변경 없이 코드의 품질을 높이는 작업을 의미 한다.

TDD 이점

  • 신뢰성 확보: 테스트 케이스가 코드의 기능을 정확하게 정의하고 있기 때문에 테스트를 통과하는 코드는 예상대로 동작하는 것으로 간주할 수 있다.
  • 설계의 향상: 테스트 코드 작성 시 코드의 사용성, 모듈화, 의존성 등에 대한 설계 고민이 발생하게 되어 좀 더 견고하고 유연한 구조의 코드를 얻을 수 있다.
  • 지속적인 통합과 배포: 테스트 코드를 자동화된 테스트 스위트로 구성하면 지속적 통합과 배포 시에 코드 변경에 대한 검증이 자동으로 이루어져 안정적인 소프트웨어 개발이 가능하다.
  • 문서화 역할: 테스트 코드는 코드의 사용법과 예상 동작을 제공하는 추가적인 문서 역할을 한다.

profile
RECORD DEVELOPER

0개의 댓글

관련 채용 정보