Check out what’s new from Firebase at Google I/O 2022. Learn more

Firebase Test Lab으로 Android 테스트 시작하기

중포 기지 테스트 랩을 사용하여 장치 및 구성의 범위에서 응용 프로그램을 테스트 할 수 있습니다. 이 가져 오기 시작 안내서는 다음뿐만 아니라, 테스트 랩의 안드로이드 제품을 소개하기 위해 구현 경로를 제공한다.

테스트 랩 할당량과 가격 계획에 대한 자세한 내용은 다음을 참조 사용, 할당량 및 가격을 .

주요 컨셉

당신이 테스트 또는 장치와 선택한 구성에 대한 테스트 케이스의 집합을 실행하면, 테스트 랩은 배치에서 앱에 대한 테스트는 다음 테스트 매트릭스 와 같은 결과를 표시 실행합니다.

장치 × 테스트 처형 = 테스트 매트릭스

장치
물리적 또는 가상 장치 (안드로이드 전용)은 휴대 전화, 태블릿, 또는 착용 할 수있는 장치로,에 대한 테스트를 실행합니다. 검사 행렬 장치는 디바이스 모델, OS 버전, 화면 방향 및 로케일 (또한, 지역 및 언어 설정이라고도 함)에 의해 식별된다.
테스트, 테스트 실행
테스트 (또는 테스트 케이스의 집합) 장치에서 실행합니다. 당신은 기기 당 하나 개의 테스트를 실행하거나, 선택적으로 시험을 샤딩 다른 장치에서의 테스트 케이스를 실행할 수 있습니다.
테스트 매트릭스
테스트 실행의 상태와 검사 결과를 포함합니다. 매트릭스의 모든 테스트 실행이 실패 할 경우, 전체 매트릭스는 실패합니다.

1 단계 : 테스트 랩에 업로드에 대한 테스트 준비

사용 가능한 테스트 유형

당신은 테스트 랩과 다음 테스트를 실행할 수 있습니다. 모든 시험 유형이 물리적 장치 45 분, 가상 장치에 60 분 실행 제한되어 있습니다. 모든 캐치되지 않는 예외는 테스트 실패의 원인이됩니다.

  • 계측 시험 또는 계측 단위 테스트 , • 테스트 당신이 사용 쓴 에스프레소 또는 UI 자동화 프레임 워크를. 이 테스트로, 당신은 올바른 기능을 사용하여 확인하기 위해 응용 프로그램의 상태에 대한 명시 적 주장을 할 수 AndroidJUnitRunnerAPIs 을 .

  • 로보 시험 : 앱의 UI를 분석하고 다음 코드를 작성할 필요없이, 사용자 활동을 시뮬레이션하여 질서를 탐구 자동화 된 테스트. 방문 로보 약은 테스트 자세한 내용은.

  • 게임 루프 테스트 : 응용 프로그램을 게임을에서 시뮬레이션 플레이어의 행동에 "데모 모드"를 사용하는 시험. 이되는지 확인하는 빠르고 확장 성이 방법은 게임 수행도에 대한 사용자. 당신이 게임 루프 테스트를 실행하도록 선택하면, 당신은 할 수 있습니다 :

    • 게임 엔진에 기본 쓰기 테스트

    • 다른 사용자 인터페이스 또는 테스트 프레임 워크에 대해 동일한 코드를 작성하지 마십시오

    • (방문을 선택적으로 하나의 테스트 실행에서 실행되는 여러 루프를 만들 게임 루프 테스트 에 대해 더 배울 수). 당신이 그들을 추적하고 다시 실행 특정 루프를 유지할 수 있도록 당신은 또한 라벨을 사용하여 루프를 구성 할 수 있습니다.

    참조 실행에게 게임 루프 테스트 테스트 랩이 테스트를 실행에 대한 지침을.

도구 테스트를 실행합니다

당신은 당신의 테스트를 실행하기 위해 다음과 같은 도구를 선택할 수 있습니다 :

  • 처음 사용자에게 권장 다음 중포 기지 콘솔이 앱을 업로드하고 웹 브라우저에서 테스트를 시작할 수 있습니다. 참조 중포 기지 콘솔 테스트를 이 도구를 사용하여 테스트를 실행에 대한 지침.

  • 안드로이드 스튜디오 통합 개발 환경을 떠나지 않고 당신의 응용 프로그램을 테스트 할 수 있습니다. 참조 안드로이드 Studio 에서 테스트를 이 도구를 사용하여 테스트를 실행에 대한 지침.

  • gcloud 명령 줄 인터페이스 는 대화 형으로 명령 줄에서 테스트를 실행 할 수 있습니다, 또한 당신의 자동화 된 빌드의 일부 및 테스트 프로세스로 스크립팅에 적합합니다. 참조 gcloud의 CLI와 함께 테스트를 이 도구를 사용하여 테스트를 실행에 대한 지침.

업로드 및 알파 또는 베타 채널을 사용하여 Play 스토어에 앱의 APK 파일을 게시 할 때 당신은 또한 테스트 랩에 무료로 귀하의 응용 프로그램을 테스트 할 수 있습니다. 자세한 내용은 문제를 식별하는 데 사용 사전 출시 보고서로보 테스트를 .

2 단계 : 당신의 시험 장치를 선택

여러 차종과 안드로이드 장치의 모델을 테스트 테스트 랩에서 지원하는 설치하고 구글 데이터 센터에서 실행. 테스트 랩의 도움말 장치에서 테스트 당신은 안드로이드 Studio에서 에뮬레이터를 사용하여 응용 프로그램을 테스트 할 때 발생할 수있는 문제를 감지합니다. 자세한 내용은 사용 가능한 기기.

3 단계 : 검토 테스트 결과

