TestRail에 기록된 버그, 결국 배포되었다
- 14 Dec, 2025
빨간 딱지, 초록 사인
TestRail 열었다. 빨간 딱지 17개. 심각도 High 3개, Medium 14개. Low는 세지도 않았다.
배포일은 금요일. 오늘이 수요일. 개발팀 리드가 슬랙 보냈다. “팀장님, 내일 QA 사인 가능할까요?”
17개를 이틀 안에. 불가능하다. 물리적으로.

회의실, 오후 4시
경영진 보고 회의. 개발 리드, 기획 리드, PM, 나.
PM이 말했다. “이번 릴리즈는 꼭 나가야 합니다.” “IR 자료에 들어갑니다.”
기획 리드가 거들었다. “사용자 임팩트는 크지 않아요, 아마도.”
아마도.
나는 테스트 결과 공유했다. “결제 플로우에서 간헐적 오류.” “재현율 30%. 특정 환경에서만.” “로그 분석 결과 DB 커넥션 이슈.”
개발 리드가 답했다. “모니터링 강화하겠습니다.” “장애 터지면 핫픽스 바로 올리겠습니다.”
PM이 물었다. “배포 가능한가요?”
모두가 나를 봤다.

내가 할 수 있는 말
“리스크는 전달했습니다.” “결제 성공률 2-3% 떨어질 수 있습니다.” “주말 모니터링 필요합니다.”
PM이 고개 끄덕였다. “그 정도면 괜찮겠네요.”
그 정도. 주문 100건 중 2-3건. 하루 1000건이면 20-30건.
괜찮다고 했다.
나는 더 말하지 않았다. “배포 승인하겠습니다.” “단, 조건부입니다.”
조건.
- 모니터링 대시보드 실시간 확인
- 에러율 5% 넘으면 즉시 롤백
- 핫픽스 준비 완료 상태 유지
PM이 웃었다. “물론이죠. 당연하죠.”
회의 끝났다. 40분 걸렸다.
내 13년이 40분에 정리됐다.

