사전 출시 보고서, Firebase 기능, Android vitals를 사용하여 앱 개선하기

  • 출시
  • 테스트
  • 개발

앱 비즈니스에서는 높은 품질의 앱을 제공해야 합니다. 이러한 품질을 달성하기 위한 방법 중 하나는 다양한 기기에서 앱을 테스트하는 것입니다. 사전 출시 보고서는 실제 기기에서 자동으로 테스트를 실행하므로 레이아웃 문제를 발견하고, 비정상 종료 진단을 제공하고, 보안 취약성을 찾을 수 있습니다. 그런 다음 Firebase Test Lab으로 맞춤 테스트를 실행하여 Firebase Crashlytics에서 앱에서 발생한 오류에 관한 세부정보를 확인하고 Android vitals를 사용하여 품질 문제에 관해 더 자세히 알아볼 수 있습니다.

효과가 있는 이유

앱의 어느 부분에 문제가 있는지 파악하면 앱을 출시할 때 사용자에게 최상의 품질을 제공할 수 있습니다. 문제를 빨리 해결하면 부정적인 리뷰를 오히려 긍정적인 리뷰로 바꿀 수 있습니다(특히 사용자에게 문제가 해결되었음을 답으로 알리는 경우). 또한 신규 사용자에게 더 나은 앱 환경을 제공하여 더 나은 평점과 리뷰를 확보할 수 있습니다.

기능

  • 사전 출시 보고서: 기본 비공개 테스트 트랙에 업로드하는 앱에서 발견된 문제를 요약하여 보여줍니다. 이러한 앱은 Firebase Test Lab에서 다양한 기기에서의 안정성, 성능, 호환성, 디스플레이 및 접근성 문제, 보안 취약성에 관한 테스트가 실시됩니다.

    문제가 발견되면 보고서에 스택 추적 및 크롤링된 화면의 스크린샷 또는 동영상 다시 재생(관계있는 경우) 등 이를 해결하는 데 도움이 되는 세부정보가 제공됩니다. 보고서에서 감지된 비정상 종료가 Android vitals에서도 발견되면 링크가 생성되어 비정상 종료의 영향에 관한 정보를 확인할 수 있으며 비정상 종료 문제 해결의 우선순위를 결정하는 데 도움을 줍니다. 해결해야 할 접근성 문제를 알아보세요.

  • Firebase Test Lab을 사용한 맞춤 테스트: 앱에서 정해진 테스트를 실행하여 개발 단계 전체에서 결함을 발견합니다.
  • Firebase Crashlytics: 앱의 오류에 관한 자세한 보고서를 생성합니다. 오류는 유사한 스택 트레이스별로 나누어지며 사용자에게 미치는 영향의 심각도에 따라 분류됩니다. 자동 보고서를 받는 외에도 맞춤 이벤트를 로깅하여 비정상 종료가 발생하는 단계를 파악할 수 있습니다.
  • Android vitals: 안정성, 전원, 버벅거림, 시작 시간, 권한 거부 등 앱 성능과 관련된 측정항목을 확인합니다. 이러한 측정항목을 사용하여 잘못된 앱 동작을 파악하고 수정함으로써 앱이 계속 훌륭한 사용자 환경을 제공하도록 하세요.

