Post

Firebase 안드로이드 앱 자동 테스트 하기 (Robo Test)

처음으로 1인 개발을 시도하면서 가장 큰 고민거리는 테스트였다. 앱이 버그로 인해 별점 1점을 도배받는 상황은 피하고 싶었고, 그래서 테스트의 중요성을 계속 인식하고 있었다.

개발 중에도 틈틈이 유닛 테스트를 작성해왔지만, 다양한 해상도와 OS 버전에서 앱이 제대로 동작하는지 확인하는 일은 혼자서 하기엔 상당히 번거로웠다.

이런 부담을 크게 덜어준 것이 바로 Firebase Test Lab의 Robo Test였다. 이번 글에서는 Robo Test에 대해 간단히 정리하려 한다.

Robo Test란?

Robo Test는 Firebase Test Lab에서 제공하는 자동화된 테스트로, 가장 큰 장점들은 다음과 같다.

  1. apk 파일만 올리면 AI가 알아서 테스트해준다. AI가 가능한 UI 입력들을 자동으로 시도한다. 개발자 입장에서는 번거로운 테스트 스크립트 작성이 필요 없다.
  2. 80개에 달하는 다양한 디바이스에서 테스트가 가능하다. 따라서, 여러 환경에서 앱을 쉽게 검증할 수 있다.
  3. 비용을 지불하지 않아도 하루에 일정 횟수까지는 무료로 테스트 가능하다.
    • 실제 디바이스: 하루에 5번 무료로 테스트 가능
    • 가상 디바이스: 하루에 10번 무료로 테스트 가능

Firebase 프로젝트 생성하기

Firebase Test Lab을 사용하려면 Firebase 프로젝트를 먼저 생성해야 한다.

  1. Firebase Test Lab에 접속한다.
  2. “Firebase 프로젝트 시작하기” 버튼을 클릭한다.
  3. 프로젝트 이름을 입력하여 생성한다.

Robo Test 실행하기

앱의 APK 파일을 업로드해 Robo Test를 실행할 수 있다.

  1. APK 파일을 업로드한다.
  2. 테스트 실행에는 대략 5분 정도 소요된다.
  3. 테스트가 완료되면 Gmail로 알림이 온다. 완료 이메일

실행 결과 확인

Robo Test는 자동으로 사용자가 할만한 입력을 시뮬레이션하며 앱의 문제를 탐색해 준다. 테스트가 끝나면 다음과 같은 결과를 볼 수 있다.

  • 테스트 결과: 테스트 중에 발생한 오류나 경고 등 문제를 볼 수 있다.
  • 스크린샷 확인: 각 단계별로 캡처된 화면을 통해 UI 문제 여부를 쉽게 확인할 수 있다. 테스트 결과
  • 성능: 앱이 열리는 데 걸린 시간, 메모리 사용량 등을 확인할 수 있다.

Tips: Robo Test를 잘 활용하기 위한 팁

Robo Test를 효과적으로 활용하기 위해 다음 팁을 참고해 보자.

1. 디버그 APK 파일 사용

테스트용으로는 디버그 빌드된 APK 파일을 업로드하자. 릴리즈 파일에서는 assert 같은 문제들이 감춰져 있을 수 있어서, 디버그 빌드로 테스트하면 개발 단계에서 문제를 더 빠르게 발견할 수 있다.

2. 목적별 기기 선택

다양한 기기에서 테스트해 앱이 모든 환경에서 잘 작동하는지 확인하자.

화면 크기별 테스트

화면 크기별로 앱의 UI와 UX가 제대로 작동하는지 확인한다.

  • Small Screen (4-5인치): Galaxy A02s (API 31), Pixel 2 (API 26-33)
  • Medium Screen (6-7인치): Pixel 5 (API 30, 가상), Galaxy A51 (API 31)
  • Large Screen / Tablets (8인치 이상): Galaxy Tab A8 (API 34), Pixel Tablet (API 33)
  • Foldable Devices: Pixel Fold (API 33, 34), Galaxy Z Fold5 (API 34)

OS 버전별 테스트

다양한 안드로이드 OS 버전에서 앱이 잘 동작하는지 확인한다.

  • 최신 버전 (API 33-34, Android 13): Galaxy S23 Ultra (API 33, 34), Pixel 8 (API 34, 35)
  • 안드로이드 10-12 (API 29-32): Galaxy S20 (API 29), Pixel 6a (API 32)
  • 안드로이드 8-9 (API 26-28): Nexus 6P (API 24-27, 가상), AQUOS sense2 SH-01L (API 28)

성능별 테스트

다양한 성능의 기기에서 앱이 원활하게 작동하는지 확인한다.

  • 고성능 기기: Pixel 8 Pro (API 34), Galaxy S24 (API 34)
  • 중간 성능 기기: OnePlus Nord2 5G (API 33), Galaxy A54 5G (API 34)
  • 저성능 기기: Nokia 1 (API 27), Redmi 6A (API 27)
This post is licensed under CC BY 4.0 by the author.