앱 테스트 에이전트(Android)

앱 테스트 에이전트는 Firebase의 Gemini를 기반으로 하는 테스트 사례 생성, 관리, 실행 에이전트입니다. 자연어로 테스트 목표를 정의하면 에이전트가 AI를 사용하여 앱을 이해하고 탐색하고, 사용자 상호작용을 시뮬레이션하고, 자세한 테스트 결과를 제공합니다.

앱 테스트 에이전트가 사용자의 데이터를 사용하는 방식

앱 테스트 에이전트는 Firebase의 Gemini에서 제공하며 동일한 약관이 적용됩니다. Firebase의 Gemini에서 사용자 데이터를 사용하는 방식에 대한 자세한 내용은 Firebase의 Gemini에서 사용자 데이터를 사용하는 방식을 참조하세요.

시작하기 전에

아직 등록하지 않았다면 Firebase에 앱을 등록합니다.

다른 Firebase 제품을 사용하지 않는 경우 프로젝트를 만들고 앱을 등록하기만 하면 됩니다. 앱에 SDK를 추가할 필요는 없습니다. 그러나 이후에 추가 제품을 사용할 경우에는 Firebase Console을 사용하여 Firebase 추가의 모든 단계를 완료해야 합니다.

앱의 출시 전 버전을 테스터에 배포할 준비가 되면 일반적인 프로세스에 따라 APK 또는 AAB를 빌드하고 Firebase Console의 앱 배포에 업로드합니다. 디버그 키 또는 앱 서명 키를 사용하여 APK를 서명해야 합니다.

테스트 사례 만들기

앱 테스트 에이전트는 AI 가이드 테스트를 실행하기 위해 자연어 테스트 사례를 사용하여 앱에 대한 테스트를 실행합니다.

각 테스트 사례는 순차적으로 실행되는 단계로 분류됩니다. 단계를 사용하면 테스트 사례를 각기 고유한 성공 기준이 있는 단계로 분할할 수 있습니다. 에이전트는 한 단계에서 여러 작업을 수행할 수 있습니다.

테스트 사례를 만들려면 Firebase ConsoleApp Distribution 페이지를 열고 다음 단계를 따르세요.

  1. 테스트 사례 탭에서 새 테스트 사례를 클릭합니다. 자체 테스트 사례를 만들지 않으려면 제공된 테스트 사례 예시를 수정하거나 사용할 수 있습니다.
  2. 테스트 사례 추가 대화상자에서 테스트 사례에 이름을 지정합니다. 테스트를 식별하는 데 사용되지만 에이전트는 무시합니다.
  3. 다른 단계 추가 버튼을 클릭하여 테스트를 여러 단계로 나누는 것이 좋습니다.
  4. 각 단계에 앱 테스트 에이전트가 해당 단계에서 수행해야 하는 작업을 설명하는 목표를 지정합니다.
  5. (선택사항) 힌트를 추가하여 앱 테스트 에이전트가 해당 단계에서 앱을 이해하고 탐색하는 데 도움이 되는 추가 정보를 제공합니다.
  6. (선택사항) 앱 테스트 에이전트가 단계가 완료된 시점을 판단하는 데 도움이 되는 성공 기준을 추가합니다.
  7. 테스트 맞춤설정이 완료되면 저장을 클릭합니다.

테스트 사례 예시

다음은 앱 테스트 에이전트를 사용하여 테스트 사례를 만드는 방법의 예입니다.

홈페이지 테스트
테스트 제목

홈페이지 로드

목표

홈페이지 로드

힌트

온보딩 화면을 지나 탐색합니다. 팝업을 닫습니다. 로그인하지 마세요.

성공 기준

기본 앱 홈페이지가 화면에 표시되고 모든 이미지가 로드되었으며 오류가 표시되지 않습니다.

테스트 실행

앱 테스트 에이전트를 사용하면 출시 또는 테스트 사례 페이지에서 테스트 실행 버튼을 클릭하여 콘솔에서 AI 가이드 테스트를 실행할 수 있습니다. 앱 테스트 에이전트 맞춤설정 화면이 열리고 여기서 에이전트가 실행할 기존 테스트 사례를 하나 이상 선택할 수 있습니다. 테스트할 기기와 로그인 사용자 인증 정보를 제공할지 여부도 선택할 수 있습니다.

테스트 유형을 변경하여 무작위 크롤링 테스트를 실행할 수도 있습니다. 무작위 크롤링 테스트는 자동 테스터 기능을 사용합니다.

