😀 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