원격 자동화 테스트

배경

 

게임 출시를 위해서는 테스트 과정을 필수적으로 거쳐야 한다. 테스트를 통해 게임이 잘 실행되는지, UI는 정상적으로 작동되는지 등의 기본 사항과 게임내 특정 조건에서 발견되는 버그가 수정되었는지와 같은 추가적인 사항을 확인한다.

이를 위해서는 다양한 기기들과 테스트하는 시간이 필요한데, 여기에는 현실적인 문제가 있다. 회사가 보유한 기기의 개수와 우리가 테스트 업무를 진행할 수 있는 시간이 한정적이라는 것이다. 또한, 사람이 테스트를 진행하다 보면 실수로 테스트 일부를 놓치게 되고 놓친 테스트에서 버그가 발견될 수도 있다.

위의 문제점을 보완할 방법으로 원격 자동화 테스트를 시도해보았다.

원격 자동화 테스트

 

아래 그림과 같이 개인 컴퓨터에 있는 테스트 스크립트를 실행하면 다양한 기기들에 각각 자동화 테스트가 전송돼서 테스트를 실행하고 그 결과를 확인할 수 있다.


테스트 방법

 

1. 자동화 테스트 스크립트 작성 with appium, selenium

     모바일 기기를 원격으로 조작할 수 있도록 Appium과 Selenium을 이용해서 테스트 스크립트를 작성한다.

2. 자동화 테스트 지원 서버와 연결

    원격으로 기기를 자동화 테스트에 사용할 수 있는 서비스를 운영하는 서버에 연결한다.

    (Browser Stack, AWS DeviceFarm, Kobiton 등이 있음)

3. 서버와 연결한 스크립트를 실행해서 결과 확인

    스크립트를 실행해서 작동된 테스트 결과를 2번에서 연결한 서비스에서 확인한다.

    테스트 과정에 문제가 있다면 테스트 스크립트를 보수한다.

Browser Stack에서의 테스트 결과 화면

 

아래 그림과 같이 테스트 결과는 영상 및 로그로 확인이 가능하다.

 

(이미지)

 

기대효과

1. 대부분의 자동화 테스트를 지원하는 서비스에서는 다양한 기기를 보유 및 사용할 수 있기 때문에 기기의 제한 없이 테스트가 가능하다.

2. 초반에 자동화 테스트 스크립트를 작성하는데 시간을 투자하면 그 후 테스트 하는데 소모하는 시간을 다른 작업에 투자할 수 있다.

3. 정해진 과정으로 테스트가 진행 및 결과 확인이 가능하므로 테스트가 누락될 염려가 없다.

아쉬운 점

 

iOS 게임을 테스트할 때 Provisioning Profile에 등록된 기기만 ipa파일을 설치할 수 있으므로 idfa를 알아내지 못하거나 idfa가 바뀌는 경우에는 iOS 게임을 테스트하기 어렵다는 점이 아쉬운 부분이다.