본문 바로가기

개발 도서 리뷰/개발 도서 리뷰

개발 도서 리뷰 (6) 테스트 주도 개발 시작하기 3.5/5.0

 

테스트 주도 개발 시작하기

나의 평점 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에 대해서도 짧게나마 다루고 있다.

 

이론적인 내용보다는 거의 실제로 작성해보며 이해할 수 있는 쉬운 예제들로 구성된 책으로, 단위 작성 기술이 미흡한 나 같은 초보자에게 아주 적합한 책이다.

사실 테스트 코드 작성 같은 경우 인터넷을 찾아봐도 많은 정보를 찾아볼 수 있긴 한데.. 그래도 매번 검색하는 것보다 책장에 꽂아놓고 읽는게 편할 때도 있는 법이다.

 

한줄평 "필요할 때마다 꺼내서 가볍게 읽을 수 있는 책"