작성
·
231
0
모니터링이란, 테스트로 잡지 못한 버그들이 발생했을 때 그 버그의 원인들을 빠르게 알게 해주는데 목적이 있다고 생각합니다. (비즈니스 지표 모니터링은 여기에선 고려하지 않겠습니다.) 그런데, 어디까지 테스트로 해결해야하고 어디서부터는 모니터링으로 해결해야 할까요?
버그를 꼼꼼히 잡겠다고 가능한 모든 루트를 테스트 하려는 것도 생산성 측면에서 옳은 방법은 아니라고 생각합니다. 또한, 서비스의 규모가 작을 때와 서비스의 규모가 클 경우 어떻게 테스트하고 모니터링 할 지 또한 바뀐다고 생각합니다.
제가 생각하는 방법은
중요하거나 복잡한 도메인 로직은 유닛테스트로 꼼꼼히 테스트한다
프레임워크 및 외부 장치들과 잘 통신하는지는 통합테스트로 happy path 정도만 테스트한다.
그 외에 못잡는 버그들은 모니터링을 통해 해결한다.
이렇게인데요, 제가 맞는 방향으로 생각하고 있는건지 궁금합니다.
또한 서비스의 규모의 차이에 따라 어떻게 테스트하고 모니터링 하는 방법이 달라지는지가 궁금합니다.
답변 1
2
안녕하세요, 지나가는 객입니다 ㅎㅎ
박하탕님 말씀을 보니 모니터링과 테스트를 같은 선상에 두고 계신것 처럼 보입니다.
저는 조금 다른 생각인데요. 말씀처럼 테스트로 잡지 못한 버그도 모니터링으로 나올 수 있지만, 메모리 누수나 슬로우 쿼리 등으로 인한 데이터베이스 커넥션 타임아웃, 과도한 요청이 집중되는 순간순간들은 테스트 코드 작성을 통한 확인이 힘듦으로 보입니다.
따라서 말씀하신 방법 3가지 이외에도 모니터링 영역은 영한님 말씀대로 충분히 감시?하는 것이 좋겠습니다! 🙂
서비스 규모에 따른 테스트, 모니터링 기법은 다른 개발자분이 답해주시리라 믿습니다!