시시각각 변하는 게임 UI와 스크립트, 물리적인 문제까지
모든 개발 과정이 그렇듯 해결해야 할 문제는 끊임없이 나왔다. 스크립트를 개발하는 도중에도 게임의 UI가 계속 바뀌었고, 게임마다 적용된 게임 엔진이 달라서 새로운 게임이 출시되거나 엔진 버전이 업데이트될 때마다 새로운 플러그인을 만들어야 했다. 테스트 스크립트가 늘어날수록 변경 사항들도 늘어났다. 테스트 기기 수가 늘어나면서 배터리 방전 등 물리적인 문제도 발생했다. 또한 게임 개발팀이 여유가 없어 자동 테스트 빌드를 나중에 주겠다고 하는 경우도 있어 자동 테스트용 빌드를 직접 빌드하고 테스트하기 위해서 배포하기도 했다.
이런 문제들은 장애물을 하나씩 넘듯 해결해 나가야 했다. 우선 UI가 변화하더라도 검색할 수 있도록 게임 내 오브젝트 검색 방법을 다양하게 했다. 추가로 테스트마다 공통적인 스크립트를 따로 모은 공통 라이브러리를 만들어 하나의 라이브러리에서 여러 스크립트가 공통적인 부분을 활용하도록 했다. 물리적인 문제는 하나하나 시행착오를 겪으면서 해결했다. 모니터링 시스템을 도입하고, 원격 재부팅을 하고, 무선랜 AP를 추가했다. 개발팀의 사내 배포는 개발팀에서 사내 빌드에 디폴트로 포함해서 자동 테스트 빌드를 따로 만들지 않도록 바꾸었다.
공동 설계와 2,600번의 테스트로 신뢰를 확보하다
자동 테스트를 개발하는 과정에서 게임 QA가 던진 질문은 아이러니하게도 ‘QA가 자동 테스트의 결과를 신뢰할 수 있느냐’였다. QA 입장에서 보면 단지 PASS라고 찍힌 결과지를 쉽게 신뢰하고 그냥 받아들이기가 어려운 것이 당연했다. 그래서 시행착오를 거치면서 게임 QA와 함께 테스트 영역 선정과 테스트 시나리오 설계를 했고, 확인하고자 하는 항목이 포함된 리포트 양식도 함께 설계했다. 그 결과 최근에는 2,600회 정도의 테스트를 연속적으로 시행하면서도 네트워크 오류 외에는 거의 테스트 오류가 발생하지 않는 높은 신뢰도를 확보했다.