본문으로 건너뛰기

테스트 코드가 주는 혜택

디버깅 감소​

테스트를 한 번 작성해두면 프로젝트의 생존 주기동안 값비싼 결함을 예방해 준다.
또한 전체적인 결함이 해결되어 디버깅에서 해방시켜준다.
소프트웨어 장인 정신 이야기에서 언급된 TDD heuristics 15. 디버거 사용을 피하라 와 연결되는 내용이다.

자신 있게 변경​

소프트웨어는 항상 변경된다.
리팩터링할 때 자신감을 가지고 변경 사항을 반영할 수 있다.

더 나은 문서 자료​

하나의 행위만 집중해 검증하는 테스트는 실행 가능한 문서와 같다.
이 때 테스트는 명확하고 간결해야지만 문서 자료로서의 역할을 훌륭히 수행할 수 있다.

더 단순한 리뷰​

정확성, 극단 상황, 오류 상황 등의 다양한 측면에서 코드를 검사해주는 테스트가 준비되어 있다면 리뷰어가 검증하는 시간을 크게 줄여준다.

사려 깊은 설계​

새로 작성한 코드의 테스트를 작성하는 일은 실질적으로 해당 코드의 API가 잘 설계되어 있는지를 시험하는 행위다.
테스트하기 어려운 코드는 너무 많은 책임을 가지고 있거나, 의존성이 복잡한 경우가 많다.
잘 설계된 코드라면 모듈화가 잘 되어있어야 한다.

고품질의 릴리스를 빠르게​

자동화된 테스트를 갖춘다면 새로운 버전을 릴리스할 때 불안에 떨지 않아도 된다.

참고 자료​

구글 엔지니어는 이렇게 일한다, 타이터스 윈터스, 톰 맨쉬렉, 하이럼 라이트 p.288