Robo Test의 제약

Robo Test는 모바일 앱을 자동으로 동작시키면서 이상이 없는지 확인하는 서비스입니다. 테스티드가 제공하는 서비스와 유사합니다.

어느 블로그에 Robo Test를 사용해본 이야기가 있습니다. 이 글에서 On-ly라는 앱을 테스트 했네요.
Firebase: Robo Test (http://blog.embian.com/category/Test%20Lab)
On-ly 앱 개발자분, 블로그 글 쓰신 분, 만수무강하시고 하시는 일 모두 잘 되길 기원합니다.

On-ly라는 앱은 시스템 설정이 미리 준비 되어야 앱이 동작하는 것으로 보입니다. 앱을 실행하면, 설정에 대한 팝업이 표시되는데 back 버튼을 눌러도 팝업이 사라지지 않습니다. 이런 UI는 Robo Test의 테스트 방식을 기준으로 보면, 테스트를 진행하기 어렵습니다. 앱을 자동으로 동작하게 만들어야하는데, 사용자가 업로드한 앱이 아닌 부분(시스템 설정)으로 이동하도록 허용하는 건 좀 부담이 됩니다. 다수의 사용자에게 제공하는 클라우드 서비스이고, 실제 디바이스를 제공해야하니까요. 이 부분은 테스티드도 마찬가지입니다.

테스티드에서 On-ly를 테스트해보았습니다(ucloud appster를 이용했습니다). 먼저 21종의 디바이스에서 10분씩 자동탐색해보았습니다. 디바이스의 특성 때문에 모바일 앱이 실행 중에 종료되는 경우가 On-ly에서는 발생하지 않았습니다.이런 것 발견되면 개발자분에게 자랑스럽게 낼름 알려드렸을 텐데… 비정상 종료되지 않아서 다행입니다만, 한편으론 아쉽습니다. ^^; 다만, 로그에는 예외가 여러 건 발견되었습니다.

Nexus 5(Android 4.4.4) 디바이스 1개에서 120분간 자동탐색해보았습니다. Robo Test와 동일하게 테스트하고 결과를 비교해야하지만, 이 번에는 수작업으로 시스템 설정을 바꾸어주었습니다.
화면은 약 18개가 확인되었습니다. 이 숫자는 화면들의 구조를 기준으로 구분한 고유한 화면의 숫자입니다. 자동탐색 중엔 동일한 이런 화면을 여러번 반복해서 방문하고 스크린샷을 캡쳐하는데, 화면보다 더 많은 수의 스크린샷이 저장됩니다. 화면을 클릭하면 스크린샷 여러개가 표시됩니다.
앱이 비정상 종료되는 것은 발견되지 않았습니다.

오류는 아니지만, 제안하고 싶은 것은, UI 측면에서, 설정 팝업에에서 사용자에게 “거부”할 수 있는 선택지를 제공하고, 설정이 꼭 필요한 것이면 사용자가 거부했을 때 안내문과 함께 앱이 종료되면 매끄러울 것 같습니다.

그래서 결론은, 앱 잘 만드셨네요.

ucloud appster_on-ly_테스트 등록_20160628
[ucloud appster의 테스트 등록 화면]

ucloud appster_on-ly_여러종의 디바이스_20160628
[테스트 결과 요약 화면. 비정상 종료는 발견되지 않고 디바이스에 따라 예외만 발견됨]

ucloud appster_on-ly_분석정보_20160628
[테스트 결과 상세 화면. 중복되지 않는 고유한 화면 약 18개 확인, 우측에 UI에 발생시킨 이벤트, 우하단에 CPU/MEM 사용량]