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

Firebase Test Lab 결과 분석

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

명령줄 인터페이스 , Android Studio , Firebase 콘솔의 Test Lab UI , Testing API 등 Firebase Test Lab을 사용하여 Android 앱에서 테스트를 실행하는 방법에는 여러 가지가 있습니다. 테스트를 시작하기로 선택하더라도 결과는 지정한 Firebase 프로젝트에 저장됩니다. 위의 도구 외에 ToolResults API 를 사용하여 결과를 탐색할 수 있습니다. 이 페이지에서는 이러한 테스트 결과를 검토하고 분석하는 방법을 설명합니다.

주요 컨셉

모든 이전 테스트 실행의 결과를 보려면 Firebase 콘솔에서 프로젝트의 왼쪽 탐색 패널에서 Test Lab 을 선택합니다. 이 페이지에는 Test Lab을 사용하여 프로젝트에서 테스트한 앱의 모든 테스트 실행이 표시됩니다.

테스트 결과를 검토하려면 먼저 세 가지 개념을 이해해야 합니다.

선택한 기기 및 구성에 대해 테스트 또는 테스트 사례 세트를 실행하면 Test Lab에서 앱에 대한 테스트를 일괄적으로 실행한 다음 결과를 테스트 매트릭스 로 표시합니다.

장치 × 테스트 실행 = 테스트 매트릭스

장치
휴대전화, 태블릿 또는 웨어러블 기기와 같이 테스트를 실행하는 물리적 또는 가상 기기(Android만 해당)입니다. 테스트 매트릭스의 장치는 장치 모델, OS 버전, 화면 방향 및 로케일(지역 및 언어 설정이라고도 함)으로 식별됩니다.
테스트, 테스트 실행
장치에서 실행할 테스트(또는 테스트 케이스 세트). 장치당 하나의 테스트를 실행하거나 선택적으로 테스트를 분할하고 다른 장치에서 테스트 케이스를 실행할 수 있습니다.
테스트 매트릭스
테스트 실행에 대한 상태 및 테스트 결과를 포함합니다. 행렬의 테스트 실행이 실패하면 전체 행렬이 실패합니다.

다음 섹션에서는 테스트 결과를 탐색하는 방법을 설명합니다.

테스트 기록 결과 해석

Test Lab 을 선택하여 테스트 결과로 이동하면 지금까지 실행한 테스트 결과가 표시됩니다.

테스트 기록은 앱별로 그룹화됩니다. 각 앱에 대해 가장 최근 5개의 테스트 매트릭스만 표시됩니다. 더 사용할 수 있는 경우 앱 테스트 목록 하단에 있는 모든 매트릭스 링크를 클릭하여 해당 앱의 전체 목록을 볼 수 있습니다.

테스트 매트릭스 결과 해석

Test Lab UI 를 통해 테스트를 시작하면 테스트 매트릭스를 볼 수 있는 페이지로 리디렉션되고 특정 테스트 실행을 클릭하여 테스트 결과를 볼 수 있습니다. Android Studiogcloud 명령어 는 테스트 매트릭스 결과 페이지의 URL도 제공합니다.

일반적인 테스트 매트릭스에서는 12개 정도의 서로 다른 장치에서 테스트를 실행할 수 있습니다. 각 테스트 실행은 다른 결과를 가질 수 있습니다. 테스트 매트릭스의 모든 테스트 실행에 대한 가능한 결과는 다음과 같습니다.

  • 합격테스트 통과 : 오류가 발생하지 않았습니다.
  • 실패한테스트 실패 : 하나 이상의 오류가 발생했습니다.
  • 결론이 나지 않음테스트 통과 : Test Lab 오류로 인해 테스트 결과가 결정적이지 않았습니다.
  • 건너뜀테스트 통과 : 매트릭스의 일부 테스트 실행에 대해 선택한 차원 값이 호환되지 않습니다. 이것은 선택한 기기가 선택한 하나 이상의 Android API 레벨과 호환되지 않을 때 발생합니다.

Firebase 프로젝트의 특정 앱에 대한 모든 테스트 매트릭스에 대해 집계된 테스트 결과를 검토하려면 다음 예와 같이 앱 이름을 클릭합니다.

4번의 테스트 실행만 포함된 예제 테스트 매트릭스 결과 페이지테스트 매트릭스 결과

그러면 앱의 테스트 매트릭스 목록으로 이동합니다. 여기에서 테스트 매트릭스의 이름을 클릭하여 테스트 매트릭스 결과를 볼 수 있고 앱 이름(아래 빨간색 상자에 표시)을 클릭하여 볼 수 있습니다. Firebase 프로젝트와 연결된 다른 앱의 테스트 매트릭스 목록입니다.

테스트 매트릭스 목록 페이지의 예 테스트 매트릭스 목록

테스트 매트릭스는 통과, 실패 또는 결정적이지 않을 수 있습니다. 테스트 매트릭스의 테스트 실행이 실패하거나 결정적이지 않은 경우 테스트 매트릭스는 실패 또는 미결로 표시됩니다.

Robo 테스트 결과 해석

