열심히 살아나갈 사람
article thumbnail
Published 2023. 12. 9. 22:31
TDD(Test-Driven Development) CS

출처 : 패스트캠퍼스 Red

TDD(Test-Driven Development)는 소프트웨어 개발 방법론 중 하나로, 테스트가 개발을 주도하는 방식을 의미합니다. TDD는 다음과 같은 순서로 진행됩니다:

  1. 실패하는 단위 테스트 작성: 먼저, 아직 구현되지 않은 기능에 대한 실패하는 테스트를 작성합니다. 이 테스트는 처음에는 실패하며, 이는 아직 해당 기능이 구현되지 않았기 때문입니다.
  2. 테스트를 통과하는 코드 작성: 그 다음, 테스트를 통과할 수 있도록 최소한의 코드를 작성합니다. 이 단계에서는 코드의 품질보다는 테스트를 통과하는 것이 목표입니다.
  3. 코드 리팩토링: 마지막으로, 코드의 품질을 향상시키기 위해 리팩토링을 진행합니다. 이 단계에서는 중복을 제거하고, 가독성을 높이며, 코드의 구조를 개선하는 작업을 진행합니다.

이 세 단계를 반복하며 소프트웨어를 개발하는 것이 TDD의 핵심 원리입니다. 이 방법론은 코드의 품질을 높이고, 버그를 줄이며, 리팩토링과 기능 추가를 더 안전하게 진행할 수 있도록 돕습니다.

TDD의 주요 장점은 다음과 같습니다:

  • 테스트 케이스가 먼저 작성되기 때문에, 요구 사항을 더 명확하게 이해할 수 있습니다.
  • 코드의 품질이 높아지며, 장기적으로 유지보수 비용을 줄일 수 있습니다.
  • 리팩토링이 용이하며, 코드 변경에 대한 두려움을 줄일 수 있습니다.

그러나 TDD에도 몇 가지 주의할 점이 있습니다:

  • TDD는 소프트웨어 개발의 초기 단계부터 투입되어야 효과적입니다.
  • 테스트 케이스 작성에 시간과 노력이 필요하며, 이를 위한 충분한 이해와 능력이 요구됩니다.
  • 잘못된 테스트 케이스는 잘못된 기능을 만들어낼 수 있으므로, 테스트 케이스의 품질에도 주의를 기울여야 합니다.
profile

열심히 살아나갈 사람

@쿼리_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!