종식당

테스트 주도 개발 본문

매일메일

테스트 주도 개발

종식당 2025. 4. 29. 13:46
728x90
반응형

🤠 TDD (Test  Driven Development)

테스트 주도 개발은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스이다. 개발자는 먼저 요구상항을 검증하는 자동화된 테스트 케이스를 작성한다. 그 이후에는 테스트 케이스를 통과하기 위한 최소한의 코드를 생성하고, 작성한 코드를 리팩토링하는 과정을 반복한다.

테스트 주도 개발 사이클에는 다음과 같이 몇 가지 의식할 부분들이 존재한다.

  • 일단 간단하고, 해보기 쉬운 것을 먼저 시도한다.
  • 실패하는 테스트를 통과하기 위해서는 최소한의 코드를 작성해야 한다.
  • 테스트를 점점 구체화할수록 프로덕션 코드는 점점 범용적으로 된다. (커버 가능한 케이스가 점점 많아진다.)
  • 실패하는 테스트가 있을 때만 프로덕션 코드를 작성한다.
  • 실패를 나타내는 데 충분한 정도의 테스트만 작성한다.

위와 같은 부분들을 의식하면서, 테스트 주도 개발 사이클을 반복하다 보면, 작성한 코드가 가지는 불안정성을 개선하여 생산성을 높일 수 있다. 또한, 테스트 가능하며 결합이 느슨한 시스템을 점진적으로 만들어 나갈 수 있다.

하지만 테스트 주도 개발이 오히려 비효율적인 경우도 존재하기 때문에 다른 모든 기술과 마찬가지로 비판적으로 사고하는 것이 중요하다.

728x90
반응형

'매일메일' 카테고리의 다른 글

대칭키 및 비대칭키 암호화 방식  (0) 2025.04.30
JVM에서 GC 대상 객체를 판단하는 기준  (0) 2025.04.30
응집도와 결합도  (0) 2025.04.28
CAP 정리  (0) 2025.04.24
캐시 스탬피드 현상  (1) 2025.04.22