수많은 신규 애플리케이션이 앱스토어와 구글플레이에 등장하고 있다. 앱 개발 기간과 업데이트 기간도 점점 짧아지는 추세다. 신규 단말기가 속속 출시되며 하드웨어 사양과 운영체제 환경이 다양해지는 것도 앱 개발자들의 부담을 가중하고 있다.

앱 서비스 품질 관리도 중요하다. 모바일 앱 버그성 코드를 제거해야 하며, 에러와 성능도 주기적으로 살펴야 하기 때문이다. 서버 단에서도 주기적으로 애플리케이션 프로그램밍 인터페이스(API) 기능과 시나리오 기반 성능 테스트를 이어가야 한다.

이처럼 앱 출시 전 성능 데이터를 추적해 발생할지 모르는 문제를 정확하게 짚어내야 하는 것이 앱 개발진의 최대 과제다. 그러나 다양한 개발 환경과 운영체제 등을 고려해 모바일 앱 테스팅 환경을 설정하는 것 자체도 어려울뿐더러, 서비스 개발 이후 테스트를 따로 할 시간도 부족한 것이 현실이다.

황희선 EVA 커뮤니티 멤버는 15일 서울 상암 누리꿈스퀘어에서 소프트웨어 전문지 마이크로소프트웨어가 주최하고 IT조선이 주관한 ‘마소콘 2018’에 참가, 모바일 앱 테스트 자동화용 디바이스 팜(STF·Smartphone Test Farm)을 소개했다. STF는 다수의 디바이스를 디바이스팜으로 구성해 호스팅할 수 있게 해주는 오픈소스다.

15일 소프트웨어 전문지 마이크로소프트웨어가 서울 마포구 상암동 누리꿈스퀘어에서 개최한 ‘마소콘 2018’에서 발표 중인 황희선 EVA 커뮤니티 멤버./ IT조선
15일 소프트웨어 전문지 마이크로소프트웨어가 서울 마포구 상암동 누리꿈스퀘어에서 개최한 ‘마소콘 2018’에서 발표 중인 황희선 EVA 커뮤니티 멤버./ IT조선
앱 개발 테스트 도구로 유의미하려면, 앱 서비스 환경과 테스트 환경을 분리해 관리할 수 있어야 한다. 테스트 환경 셋업도 자동화할 수 있어야 하며, 테스트가 CI·CD와 함께 개발 기간동안 지속적으로 수행될 수 있어야 한다. 여기에 테스트 스크립트도 자동 생성된다면 한결 테스트 과정이 수월해질 수 있다.

STF를 이용해 이러한 조건이 반영된 앱 테스트 환경을 구축할 수 있다. 웹 브라우저에서 디바이스팜에 접근해 디바이스를 원격으로 제어할 수 있는 서비스를 구현할 수 있으며, 사용자 인증, 디바이스 정보 제공, API 사용을 위한 토큰(Token) 관리, ADB키(ADB Keys) 관리 기능도 제공한다.

한 사례로 구글 파이어베이스를 이용한 테스트 랩(Lab)에서는 ▲로보 테스트(테스트 케이스를 등록없이 사용가능) ▲도구 작동 테스트(로보티움, 에스프레소, 애피움용 테스트 케이스 등록해 사용) ▲게임 루프 테스트 등을 이용할 수 있다.

이외에도 STF는 ▲AWS 디바이스 팜 ▲마이크로소프트 애저(Azure) ATAM 등의 테스트팜을 제공한다. 두 서비스 모두, 여러 디바이스를 선택해 동일한 앱을 병렬로 테스트하는 기능이 있다. 테스트 중에 발생하는 테스트 로그와 앱 로그, 테스트 전후 스크린샷과 테스트 동영상, 리소스 사용량 등을 쉽게 확인할 수 있다는 장점도 있다.

오픈소스를 활용한 모바일 앱 테스트 서비스 구현 화면.
오픈소스를 활용한 모바일 앱 테스트 서비스 구현 화면.
다른 앱 개발 테스트 도구는 비용도 높을 뿐만 아니라 사용도 어렵다는 단점이 있지만, STF는 이러한 단점을 모두 보완했다. 황희선씨는 "오픈소스가 잘 갖춰져 있어 STF를 이용하면 개발자들이 자기만의 앱 테스트 환경을 구축하는 것도 가능할 것"이라고 설명했다.