Jira 티켓, 업데이트
회의실 나와서 자리 앉았다. TestRail 열고 버그 상태 업데이트.
Status: Known Issue Resolution: Will Not Fix (This Release) Deployment Risk: Acknowledged
Comment 달았다. “배포 승인. 조건: 실시간 모니터링, 롤백 준비.” “장애 발생 시 우선순위 1로 핫픽스.”
팀원들한테 슬랙 보냈다. “금요일 배포 진행합니다.” “알려진 이슈 있으니 주말 모니터링 부탁드립니다.”
막내가 답했다. “팀장님, 저 결제 버그요?”
“응. 그거.”
“괜찮을까요?”
나도 모른다. “모니터링 잘하자.”
집에 가는 길
지하철에서 폰 봤다. QA 커뮤니티에 누가 글 올렸다.
“버그 알면서 배포하는 거, 어떻게 생각하세요?”
댓글 20개 달렸다.
“현실이죠.” “리스크 전달했으면 된 거 아닌가요?” “저도 자주 겪어요. 익숙해지네요.”
익숙해진다. 13년 하면 익숙해진다.
그게 문제다.
남편한테 얘기했다. “오늘 버그 있는데 배포 승인했어.”
“심한 버그야?”
“결제. 30% 확률로 실패.”
“롤백 준비는 돼 있어?”
“응.”
“그럼 됐네. 뭐.”
됐다고 했다.
금요일, 배포
오전 11시 배포 시작. Blue-Green 배포. 30분 걸렸다.
모니터링 대시보드 열었다. Datadog, Sentry, 결제 성공률 그래프.
처음 1시간. 정상. 2시간. 정상. 점심시간 지나고. 정상.
오후 3시쯤 슬랙 알림 왔다. 개발팀에서.
“결제 에러 스파이크 확인됩니다.”
내가 예상한 그 버그. TestRail에 기록된 그 버그.
에러율 8%. 롤백 기준인 5% 넘었다.
PM한테 전화했다. “롤백 진행하겠습니다.”
“잠깐만요, 좀 더 지켜봐요.”
“조건이 5%였습니다.”
“고객 문의는 안 들어오는데요?”
“에러율이 8%입니다.”
“월요일까지 버티면 핫픽스 올릴 수 있어요.”
버틴다. 월요일까지.
나는 말했다. “저는 롤백 의견입니다.” “최종 결정은 PM이 하세요.”
PM이 선택했다. “일단 모니터링 강화하겠습니다.”
전화 끊었다.
주말, 모니터링
토요일 아침 일어나서 폰 확인. 슬랙 알림 12개.
에러율 10%. 고객센터 문의 3건. “결제가 안 돼요.”
일요일 오후. 에러율 15%. 고객센터 문의 18건.
PM한테 메시지 보냈다. “월요일 오전 핫픽스 올리시죠?”
“네, 준비 중입니다.”
준비 중.
월요일 오전 10시. 핫픽스 배포됐다.
에러율 정상으로 돌아왔다. 고객센터 문의는 총 47건 들어왔다.
PM이 슬랙에 올렸다. “빠른 대응 감사합니다. 고생하셨습니다.”
빠른 대응.
포스트모템
화요일, 장애 분석 회의.
RCA 작성했다. Root Cause: DB 커넥션 풀 설정 오류. Detection: QA 테스트 단계에서 발견. Decision: 일정상 배포 진행, 모니터링 강화로 대응. Impact: 주문 실패 건수 약 150건, 고객 문의 47건.
Action Items:
- DB 커넥션 설정 가이드 문서화
- 배포 전 체크리스트 강화
- 알려진 이슈 배포 시 의사결정 프로세스 정립
마지막 항목. 내가 넣었다.
PM이 물었다. “이 프로세스 누가 정리하죠?”
다들 나를 봤다.
“제가 하겠습니다.”
회의 끝나고. 혼자 남았다.
프로세스 정립. 13년 동안 몇 번을 정립했나.
다음에도 똑같을 거다.
TestRail, 버그 클로즈
화요일 저녁. TestRail 열어서 그 버그 찾았다.
Status: Closed Resolution: Fixed in Hotfix Actual Impact: 150 failed orders
Comment 달았다. “QA 단계에서 발견. 배포 후 장애 발생. 핫픽스로 해결.” “예상한 리스크 그대로 발현됨.”
마지막 줄은 지웠다. “예상한 리스크 그대로 발현됨.”
의미 없다.
Status만 Closed로 바꿨다.
팀원과의 대화
수요일 오후, 막내랑 1on1.
“팀장님, 질문 있어요.”
“응.”
“저번 결제 버그요.” “테스트에서 찾았는데 왜 배포한 거예요?”
어떻게 설명하지.
“일정이 급했어.”
“그럼 버그 찾아도 소용없는 거 아니에요?”
소용없다. 그렇게 느껴질 수 있다.
“소용없진 않아.” “우리가 찾아서 기록했잖아.” “그래서 장애 났을 때 빨리 대응했고.”
막내가 말했다. “그럼 결국 장애는 나는 거잖아요.”
맞다.
“QA는 버그를 막는 게 아니야.” “리스크를 알리는 거지.” “최종 결정은 비즈니스가 하는 거고.”
막내는 고개 끄덕였다. 납득한 얼굴은 아니었다.
나도 5년차 때 그랬다. 지금도 가끔 그렇다.
또 다른 버그, 또 다른 배포
목요일 오후. 다음 스프린트 계획 회의.
PM이 말했다. “이번 릴리즈도 타이트합니다.” “2주 안에 나가야 해요.”
기획 리드가 말했다. “피처가 5개인데 QA 일정이 며칠이죠?”
“3일 잡혀 있습니다.”
“3일이면 충분하죠?”
충분하지 않다. 하지만 말했다.
“최선을 다하겠습니다.”
회의 끝나고 자리 돌아왔다. TestRail 새 테스트 케이스 만들기 시작했다.
팀원들한테 슬랙 보냈다. “다음 주 릴리즈 일정 공유합니다.” “테스트 기간 3일입니다.” “우선순위 기반으로 진행하겠습니다.”
시니어 팀원이 답했다. “3일이요? 빡세겠네요.”
“응. 빡세다.”
퇴근길, 혼잣말
지하철 타고 집 가는 길. 창밖 보면서 생각했다.
TestRail에 기록된 버그들. Closed, Known Issue, Won’t Fix.
내가 찾은 버그들. 결국 배포되는 버그들.
13년 했다. 익숙해졌다.
하지만 익숙해지면 안 되는 것 같다.
집 도착해서 남편한테 말했다. “나 이 일 언제까지 할 수 있을까.”
“왜? 이직하게?”
“아니, 그냥.”
“그냥?”
“그냥 궁금해서.”
남편이 웃었다. “너 스타일에 평생 하겠네.”
평생.
씨어터 들어가서 샤워했다. 물 맞으면서 생각했다.
내일도 출근한다. TestRail 열 거다. 버그 기록할 거다.
어떤 건 고쳐지고. 어떤 건 배포될 거다.
그게 내 일이다.
다음 주, 또
월요일 아침. 출근해서 컴퓨터 켰다.
슬랙 알림 5개. 주말에 온 메시지들.
TestRail 열었다. 새 버그 3개 추가돼 있다.
커피 마셨다. 세 번째다.
테스트 시작했다.
버그는 기록된다. 그리고 어떤 건 배포된다. 나는 서명한다. 그게 팀장이다.
