TDD를 처음 적용하면서 겪은 시행착오와 실제 효과를 정리한 결
인턴 과제로 장바구니 할인 적용 모듈을 TDD로 짜봤습니다. 처음에는 테스트를 먼저 쓰는 것이 느리고 억지스럽게 느껴졌는데, 할인 조건이 10가지를 넘어가면서 의도치 않은 규칙 충돌이 생겼고, 사전에 작성한 테스트가 그 충돌을 즉시 잡아줬습니다. 테스트 없이 짰던 비슷한 모듈과 비교했을 때 버그 수정 횟수가 절반 이하였습니다. 처음 속도가 느렸지만, 요구사항이 중간에 바뀌었을 때 기존 테스트가 회귀를 막아줘서 수정 범위도 예측이 됐고 전체 개발 속도는 오히려 빨랐습니다. 이 경험으로 TDD는 느린 방법이 아니라 변경 비용을 낮추는 방법이라는 것을 직접 체감했습니다.