저에게는 게임 개발에 QA라는 직군이 있는 줄도 몰랐던 시절이 있었습니다. 사실 게임은 그냥 코드를 뚝딱하고 짜면 짠! 하고 만들어지는 것이라고 생각을 했다는 것이 더 정확할 겁니다. ‘개발자 = 똑쟁이’ 라서 저절로 양질의 제품이 만들어지겠지... 하는 바보 같은 생각이었죠. 우연한 기회로 QA를 업으로 삼고 나니, 테스트라는 것이 정말 소프트웨어 개발에 있어 상당히 중요하구나라는 것을 소름 돋을 정도로 느끼게 되었습니다. 생각보다 게임에는 고쳐야 할 것들이 엄청나게 많거든요.
우선 QA 활동이 게임 개발에 왜 필요한지는 아래 문장으로 간단하게 요약할 수 있을 것 같습니다.
“QA활동을 통해 게임 내 잠재위험과 문제점을 사전에 찾아내어, 제품의 품질을 보증하고 릴리즈 이후 발생하는 비용을 감소시킬 수 있다.”
위 문장이 전반적인 QA활동에 대해 적절히 잘 표현한 것 같습니다. 그렇지만 이렇게 정리하면 너무 식상합니다. 마치 면접장에서 많이 들을 수 있는 대답 같아 보이지 않나요?
그렇다면 좀 더 깊게 생각해봅시다. 만약 “그래서 너의 업무가 프로젝트 안에서 어떤 가치를 창출하는데?”라는 공격적인 질문을 갑자기 받게 되었다면, 빠르고 정확하게 저희의 가치를 상대방의 뇌리에 각인 시킬 수 있으신가요? 몇 년 전의 저였다면, 아마 흔들리는 동공과 떨고 있는 꽉 쥔 주먹만 보여주었을 것 같습니다.
게임 QA로 오랫동안 일하다 보니 가끔 시간이 날 때 마다 ‘나는 프로젝트에서 어떤 가치를 가질까?’하는 질문을 떠올립니다. 그래서 이번 포스팅은 그것에 대한 나름의 답을 같이 이야기하고자 합니다. 테크니컬한 부분은 없습니다만, 특별히 게임 QA를 직업으로 삼고 애정을 가진 많은 분들이 자부심을 가질 수 있도록 조금이나마 도움이 되었으면 합니다.
#1. 게임에서의 품질 기준
QA가 Quality Assurance 인 것은 모두 잘 알고 계실겁니다. 직역하면 역시나 ‘품질 보증’이구요. 어쨌든 단어풀이는 이해가 되는데, 그에 비해 예전부터 명확치 않았던 것이 있었습니다. 우리의 테스트 활동이 어떻게 품질을 ‘보증’하는 것일까요? 농축산품처럼 품질등급을 도장으로 쾅 찍는 것도 아니고, 공산품처럼 6시그마(σ) 품질관리를 활용해 불량률을 정확하게 평가할 수 있는 것도 아닌데 말이 죠. 소프트웨어 제품이라는 두루뭉술한 대상에 대해서 우리는 어떻게 품질을 평가하고 있는걸까요?
이에 대한 정의는 사람에 따라 조금씩 다르겠지만, Software Testing Help 사이트에서 설명한 내용이 오늘 포스팅의 주제에 부합할 것 같습니다.
소프트웨어 품질보증(Software quality assurance, SQA)은 모든 소프트웨어 공학 프로세스, 방법 및 작업 결과물을 모니터링하여 정의된 표준을 준수하는지 확인하는 수단이자 관행이다.
출처 : https://www.softwaretestinghelp.com/software-quality-assurance/
여기서 말하는 QA는 “정의된 표준을 준수하였는가?”에 초점을 맞추고 있습니다. 그렇다면 우리는 먼저 게임 서비스에서 ‘정의된 표준’이 무엇인지 정리해야 할 것 같습니다.
ISTQB Foundation을 공부하셨다면 ‘요구사항’에 대한 내용을 기억하실 겁니다. 이는 사용자가 제품에 원하는 여러가지 기능/비기능적 사양을 뜻합니다. 이 요구사항이 제대로 충족되었는지 인수 테스트를 거친 다음 비로소 제품이 사용자에게 전달되게 됩니다. 즉, 사용자 요구사항이 명확히 정의되면서 표준(Standards)이 되고, 이 기준선을 통과한 상태를 우린 품질이 보증된 상태라고 볼 수 있을 것 같습니다.
그럼 라이브 서비스되는 게임에서 유저 요구사항은 무엇일까요? 이에 대해 ‘확실하게 정의할 수 없다’는 것이 제 의견입니다. 게임을 이용하는 유저들은 다양한 의견을 표출합니다. 서로 상반되어 충돌이 야기되는 의견도 심심치 않게 나오곤 하죠. 주류의견은 있을 수 있어도 통일된 명확한 요구조건은 나오기 힘든 환경이라고 볼 수 있습니다. 게다가 라이브 서비스라는 특징 때문에 이 요구사항들은 각종 조건에 따라 변경되거나 철회될 수도 있습니다. 이는 게임의 ‘재미’가 주관적인 측면이 강한 평가 요소이기도 하고, 또한 게임 서비스는 특정 기능이 필요한 사용자에게만 제공되는 것이 아닌 불특정 다수에게 배포되기 때문에 발생하는 필연적인 현상이라고 생각합니다.
결국 이런 상황에서 개발진은 선택의 기로에 놓이게 됩니다. 모든 의견은 소중하지만 우리의 시간은 유한하고 일정은 빡빡합니다. 따라서 먼저 VOC들의 우선순위를 설정하여 목록화 하고 분석 해야 할 필요성이 생깁니다. 어쩌면 개발 여건에 따라 약간의 타협이 필요할 수도 있습니다. 이렇게 되면 유저의 요구사항에는 ‘개발진의 의도’가 자연스럽게 반영됩니다. 요구사항을 명확하게 정의할 수 없기 때문에 하릴없이 자체적으로 가치를 부여하게 되기 때문이죠.
그래서 게임 개발진은 유저들과 소통해야 하는 의무를 동시에 지게 됩니다. 이런 의도가 어떤 방식으로 반영되었고 어떤 이점이 있는지, 어떤 문제점을 예상하는지, 앞으로의 계획은 어떤 지에 대한 상세한 소명이 있어야 한다는 뜻 입니다.
#2. QA활동의 가치
그럼 이제 QA활동이 제품에 어떤 기여를 하는가에 대한 내용을 고민해볼 차례입니다.
사실 제 결론은 간단합니다.
“게임 개발진과 유저 간의 원활한 소통을 위해 QA는 다양한 활동을 통하여 제품의 장애(Failure)를 최소화 하고, 소통의 질을 높이는데 기여한다.”