Robo로 테스트를 실행한 경우 일반적인 테스트 측정항목 외에 Robo가 UI를 크롤링하는 동영상 및 스크린샷이 결과에 포함됩니다. 이러한 비디오와 스크린샷에는 Android의 '터치 표시' 기능과 유사하게 크롤링 중에 Robo가 취한 작업에 대한 시각적 표시가 포함되어 있습니다. 표시를 사용하여 Robo의 진행 상황을 따르고 발견할 수 있는 버그를 재현할 수 있습니다.

Robo 테스트 결과 동영상 예시

로보 테스트 결과

단일 테스트 실행의 결과 해석

테스트 매트릭스 결과 페이지에서 테스트 실행 중 하나를 클릭하여 특정 테스트 실행의 결과를 확인하십시오.

테스트 실행 결과 페이지 예시 테스트 실행 결과

이 페이지에서 각 테스트 실행에 필요한 시간을 확인할 수 있습니다. 또한 테스트 APK(계측 테스트용)의 메서드에 해당하는 특정 테스트 사례의 결과와 테스트 로그, 스크린샷 및 비디오를 포함한 자세한 테스트 결과를 볼 수 있습니다. Robo 테스트 의 경우 자세한 테스트 결과에는 Robo 테스트에서 방문한 UI 경로를 그래픽으로 보여주는 활동 맵도 포함됩니다.

분할된 계측 테스트 결과

계측된 테스트 결과를 해석하는 데 도움이 되도록 Test Lab은 각 테스트를 스택 추적, 로그 및 비디오가 포함된 자체 세부 보고서 페이지로 분리합니다. 이 기능은 Android Orchestrator를 사용하는지 여부에 관계없이 작동합니다.

테스트 케이스 결과 페이지 예시 테스트 케이스 결과

접근성 결과 해석

Robo 테스트는 Android 접근성 스캐너를 사용하여 앱의 접근성 문제를 감지합니다(기기에서 로컬로 스캔을 실행할 수도 있음). Robo 테스트의 접근성 결과를 검토하고 해석하는 방법에 대한 지침은 접근성 스캐너 시작하기를 참조하세요.

앱의 접근성을 개선하는 방법에 대한 일반적인 정보는 Android 개발자 접근성 문서 를 참조하세요.

성능 측정항목

물리적 장치에서 실행되는 테스트는 성능 메트릭도 반환합니다.

미터법 필수 장치 구성
앱 시작 시간 API 19+
CPU 사용량 API 21+
메모리 사용량
네트워크 활동
초당 프레임 API 21 이상 및 SurfaceView 포함
그래픽 성능 API 23+

그래픽 성능 세부 정보

그래픽 성능 보고서에는 몇 가지 주요 그래픽 측정항목에 대한 통계가 포함되어 있습니다.

  • 누락된 Vsync: 누락된 Vsync 이벤트 수를 렌더링하는 데 16ms 이상 소요된 프레임 수로 나눈 값입니다.
  • 높은 입력 대기 시간: 24ms보다 오래 걸린 입력 이벤트 수를 렌더링하는 데 16ms 이상 소요된 프레임 수로 나눈 값입니다.
  • 느린 UI 스레드: UI 스레드를 완료하는 데 8ms 이상 소요된 횟수를 렌더링하는 데 16ms 이상 소요된 프레임 수로 나눈 값입니다.
  • 느린 그리기 명령: GPU에 그리기 명령을 보내는 데 12ms 이상 소요된 횟수를 렌더링하는 데 16ms 이상 소요된 프레임 수로 나눈 값입니다.
  • 느린 비트맵 업로드: 비트맵이 GPU에 업로드하는 데 3.2ms보다 오래 걸린 횟수를 렌더링하는 데 16ms보다 오래 걸린 프레임 수로 나눈 값입니다.
  • 렌더링 시간: 테스트 실행의 각 프레임에 대한 렌더링 시간 분포입니다. 렌더링 시간이 32밀리초보다 크면 UI가 눈에 띄게 느려집니다. 700+의 렌더링 시간은 정지된 프레임을 나타냅니다. 렌더 데이터는 dumpsys graphicsstats 에서 수집됩니다.

자세한 테스트 결과

자세한 테스트 결과는 테스트를 실행한 후 90일 동안 사용할 수 있으며 Google Cloud Storage 버킷에 저장됩니다(Firebase 콘솔에서도 볼 수 있음). 테스트 실행 결과 페이지에서 테스트 결과 를 클릭하면 Cloud Storage 버킷에서 자세한 테스트 결과를 볼 수 있습니다. 자세한 테스트 결과를 더 이상 사용할 수 없는 경우에도 통과하거나 실패한 테스트를 계속 볼 수 있습니다.

자세한 테스트 결과를 90일 이상 보관하려면 --results-bucket gcloud 명령줄 옵션을 사용하여 이러한 테스트 결과를 소유한 Cloud Storage 버킷으로 보내야 합니다. 그런 다음 연령 설정을 지정하여 Cloud Storage 버킷에 결과가 저장되는 기간을 결정할 수 있습니다. 연령 설정을 변경하는 방법에 대한 정보는 수명 주기 조건 을 참조하십시오.