Android용 Firebase Test Lab 개요

Android용 Firebase Test Lab은 개발자가 작성한 테스트 매트릭스에 따라 테스트를 실행하여 광범위한 기기 유형 및 구성을 대상으로 앱을 검증합니다. 이 작동 원리를 이해하려면 우선 테스트 측정기준 및 테스트 실행에 대한 설명이 필요합니다.

  • 테스트 측정기준. 테스트 측정기준은 서로 관련된 기기 속성의 집합입니다. Test Lab이 사용하는 측정기준은 모델, Android API 수준, 언어, 화면 방향입니다.

  • 테스트 실행. 테스트 매트릭스를 위해 선택한 테스트 측정기준의 유효한 각 조합을 테스트 실행이라고 합니다. Test Lab은 한 번에 최대 200가지 고유 조합으로 앱을 테스트할 수 있습니다. 예를 들어 버그 수정을 검증할 때는 집중적인 테스트를 위해 앱을 테스트할 때 사용할 특정 모델 및 Android API 수준의 조합을 선택할 수 있습니다. 테스트를 실행할 때는 성공하거나 실패할 수 있습니다. 테스트 실행 중 하나라도 실패하면 전체 테스트 매트릭스가 실패로 표시됩니다.

  • 테스트 매트릭스. 테스트 매트릭스는 개발자가 선택한 테스트 실행 세트입니다. 테스트 매트릭스로 앱 테스트를 실행하면 테스트 측정기준 속성을 조합하여 만들어진 유효한 각 테스트 실행의 결과가 산출됩니다.

다음과 같이 앱 테스트를 시작하는 방법을 선택할 수 있습니다.

  • Android 스튜디오 통합을 사용하면 개발 환경에서 앱을 테스트할 수 있습니다.
  • gcloud 명령줄 인터페이스를 사용하면 명령줄에서 대화식으로 테스트를 실행할 수 있으며, 이 방법은 스크립트를 작성하여 자동화 빌드 및 테스트 프로세스에 포함하기에 적합합니다.
  • Firebase 콘솔의 Test Lab UI를 사용하면 어디에서나 앱 바이너리를 업로드하고 테스트를 시작할 수 있습니다.

알파 또는 베타 채널을 사용하여 앱의 APK 파일을 Play 스토어에 업로드하고 게시할 때 Test Lab으로 앱을 테스트할 수도 있습니다. 자세한 내용은 사전 출시 보고서로 문제점 파악Robo 테스트를 참조하세요.

테스트 방법 선택

Test Lab을 사용하여 광범위한 기기에서 앱 사용자 환경의 안정성과 앱 호환성을 검증할 수 있습니다.

두 가지 방법으로 앱을 테스트할 수 있습니다. 즉, 도구 작동 테스트 및 Test Lab Robo 테스트를 실행할 수 있습니다.

도구 작동 테스트

도구 작동 테스트는 개발자나 개발팀이 앱 테스트를 위해 특별히 작성하는 테스트로서 EspressoUI Automator 2.0 Android 테스트 프레임워크를 사용합니다. 도구 작동 테스트는 실제 기기에서 최대 30분, 가상 기기에서 최대 60분 동안 실행됩니다. 이 시간 동안 실행이 완료되는 모든 테스트 케이스의 테스트 결과가 제공됩니다.

도구 작동 테스트를 작성할 때는 또 하나의 APK 모듈을 만든 후 앱의 APK 모듈과 함께 Test Lab에 업로드합니다. 테스트 APK 생성의 자세한 내용은 앱 테스트를 참조하세요.

Robo 테스트

앱을 위한 도구 작동 테스트를 작성하지 않아도 Robo 테스트로 사용자 행동을 시뮬레이션하여 앱을 시험해 볼 수 있습니다. 자세한 내용은 Robo 테스트를 참조하세요.

게임 루프 테스트

게임 앱 테스트를 지원하기 위해 게임 앱을 실행하면서 플레이어의 행동을 시뮬레이션하는 '데모 모드' 지원이 베타 단계로서 Test Lab에 포함되었습니다. 이 모드는 여러 루프 또는 시나리오를 포함할 수 있으며, 서로 관련된 루프를 함께 실행할 수 있도록 라벨을 사용하여 루프를 논리적으로 구성할 수 있습니다. 자세한 내용은 게임 루프 테스트를 참조하세요.

기기 유형 선택

Test Lab은 Google 데이터 센터에 설치되어 실행되는 다양한 제조사의 여러 Android 기기 모델을 대상으로 테스트를 지원합니다. 기기 테스트를 통해 Android 에뮬레이터로 앱을 테스트할 때는 발생하지 않는 여러 가지 문제점을 발견할 수 있습니다.

현재 사용 가능한 기기 유형은 다음과 같습니다.

표 1: Test Lab에서 사용하는 기기

