모든 게임은 시장에 출시되기 전에 다양한 성능 테스트가 필요합니다. 그렇지 않으면 많은 비용과 노력으로 제작된 게임이 수많은 사용자들로부터 불만을 받게 되고 금전적인 부분 및 게임 전반에 대한 평판이 낮아질 수 있습니다. 그래서 대부분의 게임 퍼블리셔 및 개발사는 이를 인식하고 개발 중이나 확장판, 대규모 업데이트가 있을 대 정기적으로 성능 및 부하 테스트를 실행하는 테스트 프로세스가 필수 루틴이 되고 있습니다.
오늘은 전문 게임 QA 인력을 통해 기능성, 호환성, 마켓 검수, 성능 및 유저 테스트를 제공하는 라티스글로벌의 게임 테스터에게 게임 QA 업무에 대해 짧은 인터뷰를 진행해봤습니다. 게임을 출시하기 전에 어떻게 테스트를 진행하는지 그리고 테스터는 어떤 업무를 하는지 간략하게 소개해드리겠습니다.
1. 게임 테스터가 검증해야 하는 게임 테스팅에 대해 자세히 설명해주세요.
게임 테스팅은 정해진 목적에 도달하기 위해서 게임 테스터가 실행하는 개별 단위 수행 활동의 총집합이라고 할 수 있습니다.
이러한 과정을 조금 더 쉽게 설명하자면 게임 테스터는 플레이어의 시점에서 게임을 바라보고 실제 플레이를 통해 테스트를 진행하여 게임에 생명을 불어넣는 작업입니다.
생명을 불어넣기 위해서 게임의 기능을 확인하고 콘텐츠를 분석하며, 게임의 재미 요소들을 검증하기 위한 다양한 테스트를 진행합니다.
사운드, 그래픽 그리고 게임의 퍼포먼스까지 게임을 플레이 하는데 관여하는 모든 부분들에 대해 하나하나 검증하고 확인해 나갑니다.
이러한 테스팅 과정을 거쳐 게임을 플레이 하는 모든 플레이어들이 큰 어려움 없이 즐겁게 게임을 플레이 하도록 최종적인 마무리를 하는 것이 게임 테스터의 궁극적인 목적이라고 생각 합니다.
2. 직업에 대한 오해를 피하기 위해 게임 테스터의 정확한 핵심 역할과 책임은 무엇입니까?
게임 테스트는 다양한 QA 활동 중 하나의 보증 서비스라고 볼 수 있습니다.
프로젝트의 원래 목적을 정확히 이해하고 서비스의 품질을 보증하기 위한 역할을 분담하며, 오류와 같은 리스크를 감소시키고, 사용자에게는 최대의 서비스 가치를 제공하는 것을 목표로 하는 긴 QA 여정 중 일부입니다.
테스트는 완성품을 대상으로 하는 활동이 아닌 서비스 기획 단계부터 협업하여 개발, 테스트 그리고 출시까지의 전체 소프트웨어 라이프 사이클에서 잠재적인 품질 리스크를 찾아냅니다.
이후 찾아낸 리스크를 프로젝트의 모든 구성원과 그 정보를 공유하고, 해당 서비스가 최종 사용자의 요구사항에 충족하는지 다양한 측면에서 추적과 검증 활동을 진행합니다.
이러한 과정에서 여러 부서와의 협업은 필수적인 역량이자 역할이며 프로젝트를 설계, 진행해 나아가는 큰 과정에서 끊임없이 방향성을 확인하여 다양하고 반복적인 테스트로 문제를 찾아는 것이 테스터의 책임이라고 생각 합니다.
3. 게임 테스터 업무에 대한 프로세스를 소개해 주시겠습니까?
QA의 테스트 방법론은 다양한 방법이 존재하지만, 대표적인 건 아래 3가지입니다.
- 조직 테스트 프로세스
- 테스트 관리 프로세스
- 동적 테스트 프로세스
그 중 ISO/IEEE 29119-2 표준의 동적 테스트 프로세스(Dynamic Test Processes)가 가장 널리 활용되고 있습니다.
표준 동적 테스트 프로세스(Dynamic Test Processes)에 대해 조금 더 설명해보자면
촘촘하게 기획된 테스트 계획서에 따라 동적 테스트를 수행하기 위한 활동으로 정의내릴 수 있으며, 라티스 QA 팀은 아래와 같이 표준 동적 테스트 프로세스에 기반하여 기본적인 업무를 계획하고 마련합니다.
[프로세스 요약]
- 테스트 설계 및 구현
- 테스트 환경 구축 및 유지보수
- 테스트 실행
- 검출된 결함 등록 및 관리 / 테스트 결과 보고 및 마감
해당 프로세스 또한 여러 테스트 방식 중에 하나의 일환일 뿐 이것이 무조건 정답이라 할 수는 없습니다.
테스트 타겟에 따라 테스트 방식 각각의 장단점이 존재하므로
라티스 QA 팀은 테스팅 목적 및 타겟을 1차 제일 먼저 분석하여 이후 분석 결과에 따라
프로세스를 맞추어 테스팅을 준비합니다.
4. 게임에 오류가 없는지 어떻게 확인할 수 있습니까?
라티스의 QA 팀은 명세 기반 테스팅을 기본적으로 진행을 합니다.
테스트할 게임에 주어진 명세를 분석하여 테스트 케이스를 도출하고 해당 테스트 케이스를 기본으로 테스트를 진행하며 중대한 결함이 없음을 보장하는 테스팅 방식입니다.
이런 방식은 많은 부분에 대한 QA 커버리지가 가능하지만 100% 커버는 불가능 하므로 여기에 경험 기반 테스팅과 리스크 기반 테스팅을 병행하여 진행합니다.
또한 표준 프로세스와 경험 기반 만으로 일부 부족할 수 있는 부분은
라티스의 자유롭고 수평적인 의견 개진 문화와 높은 자율성을 더하여 보다 완성에 가까운 결과를 도출해내고 있습니다.
이렇듯 표준을 기반으로 하는 다양한 관점의 테스팅 방식들을 활용하여 최대한 게임에 오류가 없도록 하기 위해서 노력하고 있습니다.
5. 지금까지 게임 테스터로 일하면서 겪었던 어려움은 무엇입니까?
소프트웨어 분야의 QA와 테스트 역사는 제조업 분야의 품질보증 또는 테스트만큼 그 역사가 길지 않습니다. 그러다 보니 QA 조직 또는 QA 엔지니어들과 협업을 해 본 경험이 많지 않아 테스트를 어떤 식으로 진행하는지 어느 정도의 시간이 소요되는지 QA 팀과의 소통을 충분히 경험하지 못해 발생하는 어려움이 간혹 발생하곤 합니다.
예를 들면 서비스 출시를 바로 직전에 두고 긴급하게 게임 테스트 요청을 받는 경우가 있습니다.
게임 테스트는 출시 직전, 간단히 진행 가능한 범위는 아니기에 충분한 설계와 분석, 시간을 투자해야 하나 이슈에 따라 급박하게 진행을 해야 할 상황이 발생할 수 있습니다
충분하지 못한 일정과 상황에 따라 긴급하게 투입하여 테스트를 진행하였기에,
그 과정에서 발생되는 문제점과 제한 사항을 설명하는 경우가 어려웠음을 이야기하고 싶습니다.
6. 게임 테스터에게 필요한 기술은 무엇입니까?
QA 업무를 진행하는데 있어서 필요한 기술이라면 많은 부분들이 있습니다.
개인적으로는 중요하게 생각하는 3가지에 대해서 설명을 드리자면 아래와 같습니다.
1. 다양한 사항에 대한 분석 능력
2. 신속성과 정확성
3. 커뮤니케이션 능력
QA는 요구사항이나 스펙을 보고 테스트 케이스를 만들고 실제로 사용자가 사용할 때를 가정하여
업무를 진행해야 합니다. 그렇기 때문에 다양한 사항에 대한 분석 능력이 중요 합니다.
또한 QA 팀은 빠듯한 일정 속에서 업무를 완수해야 하는 특성을 고려하여 신속함과 정확성도 꼭 필요한 기술이라고 할 수 있습니다.
마지막으로 앞서 이야기한 부분이지만 QA 팀은 다양한 팀들과 협업을 하기에 원활한 업무 진행상 커뮤니케이션 능력이 중요 하다고 생각 합니다.