😀 Jerry/면접 질문

[1분 면접] 테스트 주도 개발이 무엇인가요 ?

Jerry_K 2025. 4. 16. 12:25

📌 면접 답변

TDD(Test Driven Development)

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

 

TDD 사이클을 반복하다 보면, 작성한 코드가 가지는 불안정성을 개선하고,

결합이 느슨한 시스템으로 점진적으로 나아갈 수 있다.

하지만 TDD가 오히려 비효율적인 경우도 존재하기 때문에 상황에 맞춰서 써야한다. 


📌 내 답변

TDD는 서비스를 만들 때, 테스트 케이스 기반으로 만드는 개발 방법이다. 

각각의 객체들의 역할과 책임을 테스트 케이스로 작성하여 테스트를 함으로써 개발 속도를 향상시킬 수 있다. 

간단한 서비스에서는 TDD가 오래 걸릴 수 있지만, 점점 더 복잡한 서비스일 수록 TDD 방식은 개발의 속도를 높힌다.

 

Self Feedback

  • "기능 구현 전" 에  테스트 코드 먼저 작성 (이런식으로 작성면 좋을 듯)
  • 실패 -> 성공 -> 리팩토링  (이 과정의 존재를 몰랐다.)

[출처 및 참고 자료]

https://www.maeil-mail.kr/question/156

 

매일메일 - 기술 면접 질문 구독 서비스

기술 면접 질문을 매일매일 메일로 보내드릴게요!

www.maeil-mail.kr