Showing Posts From
버그
- 03 Dec, 2025
런칭 후 버그 터졌을 때 QA의 심정
런칭 후 버그 터졌을 때 QA의 심정 디스코드가 터진 날 런칭 3일 차. 새벽 2시. 디스코드 알림이 미쳤다. 100개. 200개. 멈추지 않는다. "아이템 복사 버그 있음" "퀘스트 완료 안 됨" "접속 끊김"유저들이 찾았다. 우리가 못 찾은 버그를. 팀장 전화가 왔다. "출근해." 회의실의 시선 오전 10시. 긴급 회의. 개발팀 전원. 기획팀 전원. 그리고 우리 QA팀. "QA에서 이거 못 찾았어요?" 대표이사가 물었다. 나를 보면서. 말이 안 나왔다. "죄송합니다"만 했다. 옆자리 윤서가 설명했다. "케이스를 못 찾았습니다. 특정 조건에서만..." "특정 조건?" 개발팀장이 웃었다. 비웃는 웃음. "유저들은 10분 만에 찾았는데?" 할 말이 없었다.우리가 3개월 테스트했다. 매일 12시간씩. 유저 10만 명이 3일 했다. 총 300만 시간. 이길 수가 없다. 숫자로. 테스트 로그를 뒤진다 회의 끝나고 자리로. 내 테스트 로그를 열었다. 3개월 치. "아이템 획득 테스트 - 정상" "인벤토리 테스트 - 정상" "퀘스트 보상 테스트 - 정상" 다 했다. 분명히 다 했다. 그런데 왜 못 찾았을까. 유저 제보를 다시 봤다. "아이템 획득 중 네트워크 끊기면 복사됨" 아. 네트워크 불안정 상황. 우리는 사무실에서 테스트했다. 와이파이 빵빵한 곳에서. 유저는 지하철에서 했다. LTE 들락날락하는 곳에서. 그 차이였다. 재현 테스트 오후 내내 재현했다. 와이파이 껐다 켰다 반복. 100번. 51번째에 터졌다. 아이템 2개가 됐다. "재현했습니다." 개발팀에 리포트 올렸다. 개발자가 답했다. "알았어요. 근데 왜 런칭 전에 못 찾았죠?" 또 그 질문. "네트워크 불안정 테스트가 부족했습니다." "그걸 QA가 해야 하는 거 아닌가요?" 맞다. 우리가 해야 했다.말이 안 나왔다. "죄송합니다"만 또 했다. 커뮤니티 반응 점심시간. 커뮤니티를 봤다. "이 회사 QA 뭐 함?" "테스트도 안 하고 런칭했냐" "돈만 받고 놀았네" 칼이었다. 하나하나가. 댓글 200개. 추천 500개. 옹호하는 댓글은 없었다. "QA가 사람인데 다 찾겠어요?" 이 댓글도 있었다. 추천 5개. 나머지는 욕이었다. 창을 껐다. 더 못 봤다. 야근의 이유 저녁 9시. 아직도 회사. 버그 리스트를 정리했다. 유저 제보 500건. 중복 제거하니 80건. 심각도 분류했다. Critical 12건. High 35건. Medium 33건. Critical 12건은 핫픽스 대상. 내일 새벽까지. 개발팀이 수정하면 내가 확인한다. 전수 확인. 예상 시간 6시간. 새벽 4시쯤 끝날 것 같다. 집에는 못 간다. 오늘도. 편의점 도시락 먹었다. 세 번째. 동료의 위로 새벽 1시. 윤서가 커피를 줬다. "너 탓 아니야." "근데 다들 나를 봐." "나도 봐. 우리 팀 전체를 봐." 윤서도 힘들다는 걸 안다. 리드 QA라서 더. "우리가 할 수 있는 거 했어. 시간도 부족했고 인력도 부족했어." 맞다. QA 3명이서 RPG 전체를 테스트했다. 개발자는 20명인데. QA는 3명. "그래도 유저는 모르잖아." "응. 모르지." 윤서가 자기 자리로 갔다. 테스트하러. 나도 했다. 핫픽스 빌드 확인. 4시의 퇴근 새벽 4시 반. 마지막 버그 확인 끝. "전수 확인 완료. 배포 가능합니다." 개발팀장한테 메시지 보냈다. 답장은 안 왔다. 자고 있겠지. 사무실 불을 껐다. 마지막 남은 사람. 엘리베이터에서 거울을 봤다. 눈이 충혈됐다. 3일 동안 15시간씩 일했다. 얼굴이 푸석하다. 27살 얼굴이 아니다. 택시 탔다. 회사 법인카드로. 기사님이 물었다. "야근하셨어요?" "네." "힘드시겠네요." "네." 더 할 말이 없었다. 핫픽스 배포 다음 날 오후. 핫픽스 나갔다. 공지가 떴다. "긴급 점검 완료. 버그 수정했습니다." 커뮤니티 반응을 봤다. "수정 빠르네" "이제야 하네" "처음부터 제대로 하지" 칭찬은 없었다. 당연한 걸 했다고 생각하니까. 욕은 줄었다. 그게 다행이었다. QA 얘기는 더 이상 없었다. 관심 밖. 우리가 밤샘한 건 아무도 모른다. 우리가 6시간 동안 전수 테스트한 것도. 그냥 "개발팀이 수정했다"로 끝. 팀장의 말 오후 회의. 팀장이 말했다. "다들 고생했어. 특히 QA팀." 처음 듣는 말이었다. 긴급 회의 때는 없던 말. "근데 다음부터는 네트워크 불안정 케이스도 체크하자." 또 숙제가 생겼다. 체크리스트에 항목 추가. "네트워크 불안정 시나리오 테스트" 이미 200개 넘는 체크리스트. 거기에 하나 더. 시간은 그대로인데. 일은 늘었다. "시간 더 주실 수 있나요?" 윤서가 물었다. "런칭 일정은 이미 정해졌어. 다음 업데이트도." 없다는 뜻이었다. 무력감의 정체 퇴근길. 지하철에서 생각했다. 왜 이렇게 무력할까. 우리가 못해서? 아니다. 할 수 있는 건 다 했다. 시간이 없어서? 맞다. 하지만 핑계처럼 들린다. 유저가 더 많아서? 맞다. 하지만 변명처럼 들린다. 결국 답은 하나다. 버그는 항상 나온다. 100% 막을 수 없다. 근데 사람들은 100%를 원한다. 개발자 실수는 "버그"라고 한다. QA 실수는 "직무유기"라고 한다. 같은 실수인데 다르게 본다. 그래도 하는 이유 집에 도착했다. 고시원 방. 침대에 누웠다. 천장을 봤다. 그만둘까 생각했다. 100번째쯤. 이직할까 생각했다. 200번째쯤. 근데 안 한다. 아직은. 왜냐면. 버그 찾는 게 재밌어서. 가끔. 유저들이 즐기는 거 보면 뿌듯해서. 가끔. "버그 없네. QA 잘했다"는 말 들으면 좋아서. 거의 안 들리지만. 그리고 이거. 누군가는 해야 하니까. 개발자가 만들면 누군가는 확인해야 한다. 그게 우리 일이니까. 다음 버전 다음 날 출근. 새 빌드 받았다. 차기 업데이트 빌드. 신규 던전. 테스트 시작했다. 또. 던전 입장. 몬스터 잡기. 보상 확인. 정상이다. 지금은. 근데 안다. 어딘가에 버그가 있다는 걸. 내가 못 찾을 수도 있다는 걸. 런칭 후 유저가 찾을 수도 있다는 걸. 그때 또 무력할 거라는 걸. 그래도 한다. 찾을 수 있는 만큼. 마우스를 움직였다. 던전 2회차. 체크리스트를 켰다. 201개 항목. 하나씩 체크했다. 오늘도.버그는 항상 나온다. 근데 QA는 항상 욕먹는다. 그게 이 일이다.