직접 1달간 해본 TDD에 대한 후기

뱀기·2023년 12월 18일
0

Nurihaus

목록 보기
13/13

왜 시작하였는가

  • 예전부터 오늘까지도 계에에에속해서 많은 사람들이 TDD를 하고싶다, 관심있다고 한다.
  • 하지만 정작 왜요? 라고 했을때 이러한 효과를 기대해서, 해보고 싶어서요 같은 이야기가 많다.(주로 주니어 급에서, 면접에서 물어보면 거의 이랬음.)
  • 그래서 누군가는 현업에서는 욕심이 아닌가요 라는 말도 있어 직접 해보고 과연 나는 어떻게 생각하게 될 것인가 궁금해졌음.

계획

  • 기간은 1달정도
  • 회사에서 개발한 웹 서비스의 커버리지를 높게 달성해보자.
  • 계속 커버리지를 올려가면서 관련된 코드를 정리하고 리팩토링 하는 작업도 병행한다.

시작

  • 아주 소박하게 어느정도 작성을 하다 커버리지를 알게되어 캡쳐해놓았다.
  • 아직까지는 커버리지를 올리는 것에 더 집중이 되어있는 상태.

끝 (11.1 ~ 12.18)

  • 80퍼센트대 달성...! 물론 혼자한 것은 아니지만 한... 60 정도는 한 것 같다.
  • 중간 중간 다른 일도 하면서 하느라 좀 걸린 듯.

느낀점

  • 문법을 익히는 것도 은근히 초반엔 어려움이 있었음.

  • 내가 짠 테스트 코드는 잘 짠 것인가에 대한 의문으로 책도 병행하였으나 은근히 잘 작성한 것 같음.

  • TDD를 정말로 했다면, 테스트 코드는 문서화를 대신할 수 있는 것이 아닌가 하는 생각이 든다. 추가적으로 개발 단계 혹은 이전에 기획했던 것들에 대한 내용들을 테스트 코드에 잘 녹이면 추가적인 문서화 없이 개발자끼리 공유할 수 있는 좋은 문서가 되어줄 것 같다. -> 그러니 너무 급하지않다면 오히려 에러를 방지하고 개발을 좀 더 탄탄하게 할 수 있기 때문에 지키고자 노력하는 것이 좋겠다.

  • 리팩토링에 대한 자신감이 상승한다. 개발 기간이 촉박하여 TDD가 정말정말 너무 어렵다면 빠른 개발 이후에 테스크 코드를 작성하여 리팩토링에 대한 에러를 방지하여 생산성을 높이는 것에 매우 많은 기여를 하는 것을 느낌.

  • 서버 비용이 감소할 것으로 예상함. -> 서버와 통신을 해보고 정상 작동을 확인하지 않아도 MSW로 mocking을 하여 테스트하고 결과에 따른 분기를 할 수 있음.

  • 테스트 친화적 코드를 작성하는 것에 목적을 두게 되어 좋다. -> 영향을 덜 받거나, 역할이 분명하거나, 잘 쪼개짐을 느낌, SOLID...!?!.

  • 내가 작업하지 않은 레거시 코드를 테스트를 작성하며 파악하기 좋다.

  • 사이드 이펙트, 에러를 방지하기도 좋다.

  • 결국 생산성 향상을 목표로 이루어지는 것이 아닌가 하는 생각...!

나의 관심사는 TDD! 하는 주니어들이 많아 직접 해보았다. TDD 왜 하고싶어요? 라고 이야기했을때 떠도는 거창한 기대를 말하기 보단 내가 느낀점들이 좀 더 좋은 대답이 아닌가 싶다.

0개의 댓글