QA 컨퍼런스에서 다섯 번째 발표를 맡아주신 김준식 님의 발표 내용을 정리해 보도록 하겠습니다.
게임을 좋아하다보니 게임 QA 발표도 기대된 발표 중 하나였습니다.
그중 게임 데이터면 확률을 말하는 건지 밸런스를 말하는 건지 궁금증이 생기는 주제였고,
발표를 들어보니 게임에서 민감할 수 있는 데이터들(재화, 확률)을 관리하고 검증하는 방식을 잘 알려주는 발표였습니다.
요즘 게임사의 민감한 확률 문제에 대한 기사가 많았는데 이 부분에 대한 이야기를 해주셔서 흥미롭게 들었던 발표였습니다 🎮🎮
제가 작성하는 내용은 QA 컨퍼런스 후기일 뿐입니다!
QA 컨퍼런스에 직접 참여하셔서 발표를 들어보시는 것을 정말 추천드립니다!
QA 코리아 컨퍼런스 : https://www.qa-korea.com/
김준식 님 링크드인 : 링크드인 연결 링크
QA 컨퍼런스의 다섯 번째 발표는 김준식 님이 발표해 주셨습니다. 게임에서 사용하는 데이터의 의미, 데이터의 구성 방식과 QA 업무 중 데이터를 활용하여 게임 검증을 하는 방식에 대해 간략하게 소개해주셨습니다.
발표 시작 전 수행했던 프로젝트에 대해 간략하게 소개해주셨고 예전부터 유명했고 주변에서도 많이 하는 세븐나이츠 게임도 담당했다고 하셨어요. 갑자기 든 생각으로는 세븐나이츠라는 게임이 출시 10년이 지나도록 서비스를 제공했지만 곧 서비스 종료를 맞이하고 있다는데 작업을 참여했던 게임들이 없어지는 기분은 어떨까라는 생각도 들었습니다.
게임에 대한 이야기를 시작하면서 개발사와 유통사에 대해 설명해 주셨는데, 게임을 직접 개발하는 개발사와 개발된 게임을 운영, 유통, 마케팅 작업을 하는 유통사가 구분되어 운영된다고 알려주셨습니다. 게임 QA는 개발사에 속해서 게임 관련 작업을 진행한다고 하네요.
게임이라는 도메인에 대해 설명해 주시면서 QA 업무는 소프트웨어 QA와 유사하지만, 게임의 자유도가 높은 경우 예상하지 못한 동작들이 발생할 수 있어서 확인해야 할 부분이 많다고 느꼈습니다. 게임을 자주 하는 유저라서 많이 공감되는 부분이었습니다. 사용자의 행동 제약을 줄여서 게임의 자유도를 높여준다면 정말 예상하지 못한 동작들을 하는 경우가 발생할 수 있으니까요.
위 게임 이미지는 따로 첨부해 온 이미지입니다. 위 이미지처럼 예상 못한 동작을 하거나, 상황에 맞지 않는 행위를 했을 때도 정상 진행이 되는지 업데이트나 패치를 할 때마다 일일이 확인할 순 없을 것 이기 때문입니다. 테스트 7원칙 중 "완벽한 테스트는 불가능하다"라는 말이 게임 QA를 진행할 때 절실하게 느낄 것 같다는 생각이 들었습니다 🕵️♂️
하지만 이런 버그도 웃고 넘길 수 있는 부분이면 다행이지만 재화나 게임 BM(business model)과 연관이 있으면 크리티컬 한 이슈를 발생시킬 수 있을 수 있습니다. 그래서인지 게임 QA업무 중 데이터와 관련된 검증의 중요성을 강조해 주셨습니다.
게임에서의 데이터는 여러 종류가 있는데, 재화나 경험치, 레벨, 확률 등 다양한 곳에 데이터가 들어가 있다고 설명해 주셨습니다. 결국엔 게임은 데이터로 성장을하고 싸우고 발전하는 것이기에 게임에서 데이터가 모든 곳에서 영향을 가진다는 느낌으로 알려주셨습니다.
데이터의 기본 구조 형식을 보여주면서 관계형 데이터베이스 시스템(RDBMS)의 구조를 간략하게 알려주셨습니다. 게임 QA에서 사용하는 데이터 구조 설계에 대한 안내를 해주셨고, 직접 DB 연결고리를 보여주시면서 설명해주셨습니다.
요즘은 DB를 직접 설계하거나 관리할 일이 없기에 오랜만에 테이블 구조를 보면서 학교 데이터베이스 수업이 생각났습니다 😁
하나의 계정에 연결된 테이블들을 트리 형태로 보여주시면서 관계형 데이터베이스 연결 구조에 대해 설명해 주셨습니다. 단순히 하나의 계정이지만 연관된 데이터는 정말 많다는 것을 알려주셨습니다. 보이는 연결 트리처럼 계정 테이블은 연결된 트리의 테이블과 연결되어 한 계정이 어떤 데이터를 가지고 있는지 바로 확인할 수 있는 구조로 구성되었다고 하시네요.
데이터를 가장 효율적으로 사용할 수 있는 부분은 확률과 관련된 부분이라고 말해주시면서 최근 이슈되었던 확률 기사에 대한 언급을 하셨습니다. 관련된 기사에는 가챠라는 뽑기 시스템의 확률을 조작해서 논란이 되었던 게임들을 보여주셨고, 데이터를 가장 많이 쓰는 확률에 대한 설명을 하기 위해 가챠 시스템을 예로 들어보겠다고 하셨습니다.
가챠(Gacha)라는 단어는 일본어 단어인 "가챠폰"(ガチャポン)에서 비롯되었으며 한국말로 뽑기 기계라고 해석하시면 될 것 같습니다. "가챠"(ガチャ)는 기계 손잡이를 돌릴 때 나는 소리를 의성어로 나타낸 표현이며, "폰"(ポン)은 캡슐이 떨어질 때 나는 소리를 의성어로 나타낸 표현입니다. 이를 줄여서 간단하게 "가챠"라고 부르고, 뽑기 즉. 돈을 지불해서 무작위 상품을 얻는 것을 말하고 게임 용어에서는 무작위 아이템이나 캐릭터를 뽑는 시스템을 가챠라고 말합니다.
개발할 때 한글보단 영어를 많이 사용하여 Gacha라는 단어를 많이 사용한다고 하네요.
확률 데이터를 검증하는 방식은 개발팀에서 만들어준 시뮬레이션 도구를 사용해서 확률을 검증했었는데, 데이터 베이스를 직접 확인한 뒤로는 시뮬레이션 도구를 사용하지 않고 직접 데이터베이스를 확인하여 확률을 검증한다고 하시네요.
위 설명처럼 확률을 검증하는 방법은 가챠 1회, 11회 수행 등 가챠를 수행하는 아이템이 있다면 아이템을 N번 수행하고 데이터베이스에 저장된 결괏값을 파악해서 아이템에 설정된 확률이 맞는지 검토하는 작업을 진행하신다고 합니다.
새로운 캐릭터나 아이템이 나오는 경우를 예로 들어 설명해 주셨습니다. 신규 데이터가 추가 시 현재 사용하는 가챠 시스템을 그대로 활용하여 동일한 로직에 새로운 아이템 데이터를 추가하고, 이전과 동일한 방식으로 가챠 시스템을 N번 수행해서 나온 결괏값을 확인한다고 하네요.
가챠 컨텐츠를 검증하는 것 외에도 UI로 보이는 값들을 임의로 조작할 수 있어서 필요시 바로 데이터를 조작해서 게임 데이터에 대한 검증을 수행한다고 하네요. 보통 개발자분들이 QA 테스트 툴을 만들어주신다고 하네요. 이를 잘 사용해서 데이터를 검증해야 한다고 하셨습니다.
데이터 검증을 수행하면서 도움 되는 부분에 대한 추가 설명을 해주셨습니다. 게임의 데이터 관계를 파악하고 검증하다 보면 게임의 구조를 더 면밀하게 분석하게 되고, 게임이 완성된 후 블랙박스 테스트를 하는 경우가 있는데 데이터를 알고 있기 때문에 더 깊은 테스트를 수행할 수 있다는 장점을 알려주셨습니다.
그리고 버그를 발견했을 때 원인 식별을 빠르게 할 수 있어서 원인 파악하는 공수를 줄일 수 있다고 하셨습니다
예를 들어 기획의도는 50 골드를 획득해야 하지만 62 골드를 획득하는 경우 문제를 파악하기 위해 데이터를 확인해 보면 어떤 부분을 수정해야 할지 파악된다고 하시네요. 실제 저장된 데이터가 잘못된 경우라면 데이터 베이스를 수정하여 이슈를 해결할 수 있고, 데이터가 정상이라면 개발 로직이 잘못되었거나 테스트 중 다른 영향으로 골드가 추가로 쌓인 것이 아닌지 검토할 방향을 정할 수 있다고 하셨습니다.
마지막으로 데이터만 잘 이해한다면, 검증이나 식별 등 QA 업무의 전체적인 퍼포먼스를 올릴 수 있어서 데이터 관리와 분석의 중요성을 강조해 주셨습니다.
게임 QA는 경험이 아예 없기 때문에 어떤 중요성을 강조하실지 궁금했는데, 데이터 관리 측면에 대한 중요성을 강조하시는 것을 보고 하나의 게이머로써 끄덕일 수밖에 없는 주제였습니다. 실제로 아이템 복사나 재화 복사로 인해 게임이 순식간에 망해버리는 케이스를 많이 봤고, 요즘 한창 뜨는 확률 조작 이슈도 있기 때문입니다. 참고로, QnA로 말씀해 주셨긴 했는데, 테스트서버와 라이브서버는 완전 분리되어 있기 때문에 라이브 서버에 대한 데이터 수정은 불가능하다고 하셨습니다.
게이머의 생각으로, QA의 생각으로 두 가지 관점으로 발표를 재밌게 들어봤습니다 :)
다음은 AI 챗봇에 관련된 내용이네요 다음 포스팅에서 이어가겠습니다!
'IT Conference > QA Conference (2024, 3rd)' 카테고리의 다른 글
7. 결제 단말기 E2E 자동화 도입 및 운영 사례 (0) | 2024.07.09 |
---|---|
6. 쏘카 QA 프로세스로 AI챗봇 고객센터 시스템(AICC) 품질 높이기 (0) | 2024.07.08 |
4. QA 엔지니어와 협업하여 생성형 AI 프로덕트의 완성도 높이기 (0) | 2024.07.07 |
3. 키워드 기반 자동화 테스트 with 로봇 프레임워크 (0) | 2024.07.07 |
2. 자동화의 신뢰성을 높이기 위한 액션 (0) | 2024.07.07 |