출시 버전의 앱 테스트 에이전트 탭에 있는 출시 페이지에서 테스트 결과를 볼 수 있습니다. 세부정보 보기 버튼을 클릭하면 테스트 결과 대화상자가 열리고 문제, 앱 스크린샷, 테스트 중에 Gemini가 수행한 작업이 표시됩니다.

빌드 자동 테스트

CI/CD 파이프라인에서와 같이 새 빌드에서 앱 테스트 에이전트 테스트를 자동으로 실행하려면 App Distribution의 Gradle 또는 fastlane 플러그인 또는 Firebase CLI를 사용하여 빌드를 에이전트에 배포하면 됩니다.

앱 테스트 에이전트 기능을 사용하려면 테스트 기기와 테스트 사례 ID를 하나 이상 지정해야 합니다. 테스트 사례 ID는 Firebase Console의 테스트 사례 페이지에서 확인하고 다운로드할 수 있습니다. Firebase CLI를 시작하는 방법과 배포를 구성하는 다양한 방법에 대한 자세한 내용은 Firebase CLI를 사용하여 테스터에 Android 앱 배포를 참조하세요.

appdistribution:distribute 명령어를 실행하여 앱을 업로드하고 다음 파라미터를 사용하여 앱 테스트 에이전트 기능에 대한 배포를 구성합니다.

appdistribution:distribute 옵션
--test-devices 또는 --test-devices-file

빌드를 앱 테스트 에이전트 기능에 배포할 테스트 기기입니다.

테스트 기기를 세미콜론으로 구분된 테스트 기기 목록으로 지정할 수 있습니다.

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

또는 세미콜론으로 구분된 테스트 기기 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

--test-devices-file: "/path/to/test-devices.txt"
--test-username

테스트 중에 사용할 자동 로그인의 사용자 이름입니다.

--test-password 또는 --test-password-file

테스트 중에 사용할 자동 로그인 비밀번호입니다.

또는 비밀번호가 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

--test-password-file: "/path/to/test-password.txt"
--test-non-blocking

테스트를 비동기식으로 실행합니다. Firebase Console로 이동하여 자동 테스트 결과를 확인합니다.

--test-case-ids 또는 --test-case-ids-file

AI 기반 자동 테스트를 실행하기 위한 테스트 사례 ID의 쉼표로 구분된 목록입니다.

--test-case-ids: "load-app,play-the-first-level"

또는 쉼표 또는 줄바꿈으로 구분된 테스트 사례 ID 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

--test-case-ids-file: "/path/to/test-case-ids.txt"

앱 테스트 에이전트 기능을 사용하려면 테스트 기기와 테스트 사례 ID를 하나 이상 지정해야 합니다. 테스트 사례 ID는 Firebase Console의 테스트 사례 페이지에서 확인하고 다운로드할 수 있습니다. Gradle을 시작하는 방법과 배포를 구성하는 다양한 방법에 대한 자세한 내용은 Gradle을 사용하여 테스터에 Android 앱 배포를 참조하세요.

firebaseAppDistribution 섹션을 하나 이상 추가하여 App Distribution을 구성하고 다음 파라미터를 사용하여 앱 테스트 에이전트 기능에 대한 배포를 구성할 수 있습니다.

App Distribution 빌드 파라미터
testDevices 또는 testDevicesFile

빌드를 앱 테스트 에이전트 기능에 배포할 테스트 기기입니다.

테스트 기기를 세미콜론으로 구분된 기기 사양 목록으로 지정할 수 있습니다.

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

또는 세미콜론으로 구분된 기기 사양 목록이 포함된 파일의 경로를 지정할 수 있습니다.

testDevicesFile="/path/to/testDevices.txt"
testUsername

테스트 중에 사용할 자동 로그인의 사용자 이름입니다.

testPassword 또는 testPasswordFile

테스트 중에 사용할 자동 로그인 비밀번호입니다.

또는 비밀번호가 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

testPasswordFile="/path/to/testPassword.txt"
testNonBlocking

테스트를 비동기식으로 실행합니다. Firebase Console로 이동하여 자동 테스트 결과를 확인합니다.

testCases 또는 testCasesFile

AI 기반 자동 테스트를 실행하기 위한 테스트 사례 ID의 쉼표로 구분된 목록입니다.

testCases: "load-app,play-the-first-level"

또는 쉼표 또는 줄바꿈으로 구분된 테스트 사례 ID 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

testCasesFile: "/path/to/test-case-ids.txt"

