오늘은 그동안 강의 결제만 하고 잠시 잊고 있던 TDD 강의를 들었다.
이규원의 현실 세상의 TDD : 안정감을 주는 코드 작성 방법 이라는 강의를 보고 TDD가 과연 무엇인가, 사용하면 뭐가 좋나, 특징은 뭘까에 대해 정리를 했다.
TDD란 Test-Driven-Development의 약자로 '테스트 주도 개발' 이라고 한다.
반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다.
기존 개발 프로세스와 달리 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하여 개발자가 무엇을 해야 하는지를 명확히 한다.
단위 테스트 - Unit Test
하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트이다.
위 그림은 개발 주기를 표현한 것이다.
여기에서 중요한 점은 RED 단계에서 실제 코드를 작성하지 않는 것이다.
그동안 나는 TDD 방식으로 개발을 하지 않았다. 어떻게 해야 하는지도 몰랐었고, 뭔가 많은 테스트를 짜게 되면 더 시간이 오래 걸리게 되지 않을까 하는 걱정 때문에 망설였다.
그리고 테스트 코드를 짜보긴 했지만 돌이켜봤을 땐 테스트라는 개념을 이해하지 못하고 그냥 테스트라는 목적으로 그럴싸한 코드를 작성했던 것 같다.
아무튼 이제라도 한번 TDD 방식을 따라봐야겠다. 처음엔 익숙하지 않아서 어려울 것 같지만 계속 쓰다보면 익숙해지지 않을까 생각한다.