테스트 주도 개발 시작하기
나의 평점 3.5/5.0
추천합니다.
TDD를 가벼운 마음으로 체험하고 싶다면.
기본적인 테스트 코드 작성 방법을 익히고 싶다면.
추천하지 않습니다.
TDD만 궁금할 뿐 단위/통합/기능 테스트는 자신 있다면.
TDD를 인터넷에 검색해보면 정말 수많은 의견을 찾아볼 수 있다.
심지어 단순한 의견이 아니라 이걸 두고 싸우는 글도 많이 찾아볼 수 있다.
대체 TDD가 뭐길래 그럴까..? 그냥 테스트 코드 먼저 쓰고 개발하는 게 그렇게 힘든 일인가..?
이 얇고 친절한 책으로 찍먹해봤다. 우선 목차부터 소개하겠다.
목차
1. TDD 개발 준비
: 기본적인 인텔리제이 세팅 방법을 다룬다.
2. TDD 시작
3. 테스트 코드 작동 순서
: 2장에서는 완전히 짧고 단순한 코드로 TDD의 기본 싸이클을 빠르게 체험한다.
3장은 비교적 길고 복잡한 코드로 TDD를 체험하며, 예외처리 및 테스트코드 리팩토링 등을 다룬다.
4. TDD 기능 명세/설계
5. JUnit 5 기초
: 둘 다 정직한 제목과 내용으로, 4장은 TDD 설계에 대해 짧게 다루고 5장은 JUnit의 기본 사용법을 다룬다.
6. 테스트 코드의 구성
: TDD 뿐 아니라 기본적인 테스트에서 지켜져야할 원칙을 짧게 다룬다.
7. 대역
: spy와 mock을 활용한 테스트 방법을 다룬다.
8. 테스트가 어려운 코드
: 역할이 섞여있거나 의존 객체를 직접 생성하는 등의 상황에서 테스트 코드를 작성하는 방법을 다룬다.
9. 테스트 범위와 종류
: 기능 테스트, 통합 테스트, 단위 테스트의 개념과 차이에 대해 다룬다.
10. 테스트 코드와 유지보수
: 테스트 코드를 유지보수하는 상황과, 애초에 유지보수를 줄일 수 있는 방법에 대해 다룬다.
11. 마치며
: TDD는 좋으니 열심히 연습하고 남들한테도 전파하라는 내용이다.
이 책으로 TDD를 찍먹해보고 느낀 점은 TDD는 인간의 본성을 상당히 거스르는 방법론이라는 것이다.
(내가 이런 말을 했었구나. TDD는 짱이다. 테스트 코드는 짱이다. 다만 비효율적인 상황도 있을 뿐이다. 꼭 한 번 시도해보길 권한다. 좋은 경험이다.) - 2023/1/19
TDD 방법론은 마치 저녁 10시에 자고 다음 날 6시에 깨어나서 눈 뜨자마자 침대에서 일어나 한 시간 운동하고 남은 시간은 신문 기사를 읽으며 직접 만든 샐러드로 아침 식사를 하고 하루를 시작하면 건강하고 활기찬 하루를 보낼 수 있다는 것과 비슷하다.
누가 봐도 하면 좋을 건 확실한데 실천하기 어렵다는 말이다.
그리고 TDD를 실천하려면 우선 좋은 설계가 필요하기 때문에, 나 같이 나름대로는 구상해놓고 클래스 한 개 만들 때마다 생각이 바뀌는 수준에서는 배보다 배꼽이 심각하게 커진다.
일단 제대로된 프로젝트를 진행해봐야 실제로 이걸 접목해서 무언가 해볼 수 있을 것 같다. 지금 수준에서는 완전히 무리..
그래서 이 책이 나에게 도움이 안 됐냐고 하면 그것은 아니다, 사실 이 책에서 직접적으로 TDD를 다루는 것은 총 300페이지에서 약 100페이지 정도로, 나머지는 TDD 뿐 아니라 우리가 일반적으로 단위 테스트나 통합 테스트를 작성하는데 도움이 되는 내용들이 담겨있다.
나에게 완전히 새로운 내용들은 아니였지만, 애매하게 알고 있던 부분들을 다시 확인할 수 있어서 좋았다.
또한, JUnit5에 대해 다루고 있는 책들이 많지 않은데 이 책은 2022년에 출간된 따끈따끈한 책으로 JUnit5뿐 아니라 AssertJ에 대해서도 짧게나마 다루고 있다.
이론적인 내용보다는 거의 실제로 작성해보며 이해할 수 있는 쉬운 예제들로 구성된 책으로, 단위 작성 기술이 미흡한 나 같은 초보자에게 아주 적합한 책이다.
사실 테스트 코드 작성 같은 경우 인터넷을 찾아봐도 많은 정보를 찾아볼 수 있긴 한데.. 그래도 매번 검색하는 것보다 책장에 꽂아놓고 읽는게 편할 때도 있는 법이다.
한줄평 "필요할 때마다 꺼내서 가볍게 읽을 수 있는 책"
'개발 도서 리뷰 > 개발 도서 리뷰' 카테고리의 다른 글
개발 도서 리뷰 (8) 만들면서 배우는 클린 아키텍처 4.0 / 5.0 (0) | 2022.10.05 |
---|---|
개발 도서 리뷰 (7) 그림으로 공부하는 IT 인프라 구조 4.0/5.0 (0) | 2022.09.29 |
개발 도서 리뷰 (5) 스프링 시큐리티 인 액션 2.0/5.0 (2) | 2022.09.13 |
개발 도서 리뷰 (4) 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 3.5/5.0 (0) | 2022.09.06 |
개발 도서 리뷰 (3) 한 권으로 읽는 컴퓨터 구조와 프로그래밍 _ 3.5/5.0 (4) | 2022.08.25 |