원격 자동화 테스트

배경

 

게임 출시를 위해서는 테스트 과정을 필수적으로 거쳐야 한다. 테스트를 통해 게임이 잘 실행되는지, 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 게임을 테스트하기 어렵다는 점이 아쉬운 부분이다.