TDD 시작하기

IMKUNYOUNG·2023년 1월 21일
0
post-thumbnail

TDD 이전의 개발

TDD 이전의 개발 플로우는 아래와 같습니다.

  1. 만들 기능에 대해 내부 설계 고민하기
  2. 과정 1을 수행하면서 구현에 대해서도 고민 (ex, 이렇게 설계했을 시 코드는 어떻게 짜면 되지? 생산성은 얼마나 될까?)
  3. 기능에 대한 구현을 완료하면 기능을 테스트. 이 과정에서 문제가 발생하면 작성한 코드를 디버깅

테스트 단계에서 흔히 겪는 어려움

case 1

과정 2에서 한 번에 작성한 코드가 많은 경우 디버깅 시간 또한 늘어났습니다. 디버거를 이용해 코드를 한 줄씩 따라가면서 원인을 찾아다녔고 종종 최초에 코드를 작성한 시간보다 버그를 찾는 시간이 더 오래 걸리는 경우가 발생하였습니다.


case 2

종종 코드를 작성하는 개발자와 테스트하는 개발자가 다른 경우가 있습니다.


case 3

종종 테스트를 위한 환경이 자동화되지 않은 경우 일일히 작업해주어야 하는 경우가 있습니다. 예를 들어 외장 톰캣을 사용하는 경우, 개발자는 애플리케이션을 테스트하기 위해 외장 톰캣 서버를 구동시킬 환경을 로컬 PC에 마련하고, 코드에 조금의 변경이 발생하면 톰캣 서버를 재구동해야 했습니다. 또한 데이터가 올바른지 확인하려고 DB에 접속해 SELECT 쿼리를 실행해야 했고, 아이디 중복 기능을 테스트하기 위해 INSERT 쿼리로 데이터를 미리 넣었어야 했습니다.


다음 글:


최범균 작가님의 '테스트 주도 개발 시작하기' 책을 공부한 내용입니다

0개의 댓글