Prueba de restablecimiento de copia de seguridad automática

  
Marco de trabajo de pruebas automatizadas para verificar que los datos del usuario y las credenciales de la cuenta sobrevivan de forma segura a las actualizaciones del dispositivo y a las restauraciones desde la nube.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
23 de septiembre de 2026 - - - 1.0.0-alpha01

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la herramienta Issue Tracker para obtener más información.

Versión 1.0 de la prueba de restablecimiento de copias de seguridad automatizadas

Versión 1.0.0-alpha01

23 de septiembre de 2026

Lanzamiento de androidx.test.backup:backup:1.0.0-alpha01 y androidx.test.backup:backup-host:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Funciones de la versión inicial

Se lanzó la versión inicial del marco de trabajo de pruebas de copia de seguridad y restablecimiento automatizados para Android. Esta biblioteca proporciona una forma automatizada y de extremo a extremo de probar que los datos del usuario y las credenciales de la cuenta sobreviven de forma segura a las actualizaciones del dispositivo y a las restauraciones desde la nube. En lugar de depender de las pruebas manuales, los desarrolladores pueden automatizar todo el ciclo de vida: inicializar el estado de la app, crear una copia de seguridad según las reglas configuradas (dataExtractionRules y fullBackupContent), borrar la app y verificar la integridad de los datos después de la restauración. El framework proporciona dos artefactos: androidx.test.backup:backup-host (que se ejecuta en la computadora host para coordinar los pases de copia de seguridad, borrado y restauración a través de ADB) y androidx.test.backup:backup (que se ejecuta en el dispositivo para propagar y verificar los datos de la app).

  • BackupRestoreController: Es la interfaz principal del host que se usa para controlar los flujos de trabajo de copia de seguridad, limpieza, restauración y verificación de un dispositivo de prueba. Proporciona canalizaciones convenientes, como runBackupRestoreFlow, así como operaciones detalladas (performBackup, performRestore, clearAppData, fetchDeviceLogs y runOnDevice). Admite tanto corrutinas de Kotlin como ejecución asíncrona de ListenableFuture de Java.
  • BackupRestoreExtension: Es una extensión de JUnit 5 Jupiter que resuelve e inyecta parámetros BackupRestoreController en métodos de prueba. Administra sesiones de ADB independientes o compartidas, instala automáticamente los APKs de prueba y probados, descarta las pantallas de bloqueo y los keyguards del dispositivo para desbloquear el almacenamiento protegido con credenciales y aplica el aislamiento de la zona de pruebas de prueba.
  • BackupRestoreTestRunner: Es un ejecutor de pruebas de Instrumentation integrado en el dispositivo que se ejecuta dentro de la zona de pruebas de la aplicación. Resuelve y ejecuta de forma dinámica las implementaciones de BackupDeviceAction solicitadas que envían los orquestadores del host, y redirecciona de forma segura las cargas útiles grandes de resultados JSON al disco para evitar los límites del búfer de transacciones de Binder.
  • BackupDeviceAction: Es el contrato para las acciones personalizadas del dispositivo que se ejecutan directamente en el sandbox de la aplicación de destino durante la propagación de datos (PHASE_POPULATE) o la validación posterior a la restauración (PHASE_VERIFY).
  • StorageDomain: Descriptores con escritura segura (Preference, Database, TextFile y BinaryFile) que se usan junto con asistentes de acciones prediseñados (PopulateStorageAction y AssertStorageAction) para propagar y confirmar automáticamente SharedPreferences, bases de datos de SQLite y archivos sin procesar en los contextos de almacenamiento protegido por credenciales (CE) y protegido por dispositivo (DE) sin código repetitivo.
  • BackupTransportMode: Especifica la topología de transporte de la copia de seguridad de la plataforma que se simulará durante las ejecuciones de prueba, incluidas DEVICE_TO_DEVICE (migración de dispositivos físicos a través de USB o Wi-Fi Direct), CLOUD_ENCRYPTED (copia de seguridad en la nube con encriptación de extremo a extremo del cliente), CLOUD_UNENCRYPTED (copia de seguridad estándar en la nube) y LOCAL (copia de seguridad sin conexión del sistema de archivos local).
  • @Device y @Isolation: Anotaciones de host para seleccionar dispositivos conectados que coincidan con números de serie, niveles de API o roles multidispositivo específicos, y para configurar políticas de aislamiento de zona de pruebas entre ejecuciones de pruebas (IsolationPolicy.AUTOMATIC vs. IsolationPolicy.MANUAL).