모니터링 중 발견한 버그 vs 사용자가 먼저 발견한 버그
- 07 Dec, 2025
모니터링 중 발견한 버그 vs 사용자가 먼저 발견한 버그
배포 후 30분
배포가 끝났다. 오후 2시. 개발자들은 점심 먹으러 갔다. 나는 모니터 3개 앞에 앉아 있다.
왼쪽 모니터: 실서버 로그 중앙 모니터: 앱스토어 리뷰 오른쪽 모니터: 고객센터 문의
심장이 빨리 뛴다. 배포 후 한 시간이 가장 무섭다.

새로고침을 누른다. 로그에 에러가 없다. 다시 누른다. 여전히 없다.
5분마다 새로고침. 괜찮은가 보다. 그런데 불안하다.
배포 후 1시간까지는 내가 먼저 찾아야 한다. 그게 QA의 자존심이다.
내가 먼저 발견했을 때
오후 2시 40분. 로그에 이상한 게 보였다.
“결제 API 타임아웃 20건.”
앱을 켰다. 결제 화면으로 들어갔다. 로딩이 조금 길다.
다시 시도. 또 길다. 세 번째. “오류가 발생했습니다.”
찾았다.
재현 스텝을 정리했다.
- 앱 실행
- 상품 선택
- 결제 버튼 클릭
- 3초 후 타임아웃
스크린샷 3장. 로그 캡처. Charles Proxy 패킷 덤프.
Jira에 티켓을 등록했다. 제목: [긴급] 결제 API 타임아웃 발생 우선순위: Critical 담당자: 백엔드 팀장
슬랙에 메시지를 보냈다. “@channel 결제 장애 확인. 티켓 확인 부탁드립니다.”
10분 후 회신이 왔다. “확인했습니다. 서버 스케일업 중.”
30분 후 해결됐다. “민수님 덕분에 빨리 잡았네요.”
이럴 때 기분이 좋다. 사용자가 모르게 해결했다. 이게 진짜 QA다.

사용자가 먼저 발견했을 때
최악의 시나리오.
오후 3시. 아직 점심 안 먹었다. 모니터링 중이었다.
슬랙 알림이 울렸다. 고객센터 채널이다.
“결제가 안 된다는 문의 들어왔어요.” “저도 방금 받았습니다.” “저도요. 3건.”
심장이 멎었다.
앱을 켰다. 결제를 시도했다. 에러가 났다.
로그를 확인했다. 30분 전부터 에러가 쌓여 있었다.
왜 못 봤지. 로그 필터를 잘못 걸었나. 아니다. 그냥 못 본 거다.
Jira에 티켓을 급하게 올렸다. 슬랙에 메시지를 보냈다. “@channel 결제 장애 발생. 사용자 리포트 들어왔습니다.”
분위기가 다르다.
“언제부터였어요?” “30분 전부터요.” “왜 이제 알렸어요?”
할 말이 없다.
백엔드 개발자가 말했다. “모니터링 뭐 하고 있었어요?”
QA 팀장이 들어왔다. “민수씨, 잠깐 얘기 좀.”
1시간 후 해결됐다. 하지만 기분이 다르다.
앱스토어 리뷰에 별 1개가 3개 달렸다. “업데이트 후 결제 안 됨” “환불해주세요” “테스트 안 하나요?”
마지막 리뷰가 제일 아프다.

30분의 차이
똑같은 버그다. 똑같은 심각도다. 똑같은 해결 시간이다.
하지만 평가가 다르다.
내가 먼저 발견: “민수님 덕분에” 사용자가 먼저: “모니터링 뭐 했어?”
30분 차이다.
억울하다고 생각했다. 같은 버그인데 왜.
근데 맞는 말이다. 사용자가 겪기 전에 막는 게 QA다.
죄책감의 무게
사용자가 먼저 발견한 버그는 무겁다.
테스트는 완벽하게 했다. 배포 전 체크리스트 다 통과했다. 리그레션 테스트도 했다.
그런데 나왔다.
누구 잘못일까.
개발자는 말한다. “테스트 환경에선 안 그랬는데.” 기획자는 말한다. “스펙대로 만들었는데.” 디자이너는 말한다. “디자인은 문제없는데.”
그럼 QA 잘못인가.
명확한 답은 없다. 하지만 사용자는 생각한다. “테스트 안 하나?”
그 한 줄이 제일 아프다.
모니터링의 압박
배포 후 모니터링은 전쟁이다.
새로고침을 200번 넘게 누른다. 에러 로그를 실시간으로 본다. 앱스토어 리뷰를 5분마다 확인한다.
점심도 못 먹는다. 화장실도 빨리 다녀온다.
왜 이렇게까지 하냐고. 30분 차이 때문이다.
내가 먼저 발견하면 영웅. 사용자가 먼저 발견하면 무능.
극단적이다. 알고 있다. 하지만 현실이 그렇다.
완벽한 배포는 없다
4년 차 QA다. 배포를 100번 넘게 했다.
완벽한 배포는 한 번도 없었다.
크고 작은 버그가 항상 나온다. 테스트 환경과 실서버는 다르다. 사용자 패턴은 예측 불가다.
그래서 모니터링이 중요하다.
내가 먼저 발견하는 게 최선이다. 사용자보다 1분이라도 빨리.
사용자 리포트의 무게
고객센터에서 버그 리포트가 올라오면. 그날은 집에 가도 찝찝하다.
샤워하면서도 생각난다. “내가 뭘 놓쳤지?”
자기 전에 테스트 케이스를 다시 본다. 어디서 놓쳤는지 찾는다.
대부분은 찾지 못한다. 엣지 케이스였거나. 실서버 환경 이슈였거나. 타이밍 이슈였거나.
“이건 못 찾을 수밖에 없었어.” 스스로 위로한다.
근데 별로 위로가 안 된다.
다음 배포
다음 배포 때는 더 꼼꼼히 본다.
체크리스트를 늘린다. 모니터링 시간을 늘린다. 새로고침 주기를 줄인다.
그래도 버그는 나온다.
완벽은 없다. 하지만 계속 노력한다.
내가 먼저 발견하기 위해서.
QA의 자존심
사용자보다 먼저 버그를 찾는 것. 이게 QA의 자존심이다.
개발자에게 물어봤다. “QA 왜 필요한 것 같아요?”
“버그 찾아주니까요.”
반만 맞다.
사용자보다 먼저 찾아주니까다.
오늘의 배포
오늘도 배포가 있다. 오후 2시.
점심은 간단히 먹었다. 모니터 앞에 앉았다.
새로고침 준비 완료.
이번엔 내가 먼저 찾을 거다.
30분 먼저 발견하는 게 QA의 일이다.
