Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

Android 가상 장치로 테스트 시작

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 문서에서는 이점 및 알려진 제한 사항을 포함하여 Test Lab용 AVD에 대해 설명합니다. 또한 개발 수명 주기 동안 앱을 테스트하는 방법에 대한 권장 사항도 제공합니다.

Test Lab AVD는 Android Studio용 AVD 와 유사하지만 둘 사이에는 몇 가지 차이점이 있습니다. 예를 들어 Test Lab의 AVD에는 Wi-Fi 연결이 아닌 에뮬레이트된 데이터 연결이 있습니다.

.arm 또는 (ARM) 접미사가 있는 Test Lab AVD는 다음과 같은 이점을 제공하는 고급 에뮬레이터입니다.

  • 테스트 실행 시간 단축

  • 일관성을 위해 Android Studio의 AVD와 정렬된 화면 크기 및 밀도

.arm 또는 (ARM) 접미사와 함께 AVD를 사용하면 다른 유형의 물리적 장치에 비해 다음과 같은 이점이 있습니다.

혜택 설명 사용 사례)
고가용성 가상 장치로 테스트할 때 더 빠르게 테스트를 실행하고 테스트 결과를 얻을 수 있습니다. 가상 장치는 주문형으로 생성되기 때문에 테스트가 거의 즉시 시작되어 앱을 빠르게 검증할 수 있습니다. 앱에 대한 소규모 업데이트를 테스트하거나 회귀 테스트를 위해.
더 긴 테스트 기간 물리적 장치에 대한 테스트는 각 장치에서 45분의 테스트 기간으로 제한됩니다. 가상 장치는 최대 60분의 테스트 기간을 지원합니다. 더 긴 테스트를 실행합니다.
비용 절감 가상 장치는 앱을 테스트하는 데 사용되는 각 가상 장치에 대해 시간당 $1로 가격이 책정됩니다. 지속적 통합 시스템을 사용하거나 코드를 체크인하기 전에 매일 테스트합니다. 자세한 내용 은 Test Lab의 사용량 수준, 할당량 및 가격 책정을 참조하세요.

가상 기기로 앱 테스트

실제 기기에서 앱을 테스트하는 것과 동일한 방식으로 가상 기기에서 앱을 테스트할 수 있습니다. 테스트 매트릭스를 구성하기 위해 테스트 차원을 선택할 때 가상 장치를 선택하기만 하면 됩니다. Test Lab으로 테스트를 실행하는 방법에 대해 자세히 알아보려면 Firebase Test Lab으로 Android 테스트 시작하기를 참조하세요.

지원되는 모델 및 API 보기

Test Lab에서 지원하는 AVD 모델 및 API를 보려면 다음 명령어를 실행하세요.

gcloud firebase test android models list --filter=virtual

앱 테스트를 위한 모범 사례

가상 기기는 Test Lab으로 앱을 테스트할 때 다양한 옵션을 제공합니다. 이 섹션의 모범 사례를 사용하여 앱 개발 수명 주기 전체에서 앱을 테스트하는 것이 좋습니다.

Android Studio 에뮬레이터 또는 연결된 물리적 기기 사용

앱을 개발할 때 Android 스튜디오 에뮬레이터 또는 연결된 물리적 기기를 사용하여 초기 유효성 검사를 위해 각 빌드를 검사합니다. 계측 테스트가 있는 경우 Test Lab에서 제공하는 물리적 또는 가상 기기의 Android Studio에서 이러한 테스트를 실행할 수도 있습니다.

공유 프로젝트에서 작업할 때 각 코드 변경에 CI 시스템 사용

대규모 프로젝트에서 작업하거나 GitHub 또는 유사한 서비스를 사용하여 공유되는 프로젝트에 기여하는 경우 CI(지속적인 통합) 시스템을 사용하는 것이 좋습니다.

