본문 바로가기
Reading/책 후기

테스트 주도 개발 시작하기 후기

by 멍멍구리 2022. 4. 16.

개발 공부를 하면 할수록 필요성을 느끼고 있는 테스트 코드.

 

TDD 방법론으로 개발을 해야겠다는 생각보다는 테스트를 어떤 식으로 사용해야하는지, JUnit의 용법은 어떤지 알고 싶었다.

 

테스트 관련 서적들 중에 여러 후보군이 있었는데(JUnit in Action, 자바와 JUnit을 활용한 실용주의 단위테스트, Unit Testing) 우선 가볍게 알아보기에 적합하거나 JUnit5를 다루는 책으로 먼저 시작했다. 

 

책을 읽으면서 우선은 TDD에 대해 막연하게 알고 있었던 부분이 정리됐다. 

 

요구사항을 구현할 때 Test를 먼저 작성하는 것.

 

어떻게?

 

  • 하나의 작은 규모의 단위테스트를 먼저 작성하면서 메소드 명, 파라미터 갯수, 메서드의 타입, 클래스 명들을 고민하며 작성한다.
  • 테스트를 만족하는 클래스나 메소드를 구현한다.
  • 테스트 코드를 실행시켜 레드 상태의 테스트를 그린 상태로 만든다.
  • 그린 상태의 테스트에서 대상 클래스에서 리팩토링의 가능성이 보이면 즉시 리팩토링 한다.
  • 레드 -> 그린 -> 리팩터, 위의 단계들을 짧은 호흡으로 반복한다.

테스트가 선행되는 개발이 가능할까? 라고 책을 읽기 전에 생각했는데 읽은 후에는 충분히 가능하다고 느꼈다. 하지만 TDD를 적용하려면 좋은 설계나 코드 품질을 다룰 수 있는 개발자의 역량이 우선되어야 할 것 같다. 

 

테스트 하기 좋은 코드 라는 말이 아주 모호했었는데, 클래스나 메소드가 단 하나의 역할만을 가지고 있는 코드가 테스트 하기 좋은 코드라는 생각이 든다.

 

아주 적절한 예시와 입문하기에 좋은 예제들이 있어 테스트에 대해 많이 알게 되었다. TDD 라는 방법론 뿐만 아니라 테스트 자체에 대한 여러 시야들이 담겨 있어 배운 점이 많다.

 

대역을 설정하는 것이나 Mockito를 다루는 부분, 자바 프로젝트가 아닌 스프링 프로젝트에 테스트코드를 접목시키는 부분은 앞으로 공부하면서 채워나갈 부분이다.

 

진행하는 프로젝트나 실무에 테스트코드를 조금씩 추가해나가면서, 테스트에 대한 책을 여러 권 더 읽으면 테스트를 잘 작성할 수 있지 않을까?

 

최범균 님의 책이 나랑 아주 잘 맞는 것 같다. DDD Start 도 조만간 읽어봐야지.

 

끝!

'Reading > 책 후기' 카테고리의 다른 글

프로그래머의 뇌 후기  (0) 2022.04.25
개발자의 글쓰기 후기  (0) 2022.04.24
객체지향의 사실과 오해 후기  (0) 2022.04.19
함께 자라기 후기  (0) 2022.04.16
이것이 자바다 후기  (0) 2021.12.28

댓글