logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Table of Contents
    단위 테스트의 기술

    이미지 보기

    단위 테스트의 기술

    단위 테스트의 모든 것을 담은 완벽 가이드

    • 25.02.08 작성

    • 25.04.30 수정

    • 읽는 데 7

    TOC

    책을 읽기 전

    이번 책은

    이번 책은 React Internals Deep Dive를 시작과 동시에 조기 종료를 하고, 빠르게 피봇팅한 단위 테스트의 기술이라는 책이에요.

    테스트는 잘 모르는데요

    사실 회사에서는 테스트 코드를 많이 작성해보지 않았어요. 끽해봐야 Storybook을 활용한 UI 테스트 정도였습니다. TDD를 한다거나, 변경이 잦지 않은 일반/공통 컴포넌트에 대해서만 일부 있었고, 이마저도 극히 일부였습니다. 왜냐하면 회사 특성상 짧은 시간 내에 많은 구현에 집중해야 해서 모두들 구현하기에 바빴거든요.

    또한 코드 변경이 잦은 상황에서는 테스트 코드에 대한 변경도 함께 해주어야 하기 때문에 공수가 많이 드는데, 지금까지는 계속 변경이 잦다보니 모두 테스트의 필요성을 느끼면서도 도입에 대해서는 소극적인 자세를 가졌던 것 같아요.

    그러니 맛보자

    그래서 솔직히 테스트 잘 모릅니다. 그래서 이번 책을 계기로 단위 테스트부터 시작해서 테스트의 매력을 느끼고, 테스트하기 좋은 코드, 결합도가 낮은 코드들을 구현하기 위한 사고의 전환과 성장을 기대하고 있습니다.

    이번 독서의 다짐

    그동안 책을 읽으며 정리하기 급급했다고 생각해요. 그래서 이번에는 이런 목표를 잡아봤습니다.

    • 제대로 실천하고, 적용해보기
    • 글에 나의 색깔을 많이 넣어보기
    • 단순히 정리보다는, 머리에 넣고 활용하기

    이번 책은 잘 씹어먹자. 파이팅🔥🔥

    책을 읽은 뒤

    2.5개월만에 책을 다 봤네요. 책을 읽은 감상을 적어봅니다.

    테스트에 대한 지식

    원래 테스트에 대한 막연한 필요성이라던지, 표면적인 지식 뿐 깊은 지식은 잘 알지 못했습니다. 그런데 이번 책을 통해서 테스트에 대한 조금 더 깊은 지식들을 얻게 되었습니다.

    • 테스트 종류와 위계
    • 상황에 따른 테스트의 선택과 선택 기준
    • 중복 코드를 방지하고 유지보수하기 좋게 구조 설계하기
    • 가짜 데이터로 테스트하는 여러 가지 방법
    • 테스트를 작성하는 여러 팁들
    • 테스트의 필요성

    하지만 실천했을까

    책을 읽기 시작할 때에는 단순히 정리보다는 실제로 많이 활용해보자는 다짐을 했는데요, 솔직히는 많이 활용하지 못했습니다. 핑계지만 본격적으로 테스트에 대해서 고민하고 활용하는 시간이 부족했던 것 같아요.

    계속 이 책에서 강조했던 것은 테스트의 작성과 테스트를 위한 코드 작성이 기존보다 많은 시간을 요구하게 되는 것은 맞지만, 이후 QA나 유지보수 차원에서, 또 히스토리 유지 차원에서 이후의 시간들을 줄여줌으로써 의미를 가진다는 것이었습니다. 그 메시지는 잘 전달되었지만, 실천하고 뛰어드는 것은 또다른 이야기였습니다.

    회사 코드에서 테스트를 도입한다면, 이후 합류하는 팀원들과 테스트에 대한 생각들을 맞추고, 제가 설득하고 가르쳐 주기까지 해야할 텐데요, 그런 용기가 부족했던 것 같습니다. 아직 진입장벽을 완전히 넘지 못했습니다.

    진입장벽 발 걸치기

    하지만 테스트 작성의 물꼬는 텄습니다. CI/CD를 구성할 때 테스트를 실행하여 결과에 따라 파이프라인을 중단하게 했고, 몇몇 util성 코드에 대한 단위테스트를 간단하게 작성해보기도 했죠. 아직 E2E 테스트나 컴포넌트 테스트는 시작도 못했지만, 조금씩 물 젖듯이 시작해볼 수 있겠죠.

    계속 볼 참고서

    이번 책은 이전의 인문학 도서 같았던 실용주의 프로그래머 같은 책은 아니었습니다. 실무의 노하우들이 많이 녹아있는 책이었어요. 그래서 이후에 테스트를 작성하거나, 시스템을 도입하게 되었을 때 다시 참고하면서 보고자 내용 정리도 아낌 없이 했습니다. 앞으로 정말 도움이 되는 날이 오길 바랍니다.

    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다