앱 테스트 에이전트 기능을 사용하려면 테스트 기기와 테스트 사례 ID를 하나 이상 지정해야 합니다. 테스트 사례 ID는 Firebase Console의 테스트 사례 페이지에서 확인하고 다운로드할 수 있습니다. fastlane을 시작하는 방법과 배포를 구성하는 다양한 방법에 대한 자세한 내용은 fastlane을 사용하여 테스터에 Android 앱 배포를 참조하세요.

./fastlane/Fastfile 레인에서 firebase_app_distribution 블록을 추가합니다. 다음 파라미터를 사용하여 앱 테스트 에이전트 기능에 대한 배포를 구성합니다.

firebase_app_distribution 매개변수
test_devices 또는 test_devices_file

빌드를 앱 테스트 에이전트 기능에 배포할 테스트 기기입니다. 테스트 기기를 세미콜론으로 구분된 테스트 기기 목록으로 지정할 수 있습니다.

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

또는 세미콜론으로 구분된 테스트 기기 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

test_devices_file: "/path/to/test-devices.txt"
test_username

테스트 중에 사용할 자동 로그인의 사용자 이름입니다.

test_password 또는 test_password_file

테스트 중에 사용할 자동 로그인 비밀번호입니다.

또는 비밀번호가 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

test_password_file: "/path/to/test-password.txt"
test_non_blocking

테스트를 비동기식으로 실행합니다. Firebase Console로 이동하여 자동 테스트 결과를 확인합니다.

--test_case_ids 또는 --test_case_ids_file

AI 기반 자동 테스트를 실행하기 위한 테스트 사례 ID의 쉼표로 구분된 목록입니다.

--test_case_ids: "load-app,play-the-first-level"

또는 쉼표 또는 줄바꿈으로 구분된 테스트 사례 ID 목록이 포함된 일반 텍스트 파일의 경로를 지정할 수 있습니다.

--test_case_ids_file: "/path/to/test-case-ids.txt"

테스트 결과 디버깅

테스트 결과가 예상과 다른 경우 테스트 결과 페이지의 세부정보 보기 아래에 있는 에이전트 보기 표시 전환 버튼을 사용하여 테스트를 디버깅할 수 있습니다. 에이전트 보기에는 앱 테스트 에이전트가 앱의 접근성 정보를 사용할 때 감지할 수 있었던 화면 요소가 표시됩니다. 에이전트가 확인한 내용을 자세히 살펴보려면 작업 더보기 메뉴에서 해당 정보를 다운로드하면 됩니다.

테스트 결과 페이지의 아티팩트 보기 버튼을 사용하여 테스트 결과의 모든 동영상, 로그, 다른 Cloud 아티팩트를 볼 수도 있습니다.

알려진 문제 및 제한사항

앱 테스트 에이전트 미리보기에는 몇 가지 알려진 제한사항이 있습니다.

  • 앱 테스트 에이전트는 생성형 AI를 사용하여 앱을 테스트하므로 동일한 안내를 따르더라도 다른 작업을 수행하는 경우가 있습니다.
  • 앱 테스트 에이전트는 탭, 텍스트 입력, 위로 스크롤, 아래로 스크롤, 대기 작업만 지원합니다.
  • 앱 테스트 에이전트는 실행하는 데 여러 작업이 필요한 단일 단계만 포함된 테스트를 실행하는 데 문제가 있습니다. 복잡한 작업을 여러 개의 짧은 단계로 나누면 성능이 향상됩니다.
  • 앱 테스트 에이전트는 화면 밖의 다른 요소를 노출하도록 스크롤하지 않는 경우가 있습니다. 스크롤 가능 여부를 시각적으로 표시하지 않는 경우 이러한 현상이 더 자주 발생합니다. 이 문제를 해결하려면 '힌트' 필드를 사용하여 스크롤을 제안할 수 있습니다.
  • 앱 테스트 에이전트는 계산하는 데 문제가 있을 수 있습니다(예: 특정 횟수만큼 작업 수행).

테스트 할당량

미리보기 기간에는 할당량 한도 내에서 AI 가이드 테스트가 무료로 제공됩니다. 기본 할당량 한도는 월 100회 테스트입니다.

여러 기기에서 여러 테스트 사례를 실행하거나 동일한 테스트 사례를 실행하는 경우 이는 여러 테스트로 집계됩니다. 예를 들어 기기 2대에서 테스트 사례 2개를 실행하면 총 4회의 테스트로 집계됩니다.

할당량을 기본 한도보다 늘리려면 사용 사례를 포함하여 Firebase 지원팀에 문의하세요.