이 장에서는 정통적인 방식의 단위 테스트가 무엇인지 살펴보고 통합 테스트와 비교해 보려고 한다. 단위 테스트와 통합 테스트는 서로 헷갈리기 쉬운 개념이지만 매우 중요한 개념이기에 명확히 구분할 줄 알아야 한다. 책 후반부에서 살펴보겠지만, 단위 테스트의 신뢰도를 높이려면 다른 종류의 테스트와 명확히 분리할 줄 아는 것이 중요하다.
또 단위 테스트와 통합 테스트의 장단점도 이야기하고 ‘좋은’ 단위 테스트가 무엇을 의미하는지도 다룰 예정이다. 테스트 주도 개발(Test-Driven Development, TDD)도 살펴볼 텐데, TDD는 단위 테스트와 연관되어 있지만 별도의 기술이다. 이 책은 TDD를 집중적으로 다루지는 않지만, 꼭 한 번 공부해 보길 바라는 기술이라 간단하게나마 소개하려고 한다. 이 장을 살펴보면서 다른 장에서 다루는 개념도 간략하게 짚고 넘어갈 것이다.
먼저 단위 테스트가 무엇인지부터 알아보자.