CI 시스템이 실행될 때마다 또는 각 끌어오기 요청 전에 가상 장치에서 앱을 테스트하십시오. CI 시스템과 함께 Test Lab을 사용하는 방법에 대해 자세히 알아보려면 지속적인 통합 시스템과 함께 Android용 Test Lab 사용 을 참조하세요.

중요한 앱 업데이트를 출시하기 전에 Test Lab을 사용하여 실제 기기에서 앱을 테스트하세요.

UI 및 기능이 크게 변경된 앱 업데이트를 출시하기 전에 Test Lab을 사용하여 실제 기기에서 앱을 테스트하는 것이 좋습니다. 이렇게 하면 널리 사용되는 다양한 물리적 기기에서 앱이 안정적이고 성능이 뛰어난지 확인하는 데 도움이 됩니다. 물리적 장치에서 테스트하면 가상 장치에서 시뮬레이션하지 않는 물리적 장치 기능에 의존하는 모든 앱 기능에 대한 테스트 범위도 보장됩니다. 이러한 기능에 대한 자세한 내용은 알려진 제한 사항 을 참조하십시오.

가상 장치 업데이트

주기적으로 Android 팀은 새로운 가상 기기 이미지를 추가하고 이전 이미지를 사용 중지하며 기존 이미지를 업데이트합니다. 이러한 업데이트를 가상 장치 이미지에 적용하여 사용자 경험을 반영하는 최신 Android 버전에 대해 테스트하고 있는지 확인합니다.

드문 경우지만 이러한 업데이트로 인해 테스트가 예기치 않게 실패할 수 있습니다. 알려진 잠재적인 주요 업데이트가 있는 경우 Test Lab은 출시 노트 에 정보를 포함합니다. 모범 사례로서 가능할 때마다 이러한 변경 사항에 대해 강력한 테스트 프레임워크(예: Espresso )를 사용하는 것이 좋습니다. 이것이 가능하지 않은 경우 덜 자주 업데이트될 것으로 예상되는 ARM 가상 장치를 대상으로 지정하는 것이 좋습니다.

알려진 제한 사항

일부 물리적 장치 기능은 현재 가상 장치에서 시뮬레이트되지 않거나 일부 제한 사항으로 시뮬레이트됩니다. 다음 표에는 가상 장치에서 현재 사용할 수 없거나 특정 제한 사항으로 사용할 수 있는 기능이 요약되어 있습니다.

특징 세부
애플리케이션 바이너리 인터페이스(ABI) 모든 장치가 모든 ABI를 지원하는 것은 아닙니다. Android NDK로 개발하는 경우 대상 기기에서 지원하는 ABI용 코드를 생성해야 합니다. 자세한 내용 은 Test Lab에서 사용 가능한 장치를 참조하십시오. ABI 관리에 대해 자세히 알아보려면 Android ABI 를 참조하세요. 장치에서 지원하는 ABI를 알아보려면 사용 가능한 테스트 장치 확인 을 참조하십시오.

참고: 테스트 매트릭스의 테스트가 유효하지 않은 것으로 표시되면 앱이 기기 ABI에서 지원하지 않는 네이티브 코드에 대한 종속성이 있기 때문에 발생할 수 있습니다.

그래픽 성능 Nexus 및 Pixel 가상 기기는 소프트웨어 그래픽 렌더링을 사용합니다. 그래픽 집약적인 애플리케이션은 성능이 저하됩니다. 앱이 그래픽 집약적인 경우 대신 SmallPhone.armMediumPhone.arm 모델 또는 물리적 장치를 사용하십시오.
화면 녹화 Nexus 및 Pixel 기기의 화면 녹화는 초당 1프레임입니다.
그래픽 API OpenGL ES 3.x는 API 레벨 29 미만의 기기에서 지원되지 않습니다. 최신 기기는 OpenGL/Vulkan API와 100% 호환되지 않습니다. 그래픽에 약간의 차이가 있음을 알 수 있습니다.

다음 단계