켄백의 테스트 주도 개발에 대한 1부를 읽고 작성한 회고록 입니다.
테스트 코드가 필요한 이유?
현재 스타트업을 근무하면서 기업 특성상 짧은 시간안에 빠르게 아웃풋을 내고 유저들의 반응을 살피고 안정성은 나중에 생각하다보니 주니어인 제가 봐도 부족한 부분이 많이 존재하고 실제로 테스트 코드 없이 개발을 진행하고
빨리 빨리 기능을 구현을 하다보니 QA과정에서나 배포가 되고 난 뒤 문제점을 발견하게 되고 한부분을 고치게 되면 다른 곳에서 버그가 터지는 버그의 연속이 생기게 되었습니다.
이러한 문제점을 사전에 발견하고 테스트 코드를 작성한 뒤 중복코드를 제거하고 리팩토링을 하는 과정에서 좀 더 클린한 코드, 아키텍처와 안정된 서비스를 운영할 수 있도록 하기 위해서는 필수 불가결하다고 생각합니다.
1부 예제를 따라하면서
테스트 코드 책을 살펴보면서 가장 많은 추천을 받고 TDD의 정석이라는 후기를 보고 구매하였지만
책내용이 저에겐 너무 난해해서 어려워서 필자의 의도를 파악하기 너무 어려워서 책읽는 것을 포기해야되나 라고 생각하게 되었습니다.
하지만 끝을 보고 싶다는 생각에 다른 방식으로 접근하게 되었는데 바로 '책내용보다 코드를 보고 이해해보자!' 입니다.
그렇다고 코드를 무작정 따라치기만 해서는 코드배끼는 결과만 나오게 되어서 제것으로 만들 수 없었습니다. 그래서 요구사항을 보고 제가 직접 구현해보고 책에 나와있는 예제와 비교해보고 수정하면서 추상화와 중복 코드를 제거하는 과정을 거치면서 클린 코드에 좀 더 몸소 느낄 수 있었습니다.
느낀 점
일단 이책은 한번만 읽어서는 이내용을 전부 이해할 수 없다고 생각했고 실무에 필요한 테스트 코드를 배울 수 있다는 것을 배운다는 것은 좀 어려울 것 같다고 생각했습니다.
왜냐하면 백엔드 단에서 일어나는 것은 단순히 자바 뿐만 아니라 데이터 베이스, 타 서비스 API, 클라우드 서비스등 여러 인프라가 서로 연관되어 있기 때문에 다른 인프라에 종속되어있는 코드의 테스트 코드를 작성한다는 것은 쉽지 않은 일이고 이책은 단순히 심플한 기능에 대한 자바만을 통해 테스트 코드를 작성하게 되기 때문입니다.
그렇게 되면 실무에도 도움이 되지 않는데 왜 읽어야하나? 라고 생각할 순 있지만 아는 상태와 모르는 상태에서 TDD를 접근하는 것은 천지차이라고 생각하기 때문입니다. 이책은 TDD가 필요한 이유가 무엇이고 어떻게 이루어지는지 설명하고 있습니다. 이러한 과정을 알고 실무에서 TDD를 접근하게 된다면 모르는 상태에서 접근하는 것보다 훨씬 더 수월하게 할 수 있다고 생각합니다~!
'도서' 카테고리의 다른 글
클린코드 (함수) (0) | 2022.07.04 |
---|---|
클린 코드 (의미 있는 이름) (0) | 2022.06.26 |
클린 코드에 대하여 (0) | 2022.06.21 |
테스트 주도 개발 패턴 (2) (0) | 2022.05.29 |
테스트 주도 개발 패턴 (0) | 2022.05.15 |