상품 관련 API와 리뷰 관련 API의 테스트 코드를 작성하며, 테스트 코드를 작성하는 이유와 좋은 테스트 코드란 무엇인지에 대해 고민하게 되었다. 🧐
테스트 코드 왜 작성할까?
- 디버깅 비용 절감(문제가 되는 코드를 빠르게 파악하여 수정 가능하다.)
- 회귀 버그(이전에 제대로 동작하던 기능에 문제가 생김)에 대한 관리와 대처
- 코드에 대한 이해 (담당 개발자뿐만 아니라, 동료들의 이해를 도울 수 있다.)
- 좋은 코드인지에 대한 고민과 검증 (좋은 코드는 테스트하기도 좋다고 한다.)
내가 생각하는 테스트 코드를 작성하는 이유는 위의 이유라고 생각한다.
테스트 코드를 직접 작성하면서 특히 네 번째 이유에 깊이 공감하게 되었다. 테스트 코드를 작성하는 과정에서 내 코드의 결합도가 높은가? 유연하게 대응할 수 있는 구조인가? 에 대해 다시 한번 고민해볼 수 있었기 때문이다.
그럼 좋은 테스트 코드는 무엇일까?
좋은 테스트 코드
- 테스트 코드는 서술적이고 의미 있게 작성한다. (중복을 줄이기보다는 테스트들이 서로 독립적이고 격리되는 방향으로 작성)
- 테스트 코드는 결과를 검증(의미 있는 결과를 검증하자)한다. (내부 구현보다는 실행 결과에 집중하는 것이 좋다.)
- 읽기 좋은 테스트 코드를 작성하자. (테스트 코드도 결국 유지보수의 대상이다.)
- 테스트 명세에 비즈니스 행위를 담도록하자. (테스트 명세에는 단순한 기술적 동작이 아니라, 비즈니스 로직과 행위를 담자.)
모두 공감이 가는 것 같다. 특히 서술적이고 의미 있게 작성하는 것이 중요하다고 생각한다. 테스트 코드는 단순히 동작 여부를 확인하는 도구가 아니라, 코드의 의도와 비즈니스 로직을 명확하게 드러내는 문서와도 같기 때문이다.
앞으로도 테스트 코드를 작성하는 걸 습관화해야겠다!
참고 글
'💻 개발 > 주문 플랫폼' 카테고리의 다른 글
11/19 - TIL : Query DSL이 JPQL보다 보안이 우수하다? (2) | 2024.11.19 |
---|---|
11/18 - TIL : 1차 프로젝트 마무리 (0) | 2024.11.18 |
11/15 - TIL : userDetails에 null이 들어오는 문제 (0) | 2024.11.15 |
11/14 - TIL : POSTMAN 로그인 설정하기 (0) | 2024.11.14 |
11/13 - TIL - Sub Query와 Join (2) | 2024.11.13 |