자동 백업 복원 테스트
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2026년 9월 23일 | - | - | - | 1.0.0-alpha01 |
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
자동 백업 복원 테스트 버전 1.0
버전 1.0.0-alpha01
2026년 9월 23일
androidx.test.backup:backup:1.0.0-alpha01 및 androidx.test.backup:backup-host:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
초기 출시의 기능
Android용 자동 백업 및 복원 테스트 프레임워크의 초기 출시 이 라이브러리는 사용자 데이터와 계정 사용자 인증 정보가 기기 업그레이드와 클라우드 복원을 안전하게 통과하는지 테스트하는 자동화된 엔드 투 엔드 방법을 제공합니다. 개발자는 수동 테스트에 의존하는 대신 앱 상태 시드, 구성된 규칙 (dataExtractionRules 및 fullBackupContent)에 따른 백업, 앱 삭제, 복원 후 데이터 무결성 확인 등 전체 수명 주기를 자동화할 수 있습니다. 이 프레임워크는 두 가지 아티팩트(ADB를 통해 백업, 완전 삭제, 복원 패스를 오케스트레이션하는 호스트 컴퓨터에서 실행되는 androidx.test.backup:backup-host와 앱 데이터를 채우고 확인하는 기기에서 실행되는 androidx.test.backup:backup)를 제공합니다.
BackupRestoreController: 테스트 기기의 백업, 초기화, 복원, 확인 워크플로를 제어하는 데 사용되는 기본 호스트 측 인터페이스입니다.runBackupRestoreFlow와 같은 편의 파이프라인과 세부 작업 (performBackup,performRestore,clearAppData,fetchDeviceLogs,runOnDevice)을 제공합니다. Kotlin 코루틴과 JavaListenableFuture비동기 실행을 모두 지원합니다.BackupRestoreExtension: 테스트 메서드에BackupRestoreController매개변수를 확인하고 삽입하는 JUnit 5 Jupiter 확장 프로그램입니다. 독립형 또는 공유 ADB 세션을 관리하고, 테스트된 APK와 테스트 APK를 자동으로 설치하고, 기기 잠금 화면과 키가드를 닫아 사용자 인증 정보로 보호된 저장소를 잠금 해제하고, 테스트 샌드박스 격리를 적용합니다.BackupRestoreTestRunner: 애플리케이션 샌드박스 내에서 실행되는 기기 내Instrumentation테스트 러너입니다. 호스트 오케스트레이터에서 디스패치한 요청된BackupDeviceAction구현을 동적으로 확인하고 실행하며, 바인더 트랜잭션 버퍼 제한을 방지하기 위해 대규모 JSON 결과 페이로드를 디스크로 안전하게 리디렉션합니다.BackupDeviceAction: 데이터 시딩 (PHASE_POPULATE) 또는 복원 후 검증 (PHASE_VERIFY) 중에 타겟 애플리케이션 샌드박스 내에서 직접 실행되는 맞춤 기기 측 작업의 계약입니다.StorageDomain: 미리 빌드된 작업 도우미 (PopulateStorageAction,AssertStorageAction)와 함께 사용하여 상용구 없이 사용자 인증 정보 보호 (CE) 및 기기 보호 (DE) 스토리지 컨텍스트 전반에서SharedPreferences, SQLite 데이터베이스, 원시 파일을 자동으로 시드하고 어설션하는 데 사용되는 강력한 유형의 설명자 (Preference,Database,TextFile,BinaryFile)입니다.BackupTransportMode: 테스트 통과 중에 시뮬레이션할 플랫폼 백업 전송 토폴로지를 지정합니다. 여기에는DEVICE_TO_DEVICE(USB 또는 Wi-Fi Direct를 통한 실제 기기 이전),CLOUD_ENCRYPTED(클라이언트 측 엔드 투 엔드 암호화를 사용한 클라우드 백업),CLOUD_UNENCRYPTED(표준 클라우드 백업),LOCAL(오프라인 로컬 파일 시스템 백업)이 포함됩니다.@Device및@Isolation: 특정 일련번호, API 수준 또는 멀티 디바이스 역할과 일치하는 연결된 기기를 선택하고 테스트 실행 간 샌드박스 격리 정책을 구성하기 위한 호스트 주석 (IsolationPolicy.AUTOMATIC대IsolationPolicy.MANUAL)