Test code를 작성하는 이유 그리고 coverage

ian·2023년 9월 23일
2

업무를 진행하면서 테스트 코드를 작성하며 느낀 점을 작성해본다. 동작이 되는 것만 보면 될텐데 테스트 코드를 왜 써야하는지에 대한 이야기다. 가장 큰 이유 두 가지를 말해보겠다.

잠깐의 귀찮음이 결국 더 귀찮은 짓을 막는다.

혼자서 공부할 때는 모든 테스트를 수작업을 통해 작동시켰다. 단순노동을 하면서 request를 보내고 response status나 클라이언트 화면에서 동작이 정상인지 확인하였다.

테스트 코드를 작성하기 전에는 코드 작성시 굳이 테스트 코드가 필수적으로 필요한지에 대한 생각을 많이 했었다. 왜 필요하고 도대체 쓰면 뭐가 좋은지를 알수가 없었다. 테스트 코드를 작성하는데는 시간이 필요하다. 차라리 그 시간에 기능 개발하는게 낫다고 생각이 들기도 한다. 나의 장점은 대부분 일단 기능을 빠르게 구현하는 것이기 때문이다.

그러나 기능을 수정하거나 또 다른 추가 구현을 하게되면, 그 기능에 대해서 또 수작업으로 postman을 통해서 하나 하나 다시 테스트를 해줘야한다. 그러다 보면, 점점 테스트가 하기가 싫어진다. 이러한 이유로 리팩토링을 더 이상 하는게 무섭고 건들기 싫어진다. 이런 마음이 생기면 리팩토링을 하지말자라는 생각이 들며 그때부터는 되돌릴수도 없는 상태가 된다. 계속 리팩토링을 한다 해도 수정과 무한 테스트를 계속 반복해야하는 상태가 되는것이다.

테스트 코드를 막상 작성하기 전에는 엄청 귀찮은 작업이긴하다. 하지만 결국 귀찮음이 더 거대한 귀찮음을 막아줄 수 있다. 테스트 코드를 자동화하여 생산성을 극대화 할 수 있다.


코드가 어떻게 동작하는지 직관적으로 보인다.

남이 짜놓은 코드도 테스트코드를 보다보면 이러한 결과가 나와야하고 그 결과를 위해 이러한 코드를 짜놓았다는게 눈에 보인다.

테스트 코드는 코드의 동작 방식 그리고 결과값을 명시적으로 정의하므로, 나 말고 다른 개발자들 또한 내 코드를 이해하고 따라갈 수 있도록 도와준다고 생각한다. 테스트 코드 자체가 하나의 문서이다.


결론

테스트코드 귀찮지만 작성하자.

profile
Backend Developer

0개의 댓글