들어가며

테스트 코드가 중요하다고는 하지만 막상 일정에 급급하다 보면 테스트를 생략하기 부지기수다. 

이번 장에서는 테스트 코드의 중요성을 학습하고, 오히려 일정 단축에 도움이 된다는 사실을 알아보자!

 

테스트 코드를 작성해야 하는 이유

1. 작성한 코드의 검증

일정상 기능 개발에 급급해서 검증이 안된 api를 내보내는 경우가 종종 있다. 하지만 외부(클라이언트, qa, 사용자 등)에서 버그를 발견되면 더 큰 대가를 치러야 한다. 치러야 할 대가는 서버 측에만 국한된 것이 아니며, 경험한 바에 따르면 아래와 같다.

 

서버에서 들어가는 비용

  • 문제 인식을 위한 커뮤니케이션 비용
  • 문제 해결 비용
    • 센트리, 키바나 등을 사용한 원인 추적
    • 로컬에서 문제 재현
    • 로직 수정 및 배포
  • 개선된 로직이 야기하는 새로운 에러의 가능성

 

외부(클라이언트, qa, 사용자 등)에서 들어가는 비용

  • 문제 전파를 위한 커뮤니케이션 비용
  • 기능에 대한 신뢰 감소
  • 해결되기 전까지 다음 작업이 블로킹
  • 개선된 기능을 재테스트하는 비용

 

2. 리팩터링의 어려움

테스트 코드가 없으면 검증이 상당히 번거롭기 때문에, 로직을 개선하거나 프로젝트 구조를 변경하기 꺼려진다. 반면, 테스트 코드가 잘 짜여있다면 언제든지 테스트할 수 있기 때문에 코드를 변경하는 데에 망설일 이유가 전혀 없다. 따라서 테스트 코드를 적절하게 작성한다면 리팩터링을 통해 더 나은 코드와 더 나은 구조를 지향할 수 있다.

 

마치며

따라서 테스트 코드를 작성하는 습관을 들이자. 그렇다고 아무렇게나 테스트 코드를 작성하라는 의미는 아니다. 테스트 코드 역시 지속적으로 관리해야 하는 '코드'이기 때문에, 무분별한 테스트 코드의 양산은 오히려 독이 될 수 있음을 명심하자.

+ Recent posts