1. 효율적인 테스팅 도구를 선택하세요
게임을 효과적으로 테스트하기 위해 고급 소프트웨어나 하드웨어에 투자할 필요가 없습니다. 디버깅, 성능 분석, 유용성 테스트, 피드백 수집 등 게임 테스트의 다양한 측면에 도움이 될 수 있는 무료 또는 저가의 도구가 많이 있습니다.
게임 개발에 사용되는 프로그램 및 언어에 따라 적합한 오픈 소스 프로그램을 찾아보세요. API 테스트 및 게임 서버와의 통합 테스트에 유용한 Postman. 여러 명의 개발자가 동시에 작업하는 지속적인 개발 환경에서 유용한 빌드 및 테스트 도구 Jenkins. 앱 자동화 및 로깅, 디버깅을 위한 다양한 기능을 제공하는 Appium. 이러한 도구를 통해 효율적인 테스트 수행, 반복 작업의 감소, 일관성 있는 결과가 제공되어 개발 프로세스를 향상 시킬 수 있습니다.
저렴하면서도 효과적인 게임 성능 분석을 위한 도구의 일부로는 MSI Afterburner, OCAT(Open Capture and Analytics Tool)와 같은 프로그램이 있습니다. 프레임 속도, GPU 온도, 전압 등을 측정 및 분석해주어 원하는 성능 지표를 측정할 수 있습니다. OCAT는 시간(초)별 테스트 결과를 csv 파일로 제공해주어 객관적이고 정확한 테스팅 결과를 생성할 수 있어 유용합니다.
피드백 수집을 위해서는 Google Forms을 통해 설문지 작성을 요구할 수 있습니다. 직관적인 사용법으로 작성 및 배포가 편리하고 설문 결과에 대해 자동 요약 데이터를 제공해주기 때문에 적은 리소스로 높은 효율 보여줍니다.
2. 게임 테스트 전략의 수립
게임 테스트를 시작하기 전에 무엇을 테스트하고 싶은지, 어떻게 테스트할지, 누구를 테스트 할 지에 대한 명확한 아이디어가 있어야 합니다. 테스트 목표, 기준 및 방법을 정의하고 게임의 가장 중요한 부분과 기능의 우선순위를 지정해야 합니다.
무엇을 테스트하고 싶은 지 목표가 정해지지 않으면 목표 없는 반복 테스트로 인한 시간 손해, 부정확한 명세로 인한 객관성 하락으로 테스트를 통해 얻고자 했던 결과 도출이 불가합니다. 이러한 문제는 게임 개발 과정에서 비용과 시간 손해를 발생 시켜 게임의 품질 저하로 이어질 위험이 있습니다. 테스트 목표를 정하기 위해 다음 내용을 떠올려보세요.
우선 해당 게임의 타겟층은 어디인가요? 특정 연령대나 게이머를 타겟으로 했다면 그에 대한 이해도가 높은 테스터나 해당 게이머들을 모아 FGT테스트를 진행해보는 것이 좋을 것입니다.
해당 테스트를 통해 게임의 어떤 면을 검증받고 싶으신 가요? 방대하고 화려한 그래픽 또는 동시에 많은 오브젝트가 동작하는 게임이라면 게이머들의 기기에서 안정적으로 구동 및 진행되는지 성능/호환성 테스트가 필요할 것입니다.
목표가 정해지면 전략을 결정해야 합니다. 수동 테스트, 자동화 테스트, 성능 테스트, 사용자 경험 테스트 등을 어떤 시기에 어떤 비율로 적용할지 말이지요. 우선순위가 정해지면 테스트 케이스를 통해 테스트의 목적을 더 명확하게 다듬을 필요성이 있습니다. 이러한 테스트 전략은 테스트 프로세스의 투명성과 효율성을 향상 시키는데 기여하고 테스트 결과 품질에도 도움이 될 것입니다.
3. 게임 테스팅 자동화
게임 테스트의 비용과 노력을 줄이는 한 가지 방법은 가능한 한 많이 자동화하는 것입니다. 자동화는 사람의 개입 없이 오류, 충돌 또는 성능 문제 확인과 같은 반복적이고 지루한 작업을 수행하는 데 도움이 될 수 있습니다.
Postman, Appium은 다양한 프로그래밍 언어를 지원하는 게임 및 애플리케이션 테스팅을 위한 자동화 도구입니다. 터치, 앱 실행 등 API나 프로그래밍 언어로 수행 가능한 동작들을 자동화할 수 있습니다. 동시에 여러 디바이스를 원격으로 제어하고 이슈 발생 로그를 통해 이슈를 식별할 수 있습니다.
Jenkins 지속적 통합 및 지속적 전달 (CI/CD)를 구현하는 데 인기 있는 오픈 소스 도구입니다. 기본적으로 Java로 작성된 플러그인 및 스크립트를 사용하나 다양한 플러그인을 통해 원하는 프로그래밍 언어를 선택하여 작성할 수 있습니다. 여러 개발자들이 동시에 작업하는 프로젝트에서 각자의 변경이 다른 개발자에게 미치는 영향을 빨리 식별하고 해결하는데 도움을 주는 도구로 규모가 큰 프로젝트 또는 지속적으로 개발하는 게임에서 사용하기 적합합니다. 유연한 스케줄링을 가능하도록 빌드 및 테스트 작업을 특정 일정에 따라 예약하거나, 소스 코드 변경 사항이 감지될 때 불안정한 변경 사항을 빠르게 식별하는 등 지속적으로 코드의 품질을 유지하고 문제가 발생했을 때 빠르게 대응하고 수정할 수 있도록 해줍니다.
이러한 프로그램을 통한 자동화로 개발 프로세스를 향상시킬 수 있지만 일부 테스트가 어려운 영역이 있습니다. 그래픽과 UI 테스트, 랜덤 요소 및 동적인 환경, 사용자 시나리오 게임 플레이 테스트가 그러합니다. 테스팅 자동화는 기본적으로 프로그래밍 언어를 통해 각 동작에 대해 코드를 작성하는 사전 작업이 필요하기 때문에 다양한 플랫폼과 디바이스 자동화는 코드 작성에 매우 많은 리소스와 시간을 필요로 합니다. 이러한 영역은 수동 테스팅과 특별한 자동화 전략을 구성하는 것이 효과적입니다.
4. 게임 커뮤니티를 활용하세요
예산에 맞춰 게임 테스트를 극대화하는 또 다른 방법은 기존 유저 또는 잠재 고객으로 구성된 커뮤니티를 활용하는 것입니다. 소셜 미디어, 게임 포럼, 블로그 또는 뉴스레터를 사용하여 커뮤니티와 소통하고 게임 테스트에 초대할 수 있습니다. 게임 커뮤니티의 유저들은 게임에 가장 관심과 애정이 많은 코어 게이머가 대부분으로 진정한 사용자 관점에서 평가하며, 다양한 플레이 스타일과 관점을 제공해줍니다. 그러나 주의할 점은 플레이어들에게 너무 많은 부담을 주지 않는 것이 중요합니다. 자연스러운 방식으로 커뮤니티와 소통하며 테스트를 수행하는 것이 좋습니다. 게임 커뮤니티를 통해 게임의 인기 있는 기능, 사용자 행동 패턴, 성능 이슈 등을 파악하고 게임 테스트의 효율을 향상 시키며, 사용자 중심의 개발을 실현해보세요.
5. 전문 파트너를 찾거나 타사를 벤치마킹 하세요
이전에 게임 테스트를 해본 적이 있는 전문 파트너사를 통해 예산에 맞춰 게임 테스트를 극대화할 수 있습니다. 또는 타 사의 게임 테스트 모범 사례 및 기사, 블로그를 통해 검토할 수 있을 것입니다.