제조사 테스트 가능 모델
Asus Nexus 7
Google Nexus 6P, Pixel
HTC Nexus 9, HTC One(M8)
LG LG G4, LG G3, Nexus 5, Nexus 5X, Nexus 4
Motorola Moto E, Moto G(1세대, 2세대, 3세대), Moto G4, Moto G4 Plus, Moto X, Nexus 6
OnePlus OnePlus One
Sharp SH-04H
Samsung Galaxy J5, Galaxy Note 2, Galaxy Note 3 Duos, Galaxy Note 4, Galaxy S3, Galaxy S6, Galaxy S6 Edge, Galaxy S7, Galaxy S7 Edge Galaxy Tab 3, Nexus 10
Sony Xperia Z2, Xperia Z3, Xperia Z5 Compact, Xperia X

테스트 결과 검토

테스트 시작 방법에 관계없이 모든 테스트 결과는 Test Lab에서 관리되며 온라인으로 조회할 수 있습니다. 테스트 결과에는 테스트 로그 및 앱 오류 세부정보가 포함됩니다. Robo 테스트의 경우 동영상 및 스크린샷도 제공됩니다. 자세한 내용은 Android용 Firebase Test Lab 결과 분석을 참조하세요.

Android 스튜디오에서 테스트를 시작한 경우 개발 환경 내에서도 테스트 결과를 검토할 수 있습니다.

할당량 및 결제

Firebase는 3가지 요금제, 즉 Spark(무료), Flame, Blaze 요금제로 제공됩니다.

Spark 및 Flame 요금제의 할당량

Spark 및 Flame 요금제에서 무료로 Test Lab을 사용할 수 있습니다. Spark 및 Flame 요금제에서는 일일 테스트 실행 횟수가 제한되며(가상 기기 10회, 실제 기기 5회) 각 테스트 매트릭스에 최대 4대의 기기만 사용할 수 있습니다.

Blaze 요금제 청구

일일 할당량 또는 테스트 매트릭스 크기에 제한 없이 Test Lab을 사용하려면 프로젝트를 선택한 후 Firebase Blaze 요금제로 업그레이드하세요. 요금제를 업그레이드하려면 Firebase 콘솔에서 업그레이드를 클릭하고 Blaze 요금제 열에서 요금제 선택을 클릭합니다.

Blaze 요금제를 사용하면 다음과 같은 시간당 요금에 따라 Test Lab으로 앱을 테스트할 수 있습니다.

  • 실제 기기마다 시간당 5달러
  • 가상 기기마다 시간당 1달러

요금은 분 단위로 계산되며, 앱 설치 또는 테스트 결과 취합 시간은 제외하고 테스트를 실행하는 데 소요된 시간에 대해서만 요금이 부과됩니다. 테스트 매트릭스를 실행한 후 테스트 실행 결과 및 테스트 매트릭스 결과 페이지에서 각 기기에서 각 테스트를 실행하는 데 걸린 시간을 확인할 수 있습니다. 각 테스트 실행 시간은 1분 단위로 올림하여 청구됩니다.

Test Lab과 모바일 광고

다음 내용은 광고 네트워크, 수요측 플랫폼과 같은 디지털 광고 제공업체를 이용하거나 이러한 업체에 종사하는 앱 개발자에게 해당합니다.

Test Lab은 개발자에게 앱 테스트를 자동화하는 확장 가능한 앱 테스트 인프라를 제공합니다. 그러나 광고 수익을 허위로 창출하려는 악성 앱에 의해 이 기능이 오용될 소지가 있습니다.

이러한 문제를 방지하는 대책은 다음과 같습니다.

  • 앱 개발자는 Test Lab을 비롯한 테스트 제공업체에 속하는 기기에서 발생하는 트래픽으로 인한 모든 수익을 필터링하도록 디지털 광고 제공업체에 통보해야 합니다.
  • 디지털 광고 제공업체는 108.177.6.0/23(실제 기기) 및 104.196.0.0/16(가상 기기) IP 주소 블록에서 수신되는 트래픽을 필터링하여 Test Lab에서 발생하는 광고 수익과 모든 해당 트래픽을 걸러낼 수 있습니다.

기기 정리

Google은 앱 데이터의 보안을 위해 최선을 다하고 있습니다. Test Lab에 사용되는 실제 기기에 대해 Google은 업계 표준 권장사항에 따라 테스트 실행이 끝날 때마다 기기에서 앱 데이터를 삭제하여 새 테스트를 실행할 수 있도록 준비합니다. 기기를 맞춤 복구 이미지로 초기화할 수 있는 경우 테스트 실행 사이에 기기를 초기화하는 단계도 진행합니다.

Test Lab에 사용되는 가상 기기의 인스턴스는 사용 후 삭제되므로 테스트를 실행할 때 매번 새 가상 기기 인스턴스가 사용됩니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.