테스트 피라미드와 단위의 범위
개요 TDD로 만들어지는 테스트는 대부분 빠른 저수준 테스트다. 그런데 저수준 테스트만으로는 조립된 시스템이 동작한다는 보장이 없고, 반대로 고수준 테스트만 쌓으면 빌드가 느려지고 잘 깨진다. 어떤 종류의 테스트를 어떤 비율로 둘 것인가를 다루는 것이 테스트 피라미드다. 이 질문은 TDD 개요에서 정리한 “TDD is dead” 논쟁이 최종적으로 수렴한 지점이기도 하다. 쟁점은 TDD를 하느냐 마느냐가 아니라 테스트 포트폴리오를 어떻게 구성하느냐였다. 피라미드 핵심 주장은 한 문장이다. GUI를 통과하는 고수준 테스트보다 저수준 단위 테스트가 훨씬 많아야 한다. ...