[간단-책리뷰]테스트 주도 개발(By Example)
5월에 끝까지 본 기술 서적이 1권이라니... 이것저것 보다가 겨우 하나 다 봤다..
독자 정보
- 5~10년 차 개발자
독서 일자
- 2022. 05
내용
- 실제 TDD를 어떻게 하는지 예제와 함께 설명
- TDD에 대한 기술적인 설명보다 TDD 개념, 더 좋은 TDD 방법 등을 설명
별점
- 4.8 이상: 철학이 존재함, 추천++
대상 독자
- 개발자
선행 도서
- -
관련 도서(미디어)
- [서적] 단위 테스트(생산성과 품질을 위한 단위 테스트 원칙과 패턴)
- [인강] 이규원의 현실 세상의 TDD : 안정감을 주는 코드 설계 방법
느낀 점
해당 방법론은 1990년 후반 켄트 백의 익스트림 프로그래밍의 일부이다(근데 왜 난 20년이 지나 공부하는가 ㅡㅡ ㅋㅋㅋㅋㅋ). 우리의 프로젝트에 TDD 방법론 적용은 오버 엔지니어링이라고 생각할 수 있지만, 단위 테스트 코드의 작성을 습관화하는 게 좋지 않을까 생각한다.
해당 서적에서도 TDD 인강에서도 TDD는 불안, 두려움을 지루함으로 바꾸는 방법론이라고 다들 얘기한다. 필자 또한 전적으로 동의한다. 서비스 운영 및 배포를 하면 장애가 항상 수반하는데, 배포했을 때 "과연 장애가 없을까..?", "제대로 배포가 됐을까?"와 같은 불안을 최소화 시켜준다. 이와 같은 작업을 반복하면서 안전한 서비스를 만드는 것이다. TDD가 100% 모든 테스트를 대신하는 것이 아니며, 100% 안전한 서비스를 제공하는 수단이 아니지만 많은 비중을 차지하는 것은 서적과 필자의 경험으로 얘기할 수 있다. TDD에 회의감을 가지는 많은 개발자가 있지만 적당선의 타협을 하면 개발 리소스 감축할 수 있는 효과를 볼 수 있다.
간략하게 요약하면 기능 변경에 따른 회귀 테스트를 통해 회귀 버그를 최소화할 수 있다. 회귀 버그로 인해 개발 리소스 비용 증가는 모두가 아는 사실이다(저 보라색 비용을 다들 싫어하더라.. 그래프에는 보라색이 작게 표시 되었지만 실제는 더 크다.) 서스테이닝이 없는 단발성 프로젝트는 엄격한 테스트는 굳이 필요 없지만, 서스테이닝 요하는 서비스는 필수라고 생각한다. 현재 프로젝트는 통합 테스트, 기능 테스트만 제대로 적용됐다. 이 두 개의 테스트로도 효과는 많이 보고 있지만 단위 테스트를 "제대로" 적용하면 더할나위 없다고 본다. 몇 개 로직에 단위 테스트를 적용하여 효과를 봤기 때문에 확언할 수 있다.
해당 서적에서 다독 부분은 다음과 같다.
- 저자의 글
- 25장 테스트 격리성 설명
- 27장 테스트 패턴
- 32장 TDD 마스터(+)
'개발관련 > 책 리뷰' 카테고리의 다른 글
[간단-책리뷰]나는 주니어 개발자다. (0) | 2022.06.24 |
---|---|
[간단-책리뷰]오늘부터 개발자(비전공자를 위한 개발자 취업 입문 개론) (0) | 2022.06.24 |
[간단-책리뷰]프로젝트 성패를 결정짓는 데이터 모델링 이야기 (0) | 2022.06.24 |
[간단-책리뷰]개발자의 글쓰기 (0) | 2021.07.12 |
[간단-책리뷰]개발자를 위한 글쓰기 가이드 (0) | 2021.06.29 |