바벨의 도서관
버그의 도서관
버그 세상은 바벨의 도서관과 같다. 그것은 하나의 우주이며 끝없이 나열된 세상이다. 다만 버그의 도서관은 실시간으로 수없이 많은 버그들로 계속 채워진다. 한 명의 QA로써 2개 회사에서 수년간 경험한 바로는 1년에 보통 1000개 내외 버그를 만들어낸다. 이들이 팀을 이루고 또 이 팀이 여러 개라면 수 천, 수 만개의 버그가 매년 새로 생성되는 셈이다. 우리는 그 속에서 단순히 오류를 찾아 책을 쓰는 존재일까, 아니면 이야기를 해독하는 독서가일까?
버그의 발견
버그는 단순한 실패가 아니다. 게임이 우리에게 말을 거는 방식이다. QA는 그 방식과 언어를 해석하는 사람이다. 그렇기 때문에 버그와 관련된 정보를 모으고 재현 과정을 적고 기대 결과까지 판단해야 한다. 얼마나 시급하고 중요한 문제인지, 앞으로 수정 방향은 어떻게 될지 정하고 관련된 팀들과 합의해야 한다. 예를 들어 기획서에 없는 버그들이 이런 경우가 많다. 분명한 버그지만 기획 의도 자체가 없는 경우 새로운 정의를 내리고 구현 일정도 잡아야 한다. 이런 버그들은 다른 시스템, 콘텐츠에 영향을 줄 때도 많다. 버그가 수정되면 그 수정된 범위에 있는 영역들을 모두 검증해야 한다. 때때로 버그는 코드가 말하는 ‘도와줘’라는 신호로 보인다. 이런 반응에 가장 민감하게 반응하는 사람들이 QA다.
혼돈과 질서
소프트웨어 관점에서 게임은 불안정한 요소가 많다. 그 어떤 소프트웨어보다도 '재미'에 목적을 두고 사용자 성격도 다양하기 때문이다. 특히 라이브 서비스 중인 게임은 살아있는 생명체지만 그 자체로 무질서한 느낌도 가지고 있다. 담당하는 영역에서 하나의 버그를 수정하거나 개발하면 생각지 못한 플레이에서 영향을 받는 걸 자주 목격한다. 마치 나비효과와 같다. 특히 업데이트 전날에 늦은 시간까지 대응을 하다 보면 개발진 모두가 놓치는 부분이 발생할 수 있다. QA는 도서관 사서가 반납한 책들이 쌓여있는 것을 정리하는 것처럼 이 혼돈을 질서 있게 만든다. 테스트 케이스는 책 분류와 같은 역할을 하고 버그 리포트는 책 목록들과 같이 관리한다. 업데이트 대응의 가장 마지막 단계는 QA의 결과 보고서로 끝난다. 버그 수정을 확인하고 수정되지 않는 버그는 어느 시점에 대응될지 합의하고 어느 수준까지 게이머에게 공개할지도 조율한다.
책 사이 공백
사실 버그보다 무서운 것은 보이지 않는 결함이다. 아직 발견되지 않았다고 표현하는 게 더 정확하겠다. 테스트의 법칙에도 있지만, 소프트웨어에 버그가 없는 경우는 없다. 그렇기 때문에 수많은 시간과 여러 가지 테스트 방법을 사용해도 버그는 항상 존재한다. 그 심각도가 다를 뿐이다. 그렇기 때문에 QA는 항상 어느 정도 불안을 가지고 있다. 라이브 서비스 중 관련 커뮤니티나 인게임 채팅 등 별 이야기가 없다면 다행을 느낀다. 때문에 QA의 한계도 명확하다. 버그 때문에 QA팀을 질책하는 경우는 6년 차에 접어든 지금 보지 못했다. 다만 QA팀은 항상 완벽을 향한 집착을 추구한다. 테스트는 항상 불완전하다. 어디인가에 틈이 있다. 근본적인 진실은 공백이 있다는 것이다.
AI 사서의 등장
시대가 종업원 대신 키오스크를 들여온 것처럼 버그의 도서관에 AI 사서가 등장하고 있다. 그러나 그들은 책의 냄새를 모른다. 인간 QA의 감각과 직관은 마지막 무기가 될 것이다. 버그의 도서관에 있는 책엔 낙서가 많다. 개발자의 실수, QA의 메모, 플레이어의 불만까지. 완벽하지 않아서 올바르게 대응되는 부분은 사람만이 쓰다듬을 수 있다.
우리가 읽은 것은 사람
버그의 도서관에서 우리가 읽은 건 결국 사람의 흔적이었다. 불완전함을 통해 세상을 더 깊이 이해하려는 인간의 이야기들이다. 이 무한한 도서관 안에서 QA의 일은 오류가 아닌 이해의 일임을 오롯이 느낀다. 앞으로 내가 남기고 또 마주할 수많은 책들이 나를 반긴다.