TDD 이전의 개발 플로우는 아래와 같습니다.
과정 2에서 한 번에 작성한 코드가 많은 경우 디버깅 시간 또한 늘어났습니다. 디버거를 이용해 코드를 한 줄씩 따라가면서 원인을 찾아다녔고 종종 최초에 코드를 작성한 시간보다 버그를 찾는 시간이 더 오래 걸리는 경우가 발생하였습니다.
종종 코드를 작성하는 개발자와 테스트하는 개발자가 다른 경우가 있습니다.
종종 테스트를 위한 환경이 자동화되지 않은 경우 일일히 작업해주어야 하는 경우가 있습니다. 예를 들어 외장 톰캣을 사용하는 경우, 개발자는 애플리케이션을 테스트하기 위해 외장 톰캣 서버를 구동시킬 환경을 로컬 PC에 마련하고, 코드에 조금의 변경이 발생하면 톰캣 서버를 재구동해야 했습니다. 또한 데이터가 올바른지 확인하려고 DB에 접속해 SELECT 쿼리를 실행해야 했고, 아이디 중복 기능을 테스트하기 위해 INSERT 쿼리로 데이터를 미리 넣었어야 했습니다.
다음 글:
최범균 작가님의 '테스트 주도 개발 시작하기' 책을 공부한 내용입니다