에 관계없이 테스트를 시작하는 방법, 모든 테스트 결과는 테스트 랩에 의해 관리되며, 온라인으로 볼 수 있습니다.

시험 결과 요약 은 자동으로 저장되고 중포 기지 콘솔에서 볼 수 있습니다. 이 테스트 케이스 별 비디오, 스크린 샷, 더 통과에 실패, 또는 비정상적인 결과를 얻고, 테스트의 수를 포함하여 테스트를위한 가장 관련 데이터를 포함하고 있습니다.

원시 테스트 결과 는 테스트 로그 및 응용 프로그램 오류 세부 사항을 포함하고 자동으로 Google 클라우드 버킷에 저장됩니다. 당신이 양동이를 지정하는 경우 스토리지 비용에 대한 책임이 있습니다. 당신이 양동이를 지정하지 않는 경우, 테스트 랩은 무료로 당신을 위해 하나를 작성합니다.

자세한 내용은 참조 중포 기지 테스트 랩 결과를 분석합니다.

당신이에서 테스트 시작하면 안드로이드 Studio 를 , 당신은 또한 당신의 개발 환경 내에서 테스트 결과를 검토 할 수 있습니다.

장치 정리

구글은 매우 심각 앱 데이터의 보안을합니다. 우리는 그들이 새로운 테스트를 실행할 준비가되어 있는지 확인하기 위해 모든 테스트 실행 후 응용 프로그램 데이터 및 물리적 장치에 대한 재설정 시스템 설정을 제거하는 업계 표준의 모범 사례를 따릅니다. 우리는 사용자 정의 복구 이미지와 플래시 할 수있는 장치의 경우, 우리는 테스트 실행 사이의 이러한 장치를 깜박 한 단계 더 이동합니다.

각 테스트 실행은 새로운 가상 장치 인스턴스를 사용할 수 있도록 그들이 사용 후 테스트 랩에서 사용하는 가상 장치의 경우, 장치 인스턴스가 삭제됩니다.


테스트 랩과 구글 플레이 서비스

테스트 랩 장치는 일반적으로 서비스 SDK 구글 플레이의 최신 버전에서 실행되지만 SDK의 새 버전이 출시 된 후 일부 업데이트하는 데 몇 일이 필요할 수 있습니다. 일부 장치와의 호환성 문제가 발생할 수 있습니다.

테스트 장치를 허용하면 개인 백엔드 서버에 액세스 할 수

일부 모바일 애플 리케이션을 테스트하는 동안 제대로 작동하려면 개인 백엔드 서비스와 통신 할 필요가있다. 백엔드 서버가 방화벽 규칙에 의해 보호되는 경우에는 사용하여 테스트 랩의 물리적 및 가상 장치에 대한 액세스를 허용 할 수 있습니다 아래의 IP 주소 차단 방화벽을 통해 열린 경로에 있습니다.

모바일 광고

테스트 랩은 확장 성있는 인프라가 자동화 응용 프로그램 테스트를 제공하고, 불행하게도,이 기능은 사기 광고 수익을 창출하도록 설계된 악성 앱이 잘못 될 수있다.

이 문제를 완화하려면 :

  • 사용하거나 경우 (예를 들어, 광고 네트워크 또는 수요 측 플랫폼) 타사 디지털 광고 제공 업체와의 작업은, 당신은 응용 프로그램 개발 및 테스트시 사용 테스트 광고가 아닌 실제 광고에 추천하고 있습니다.

  • 당신이 당신의 시험에 실제 광고를 사용해야하는 경우, 당신은 수익 밖으로 필터와 사용하여 테스트 랩에서 생성 된 모든 해당 트래픽에 작업하는 디지털 광고 제공 업체에 통지 아래에 IP 주소 블록을 . 당신은 Google 소유 광고 업체에 통지 할 필요가 없습니다; 테스트 랩은 당신을 위해 처리합니다.

테스트 랩 장치에서 사용하는 IP 주소

테스트 랩 장치에 의해 생성 된 모든 네트워크 트래픽은 다음에서 유래 IP 주소 블록 . 또한 사용하여이 목록에 액세스 할 수 있습니다 gcloud beta firebase test ip-blocks list 명령 을 에 gcloud 의 CLI. 이 목록은 일년에 한 번 평균적으로 업데이트됩니다.

플랫폼 및 장치 유형 CIDR IP 주소 블록
Android 및 iOS 물리적 장치

70.32.128.0/19 (02-2022 추가)

108.177.6.0/23

108.177.18.192/26 (02-2022 추가)

108.177.29.64/27 (02-2022 확장)

108.177.31.160/27 (02-2022 추가)

199.36.156.8/29 (02-2022 추가)

199.36.156.16/28 (02-2022 추가)

209.85.131.0/27 (02-2022 추가)

2001 : 4860 : 1008 :: / 48 (02-2022 추가)

2001 : 4860 : 1018 :: / 48 (02-2022 추가)

2001 : 4860 : 1019 :: / 48 (02-2022 추가)

2001 : 4860 : 1020 :: / 48 (02-2022 추가)

2001 : 4860 : 1022 :: / 48 (02-2022 추가)

안드로이드 가상 장치

34.68.194.64/29 (11-2019 추가)

34.69.234.64/29 (11-2019 추가)

34.73.34.72/29 (11-2019 추가)

34.73.178.72/29 (11-2019 추가)

34.74.10.72/29 (02-2022 추가)

34.136.2.136/29 (02-2022 추가)

34.136.50.136/29 (02-2022 추가)

34.145.234.144/29 (02-2022 추가)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (추가 7-2019)

35.245.243.240/29 (02-2022 추가)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

장치 IP 블록은 더 이상 사용되지되고

74.125.122.32/29 (02-2022 제거)

216.239.44.24/29 (02-2022 제거)