면접에서 TDD의 특징을 물어보았다.
TDD에 대해서 배우고 간단하게 적용해보면서 느낀 점을 아래와 같은 내용으로 답변했다.
- 테스트 코드를 작성하면서 요구사항 명세서를 구체화할 수 있다.
- 요구사항 명세서를 기반으로 작성된 테스트는 요구사항 명세서를 검증하는 역할을 한다
(= 요구사항 명세서가 테스트 코드 형식으로 작성된 것이다.)- 다른 사람과의 협업을 하면서, 코드의 유지보수가 편해진다.
- 코드의 재사용성이 보장된다
대충 4가지 정도를 언급했는데 1, 2번 의 대답이 개발자가 아니라 너무 PM이나 컨설턴트적인 시각에서 대답하는 것이 아니냐라는 꼬리질문에 좀 당황했다.
개인 프로젝트를 제외하더라도 에이블스쿨 전, 후로 팀 프로젝트에서 리더 역할 혹은 회의 보고, 발표를 많이 하다보니 이런 대답을 한 것 같았다.
실제로도 최종 빅프로젝트에서 6주정도 팀장 역할을 맡고, 매 주 2회씩 조별, 반별 회의에서 PM의 입장에서 보고를 하다보니 방금 전과 같은 대답한 것 같다라고 답변했는데 딱히 좋아하는 눈치는 아니였는데 더 괜찮은 대답이 무엇이 있었을지 조금 후회되는 부분이다.