Android용 Firebase Test Lab은 개발자가 작성한 테스트 매트릭스에 따라 테스트를 실행하여 광범위한 기기 유형 및 구성에 대해 앱을 검증합니다. 이 작동 원리를 이해하려면 우선 테스트 측정기준 및 테스트 실행을 설명해야 합니다.
-
테스트 측정기준. 테스트 측정기준은 서로 관련된 기기 속성의 집합입니다. Test Lab이 사용하는 측정기준은 기기 유형, Android API 수준, 언어 및 화면 방향입니다. 앱을 테스트하기 전에 각 측정기준에서 속성을 선택하면 Test Lab이 이러한 속성의 유효한 조합을 모두 포함하는 목록을 만듭니다. Test Lab은 한 번에 최대 200가지 고유 조합으로 앱을 테스트할 수 있습니다.
-
테스트 실행. 테스트 매트릭스를 위해 선택한 테스트 측정기준의 유효한 각 조합을 테스트 실행이라고 합니다. 예를 들어 기기 유형 5가지(Asus Google Nexus 7, LG G3, Samsung Galaxy Note 2 등), Android API 레벨 2가지(21, 22), 언어 2가지(en_US, es_ES) 및 화면 방향 2가지(가로 모드, 세로 모드)를 선택한 경우 테스트에 5*2*2*2 = 40개의 테스트 실행이 포함됩니다. 각 테스트 실행은 성공하거나 실패할 수 있습니다. 테스트 실행 중 하나라도 실패하면 전체 테스트 매트릭스가 실패로 표시됩니다.
-
테스트 매트릭스. 테스트 매트릭스는 선택한 테스트 측정기준 속성의 조합으로 정의되는 테스트 실행의 집합입니다. 테스트 매트릭스로 앱 테스트를 실행하면 테스트 측정기준 속성을 조합하여 만들어진 유효한 각 테스트 실행의 결과가 산출됩니다.
앱 테스트를 시작할 방법을 선택할 수 있습니다.
- Android 스튜디오 통합을 사용하면 개발 환경에서 앱을 테스트할 수 있습니다.
- gcloud 명령줄 인터페이스를 사용하면 명령줄에서 대화식으로 테스트를 실행할 수 있으며, 이 방법은 스크립트를 작성하여 자동화 빌드 및 테스트 프로세스에 포함하기에 적합합니다.
- Firebase 콘솔의 Test Lab UI를 사용하면 어디에서나 앱 바이너리를 업로드하고 테스트를 시작할 수 있습니다.
알파 또는 베타 채널을 사용하여 앱의 APK 파일을 Play 스토어에 업로드하고 게시할 때 Test Lab으로 앱을 테스트할 수도 있습니다. 자세한 내용은 출시 전 보고서로 문제점 파악 및 Robo 테스트를 참조하세요.
Test Lab은 Google 데이터 센터에 설치되어 실행되는 다양한 제조사의 여러 Android 기기 모델을 대상으로 테스트를 지원합니다. 기기 테스트를 통해 Android 에뮬레이터로 앱을 테스트할 때는 발생하지 않는 여러 가지 문제점을 발견할 수 있습니다.
현재 사용 가능한 기기 유형은 다음과 같습니다.
표 1: Test Lab에서 사용하는 기기
제조사 | 테스트 가능 모델 |
---|---|
Asus | Nexus 7(2013) |
HTC | Nexus 9, HTC One(M8) |
LG | G3, Nexus 5, Nexus 4 |
Motorola | Moto E, Moto G(1세대 및 2세대), Moto X |
Samsung | Galaxy Note 2, Galaxy Note 3 Duos, Galaxy S4(3G), Galaxy S6 |
Test Lab을 사용하여 광범위한 기기에서 앱 사용자 환경의 안정성과 앱 호환성을 검증할 수 있습니다.
두 가지 방법으로 앱을 테스트할 수 있습니다. 즉, 도구 작동 테스트 및 Test Lab Robo 테스트를 실행할 수 있습니다.
도구 작동 테스트
도구 작동 테스트는 개발자나 개발팀이 앱 테스트를 위해 특별히 작성하는 테스트로서 Espresso, Robotium 및 UI Automator 2.0 Android 테스트 프레임워크를 사용합니다.
도구 작동 테스트를 작성할 때는 두 번째 .APK 모듈을 만든 후 앱의 .APK 모듈과 함께 Test Lab에 업로드합니다. 테스트 APK 생성의 자세한 내용은 테스트 APK 모듈을 참조하세요.
Robo 테스트
앱을 위한 도구 작동 테스트를 작성하지 않아도 Robo 테스트로 사용자 행동을 시뮬레이션하여 앱을 시험해 볼 수 있습니다. 자세한 내용은 Robo 테스트를 참조하세요.
테스트 결과 검토
테스트 시작 방법에 관계없이 모든 테스트 결과는 Test Lab에서 관리되며 온라인으로 조회할 수 있습니다. 테스트 결과에는 테스트 로그 및 앱 오류 세부정보가 포함됩니다. Robo 테스트의 경우 동영상 및 스크린샷도 제공됩니다. 자세한 내용은 테스트 결과 분석을 참조하세요.
Android 스튜디오에서 테스트를 시작한 경우 개발 환경 내에서도 테스트 결과를 검토할 수 있습니다.
결제
Test Lab을 사용하려면 Firebase Blaze 요금제로 업그레이드해야 합니다. 요금제를 업그레이드하려면 Firebase 콘솔에서 업그레이드를 클릭하고 Blaze 요금제 열에서 요금제 선택을 클릭합니다.
다음과 같은 시간당 요금에 따라 Test Lab으로 앱을 테스트할 수 있습니다.
- 실제 기기마다 시간당 5달러
- 가상 기기마다 시간당 1달러(2016년 10월 1일까지 베타로 무료 이용 가능)
요금은 분 단위로 계산되며, 앱 설치 또는 테스트 결과 취합 시간은 제외하고 테스트를 실행하는 데 소요된 시간에 대해서만 요금이 부과됩니다.
Test Lab과 모바일 광고
다음 내용은 광고 네트워크, 수요측 플랫폼과 같은 디지털 광고 제공업체를 이용하거나 이러한 업체에 종사하는 앱 개발자에게 해당합니다.
Test Lab은 개발자에게 앱 테스트를 자동화하는 확장 가능한 앱 테스트 인프라를 제공합니다. 그러나 광고 수익을 허위로 창출하려는 악성 앱에 의해 이 기능이 오용될 소지가 있습니다.
이러한 문제를 방지하는 대책은 다음과 같습니다.
- 앱 개발자는 Test Lab을 비롯한 테스트 제공업체에 속하는 기기에서 발생하는 트래픽으로 인한 모든 수익을 필터링하도록 디지털 광고 제공업체에 통보해야 합니다.
- 디지털 광고 제공업체는 108.177.6.0/24(실제 기기) 및 104.196.0.0/16(가상 기기) IP 주소 블록에서 수신되는 트래픽을 필터링하여 Test Lab에서 발생하는 광고 수익과 모든 해당 트래픽을 걸러낼 수 있습니다.