📌 면접 답변
TDD(Test Driven Development)
- 매우 짧은 개발 사이클을 반복하는 개발 프로세스이다.
- 개발자는 요구사항을 검증하는 자동화된 테스트 케이스를 작성
- 테스트 케이스를 통과하기 위한 최소한의 코드를 생성
- 이후 작성한 코드를 리팩토링하는 과정을 반복한다.
TDD 사이클을 반복하다 보면, 작성한 코드가 가지는 불안정성을 개선하고,
결합이 느슨한 시스템으로 점진적으로 나아갈 수 있다.
하지만 TDD가 오히려 비효율적인 경우도 존재하기 때문에 상황에 맞춰서 써야한다.
📌 내 답변
TDD는 서비스를 만들 때, 테스트 케이스 기반으로 만드는 개발 방법이다.
각각의 객체들의 역할과 책임을 테스트 케이스로 작성하여 테스트를 함으로써 개발 속도를 향상시킬 수 있다.
간단한 서비스에서는 TDD가 오래 걸릴 수 있지만, 점점 더 복잡한 서비스일 수록 TDD 방식은 개발의 속도를 높힌다.
Self Feedback
- "기능 구현 전" 에 테스트 코드 먼저 작성 (이런식으로 작성면 좋을 듯)
- 실패 -> 성공 -> 리팩토링 (이 과정의 존재를 몰랐다.)
[출처 및 참고 자료]
https://www.maeil-mail.kr/question/156
매일메일 - 기술 면접 질문 구독 서비스
기술 면접 질문을 매일매일 메일로 보내드릴게요!
www.maeil-mail.kr
'😀 Jerry > 면접 질문' 카테고리의 다른 글
[1분 면접] 함수형 프로그래밍에 대해 설명해주세요. (0) | 2025.04.21 |
---|---|
[1분 면접] URI, URL, URN의 차이점은 무엇인가요? (0) | 2025.04.17 |
[1분 면접] 해시 충돌에 대해서 설명해주세요. (0) | 2025.04.15 |
[1분 면접] JVM에서 GC 대상 객체를 판단하는 기준 (+ JVM 구조) (2) | 2025.04.14 |
[1분 면접] CAP 정리에 대해서 설명해주세요. (0) | 2025.04.11 |