권장사항

  • 기본 비공개 테스트 트랙 및 공개 테스트 트랙을 사용하여 사전 출시 보고서를 실행합니다. 추가로 생성된 비공개 트랙에는 사전 출시 보고서가 제공되지 않습니다.
  • 빌드를 비교하여 진행 상태를 추적합니다. 사전 출시 보고서의 비정상 종료 탭에는 이전 빌드와 비교한 앱의 호환성이 포함된 차트가 표시됩니다. 보고서의 각 막대는 테스트 중에 발견된 성공한 실행 및 실패한 실행과 함께 비공개 또는 공개 테스트 트랙에서 최근에 테스트한 앱 빌드를 나타냅니다.
  • 앱이 여러 Android 버전에서 어떻게 실행되는지 점검합니다. 특히 최신 버전을 확인하세요. 사전 출시 보고서에서 앱의 비정상 종료 탭 하단을 보면 테스트 기기 및 기기의 Android 버전을 비롯한 보고서를 확인할 수 있으며 앱에 테스트 문제가 발생한 경우 빨간색 아이콘이 표시됩니다.
  • 레이아웃 문제를 찾아냅니다. 각 테스트 요약에 수록된 스크린샷을 통해 앱이 여러 Android 버전, 언어, 화면 해상도에 따라 테스트 기기에서 어떻게 표시되는지 확인할 수 있습니다.
  • 다른 버전의 앱을 업로드해 봅니다. 앱이 기기와 호환되어도 테스트 결과에 '사용할 수 없는 기기'라고 표시될 수 있습니다. 다른 버전의 앱을 비공개 또는 공개 테스트 트랙으로 업로드하여 모든 기기에서 작동하는지 확인합니다.
  • 보안 취약성을 찾아냅니다. 알려진 보안 취약성이 표시되어 개발자가 적절한 조치를 취할 수 있기 때문에 사용자는 앱을 안전하게 이용할 수 있습니다. 보고서에서는 타사 라이브러리의 문제도 스캔합니다. APK에서 발견된 보안 취약성의 이름과 설명은 각 테스트의 사전 출시 보고서에 포함됩니다.
  • 지원되지 않는(비 SDK) API 사용을 확인합니다. Android 9(API 수준 28)부터 공개 Android SDK에 포함되지 않은 인터페이스 사용이 제한됩니다. 사전 출시 보고서의 안정성 탭에 Android vitals에서 감지한 지원되지 않는 플랫폼 인터페이스가 표시되며 우선순위 지정에 도움이 되도록 심각도별로 분류되어 있습니다. 모든 인터페이스마다 한 개 이상의 스택 추적이 표시되어 API가 호출된 위치를 찾는 데 도움이 되도록 합니다.
  • 위치 요건을 제거합니다. 앱이 위치정보에 대한 종속성을 가지고 있으며 테스트 기기가 있는 위치에서 이 종속성을 충족하지 못할 수 있습니다. 이 경우, 특히 앱에 국가 기반 콘텐츠 제한이 있는 경우라면 위치 요건이 제거된 앱을 비공개 또는 공개 테스트 트랙에 게시하시기 바랍니다.
  • 테스트에 포함하려는 데이터를 삽입합니다. 사전 로드된 데이터로 앱에서 테스트를 실행하려면 삽입된 미디어 파일과 함께 앱의 버전을 비공개 또는 공개 테스트 트랙에 게시하세요.
  • Google Play 라이선스 서비스를 사용 중지합니다. 앱이 프로덕션 트랙에 도달하지 않은 경우 Google Play 라이선스 서비스를 사용 중지한 상태에서 비공개 테스트 트랙에 버전을 게시하여 앱이 테스트 기기의 사용자를 올바르게 식별할 수 있도록 하세요. 그렇지 않으면 테스트에 관한 제한된 결과를 얻게 됩니다.
  • 로그인 기능을 사용하여 테스트합니다. 앱에 로그인 화면이 있다면 Android vitals에 테스트 계정을 나타내는 사용자 인증 정보를 제공하는 것을 고려해 보세요. 이렇게 하면 테스트가 전체적으로 실행되어 가장 널리 사용되는 기기에서 앱이 어떻게 작동하는지 더욱 잘 이해할 수 있습니다.
  • 데모 루프를 만들어 게임에서 사전 정의된 작업을 테스트합니다. 표준 크롤러는 OpenGL을 지원하지 않기 때문에 데모 루프를 통해 사전 출시 보고서와 게임플레이 테스트 작업이 연결됩니다. OpenGL을 사용하여 게임을 만들었다면 데모 루프를 통해 게임 버전비공개 또는 공개 테스트 트랙에 게시하세요.
  • 테스트를 더욱 세밀하게 제어하고 주요 기능을 테스트합니다. Robo 테스트 스크립트를 설정하여 특정 작업을 실행합니다. Espresso Test Recorder로 작업을 Android 스튜디오에 기록한 후 앱의 사전 출시 보고서 설정에서 로드하세요. 이렇게 하면 테스트 크롤러에서 스크립트를 실행하고 보고서에 결과를 포함합니다.
  • 딥 링크를 식별합니다. 앱의 딥 링크를 사전 출시 보고서 설정에 추가하면 테스트 크롤러에서 이 딥 링크를 테스트합니다.
  • 접근성 오류, 경고 및 사소한 문제에 관한 테스트 요약을 검토합니다. 테스트 중 발생하는 접근성 오류는 모두 기록되며 보고서의 접근성 탭에서 앱에서 문제가 발생한 부분을 식별하는 화면 클러스터를 확인하세요. 접근성 검사기를 사용하여 접근성 제안을 식별하는 방법도 알아보세요.