본문 바로가기
개발/개발론

테스트 주도 개발

by hongdor 2022. 4. 21.
728x90

테스트 주도 개발 - YES24

 

테스트 주도 개발 - YES24

Test-Driven Development: By Example아름다운 코드와 즐거운 개발을 위한 테스트 주도 개발테스트 주도 개발은 학계와 업계에서 많은 주목을 받아온 프로그래밍 방법으로, 여러 연구 논문과 실례를 통해

www.yes24.com

 

yes24 에서 평점이 10.0인 책 켄트 백의 <테스트 주도 개발>(TDD) 을 읽었다.

 

저자 켄트 백의 말장난이 책 속 곳곳에 녹아 있다. 

책 제목도 <테스트 주도 개발: 예시에 의한> 인데, 부제로 예시에 의한 이라는 말이 들어가 있다.

테스트를 예시(테스트)로 설명한다는 말장난이다.

 

TDD의 개념을 알기전에 테스트 코드를 작성한적이 있었다.

테스트 주도 개발의 개념을 보고, 어떻게 테스트 코드를 본 코드보다 먼저 작성하는지 의아했다.

 

테스트 코드를 먼저 작성하면, 모든 코드에 빨간 줄이 뜰텐데 그 이후에 코드를 작성하며 빨간줄을

없애 나가는 참신한 방법이었다.

 

테스트 코드에 익숙하지 않은 나같은 사람들이 하는 가장 큰 걱정은 테스트코드 작성에 들어가는 시간과 노력이다.

 

하지만 이책을 읽다보면 작가의 설명과 설득에 빠져들어 나도 한번 해볼까? 하는 마음을 갖게 된다.

예시 코드를 직접 써 내려가며 친절하게 독자에게 TDD를 설명해주고,

이에 더해 독자가 품을 수 있는 의문이나 질문들에 대해서도 친절하게 설명해준다. 

 

책 내용 중에 기억에 남는 내용들이 있다.

설계를 먼저 하려고 하지 말아라는 것이다.
저자에 의하면 테스트를 통해 코드를 작성하다 보면 생각지도 못한 좋은 설계가 만들어 지는 경우도 있다는 것이다.

 

TDD의 핵심 중 하나는 짧은 주기로 돌아가는 피드백이다.

테스트 - 리팩토링 - 테스트 - 리팩토링  을 반복한다.
테스트때는 오로지 테스트 통과에만 집중한다. 심지어, 그냥 하드코딩으로 테스트를 통과 시키기도 한다.
이후 리팩토링때는 리팩토링에만 집중한다. 중복 코드를 줄이고, 구조를 바꾸는게 더 나으면 구조를 변경한다.

테스트코드를 작성할 때는 가장 쉽게 테스트를 통과 시키려고 노력하고, 리팩토링 모드에서는 

올바른 설계를 얻는 데만 신경을 쓴다는 것이다.(가장 기억에 남는 내용이었다.)

 

이렇게 작성된 테스트 코드는 개발자에게 자신감을 심어준다. 또한 추후 기능 구현 혹은 코드 수정 때

문제 발생을 방지해주며 협업 시 다른 개발자가 코드를 더 잘 이해하도록 돕는다.

 

이 책은 개발자 켄트 백의 철학을 느낄 수 있는 책이었고,

테스트 주도 개발이라는 새로운 관점에서 바라볼 수 있었던 책이었다.

나도 테스트 주도 개발을 도전해보려고 한다. 개발자라면 한번 씩 읽어봤으면 하는 좋은 책이었다. 

728x90

'개발 > 개발론' 카테고리의 다른 글

도메인 주도 설계 철저 입문  (0) 2022.04.07
클린 코드 - 3. 함수  (0) 2020.12.07
클린 코드 - 2. 의미 있는 이름  (0) 2020.12.06
클린 코드 - 1. 깨끗한 코드  (0) 2020.12.06

댓글