본문 바로가기
All Side/Runtime > NodeJS

[NodeJS] 테스트 코드 작성하기 (1) 알아버린 참맛 + 필요성

by developerBeluga 2022. 8. 24.
728x90
반응형

 

 

테스트 코드란

테스트 코드란 통상적으로 서비스의 품질을 확인하거나 소프트웨어의 버그를 찾을 때 작성하는 코드이다.

쉽게 말해서 내가 짠 코드가 잘 동작하는지 확인하는 도구이다.

 

또한 개발자라면 한 번씩 TDD에 대해서 들어보았을 것이다.

Test-Driven Development 즉, 테스트 주도 개발이라고 불리면서 많은 개발자들이 해야하는 덕목처럼 주장하는 사람들이 많다.

채용공고나 면접에서 테스트 코드를 잘 짜는지에 대해서 물어보기도 한다.

 

 

부정적인 생각

많은 개발자들이 테스크 코드를 중요하게 생각하는데 솔직히 지금까지 필요성을 못느끼고 있었다.

오류 사항을 파악할 수 있다고 하는데 console.log를 찍든 errer 메시지를 보면 바로바로 수정이 가능하다.

오히려 테스크 코드를 먼저 짠다고 생각하니 자유롭고 빠르게 코드를 작성하기 힘들었다.

 

이렇게 장점 하나 찾지 못하니 테스트 코드에 대해서 부정적으로 생각했다.

그렇게 테스트 코드를 작성하는 방법은 알아도 잘 활용하지 않았다.

 

하지만 개발자로 일한지 6개월 정도 지나지 어느순간 테스트 코드의 참맛을 느껴버렸다.

난 인제 테스트 코드 없는 삶으로 돌아갈 수 없어 ❗️

그 과정을 자세히 적어보았는데 나처럼 테스크 코드의 필요성을 못느낀 사람이라면 아래 글을 읽어보길 바란다.

 

 

변화 과정

1. 불편함 포착

우리 회사는 MVP 버전이라 따로 클라우드를 배포하고 있지 않다.

대신 Docker를 이용해서 로컬 서버를 돌리는데 어느날 API 오류가 발견했다.

코드만 들어다 보았을 때는 오류가 왜 나는지 알 수 없는 상태였다.

 

원래였으면 다음과 같은 과정으로 오류를 해결했을 것이다.

1. Docker 서버를 내린다.

2. 코드를 수정한다.

3. 다시 Docker 서버를 올린다.

 

한 번에 오류를 파악해서 코드를 수정하면 위 과정도 괜찮다.

하지만 그렇지 않다면?

 

오류를 파악할 때까지 Docker 서버를 내렸다 올렸다하는 저 과정을 n번째 할 수 있다는 불편함이 머릿속으로 그려졌다.

그저 로컬 서버였으면 평소처럼 했겠지만 그 무거운 Docker 서버를 내렸다 올렸다 하는 것은 비효율적인 것은 누구나 느낄 것이다.

불편함을 고치는 개발자가 되겠다고 했는데 내가 불폄함을 느끼고 있던 찰나 좋은 해결책이 생각났다.

 

2. 테스트 코드 도입하기

바로 좋은 해결책은 테스트 코드였다.

테스크 코드를 작성하면 다음과 같은 과정으로 오류를 해결할 수 있다.

1. Docker 서버를 내린다.

2. 테스크 코드를 작성하여 코드를 수정한다.

3. Docker 서버를 올린다.

 

흡사 위와 비슷하지만 다르다.

오류를 파악할 때까지 테스트 코드만 계속 돌리면 된다❗️

이야~ 편하다 편해.

 

3. 더 알아버린 참맛

테스트 코드를 작성하고 돌리고 다시 작성하고 돌리면서 느낀점이 있다.

바로 로컬 서버에서 개발하더라도 테스트 코드로 돌리면 좋겠다는 것이다.

 

대체로 로컬 서버에서 API 개발을 하게 되면 다음과 같은 상황이 된다.

1. 코드 작성

2. 서버 연결

3. Postman을 이용해서 테스트

 

자, 이번에도 한 번에 코드가 잘 동작하면 저 과정도 괜찮다.

하지만 잘 동작하지 않는다면?

하하하 서버를 내리고 다시 1번부터 n번 반복하면 된다.

 

하지만 테스트 코드를 작성하니 아래와 같은 상황이 된다.

1. 코드 작성

2. 테스트 코드 작성 후 돌리기

 

돌려서 잘 동작하지 않으면 테스트 코드 추가나 코드를 수정해주면 된다 ❗️

굳이 서버를 시작할 필요도 없고 postman을 이용할 필요도 없다.

내가 테스트 코드를 사랑할 이유는 충분하지 않은가.

 

 

결국..!

알 수 있다시피 테스트 코드의 최대 장점은 나의 편리함이다.

테스크 코드는 결국 개발자의 위한 도구의 한 종류라고 생각한다.

그렇기 때문에 필요성을 못느껴서 테스트 코드를 안 쓰고 있다면 그것도 틀리지 않았다.

 

불편함을 안 느꼈는데 도입할 이유가 없지 않은가.

하지만 불편함을 느꼈다면 바로 테스트 코드를 작성해보고 편리함을 느껴보길 바란다.

 

아마 개발을 계속 해나가고 경험이 쌓이다 보면 나처럼 테스트 코드가 필요해! 하면서 어느순간 테스트 코드 신봉자가 되어 있을 수 있다.

단, 아직도 생산성은 중요하게 생각하기 때문에 처음부터 테스트 코드를 작성하는 것은 좋지 않다고 생각한다.

오히려 오류가 발생했을 때 그 이유를 찾는 과정으로 테스트 코드를 사용하고자 한다.

 

물론 이 생각도 시간이 지나면서 바뀔 수 있다.

개인적인 생각들이기 때문에 참고만 해주시길.

그럼 다음에는 테스트 코드를 작성하는 방법과 꿀팁에 대해서 이야기하도록 하겠다.

 

 

 

 

728x90
반응형

댓글