테스트 코드의 도입

Hyuk·2023년 9월 3일
0

HappyScrolls 개발기

목록 보기
1/24
post-thumbnail

기존에 프로젝트를 진행할 때, 테스트 코드를 작성하지 않았었다.

기능이 완성되면 Postman으로 확인하는 방식을 사용했다. 그러다보니 소셜 로그인이 연결되어 있는 경우, 클라이언트 어플리케이션도 작동시켜서 로그인을 진행하고, 작성한 기능까지 도달하기 위한 선행작업을 진행했다. (예를들어 댓글 쓰기 기능이면 게시글이 선행되어야 함) 그리고 내가 작성한 기능까지 Postman으로 하나하나 확인했다.

처음엔 Postman으로 검증하는 시간이 그리 길진 않았지만, API 갯수가 늘어나다보니 기능 하나를 검증하는데 필요한 시간이 점점 늘어났다.

또 만약 기능 검증 도중 선행작업들을 잘못된 시퀀스로 Postman으로 요청을 보낸다면, 처음부터 다시 검증을 진행해야 했다. 또한 도중 선행 작업을 오인하여 중간에 필요한 작업을 빼먹거나 하지 않아도 될 요청을 포함시키는 경우도 생겼다.

Postman을 이용할 땐 정상 작동만 확인해보는 경향이 있다. 예외처리를 통해 잘못된 값이 들어오면 예외를 뿜도록 짜놓았지만, 정작 Postman을 사용하면 정상인 경우만 검증해보기 마련이다.

또한 기존의 기능을 수정할 때, 그 변경이 타 기능에 어떤 영향을 주는지 알기 힘들었다. 확인해보려면 그동안 Postman으로 확인했던 모든 검증을 다시 진행해야 했기 때문이다.

따라서 내가 직접 느낀 테스트 코드의 필요성은 다음과 같다.

  • Postman을 기능을 검증하는데 걸리는 시간이 줄어들 것이다.
  • 기능을 검증할 때, 프로그래머의 실수로 인해 잘못된 검증을 할 여지가 줄어들 것이다. (앞에서 예시로 든 선행 작업 실행시 잘못된 시퀀스로 요청을 보낸다거나 필요한 요청을 빼먹는 등)
  • 기능을 수정했을 때 그 기능이 다른 기능에 어떤 영향을 주는지 쉽게 알 수 있을것이다.
  • 예외를 출력해야 하는 부분의 확인도 보다 세밀해질 것이다.
  • 테스트 코드를 작성하는데 걸리는 시간도 길 것이고, 배우는 데 시간도 소모되겠지만, 장기적으로 봤을 때 프로덕트를 완성하는데에 있어서 시간을 줄여줄 것으로 생각된다. (테스트 코드 짜는데에 익숙해진다면, 기능 검증에 걸리는 시간을 어마어마하게 줄여줄 것 같다.)
  • 코드로 짜여진 기능을 코드로 검증하기 때문에, 건강한 코드를 작성하도록 도움이 될 것 같다.

위와 같은 이유로 테스트 코드를 작성하고자 한다.

profile
🙂 🙃 🙂 🙃

0개의 댓글