Desarrollador Android: pregunta de entrevista

¿Cuál es tu estrategia de testing Android?

Prueba lógica Android en JVM cuando sea posible, usa Compose o instrumentación para interacción con plataforma, aísla repositorios, controla dispatchers y relojes y conserva pocos end-to-end críticos.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

La pirámide la moldea lo lento que es el emulador de Android. La lógica de dominio, los ViewModels y los repositorios corren como pruebas JVM planas con fuentes de datos falsas, un dispatcher de pruebas mediante runTest y un reloj controlable. Las pruebas de UI en Compose corren en la JVM con Robolectric o en dispositivo con la regla de pruebas de Compose, afirmando mediante semántica y no por IDs de vista. Las consultas de Room se prueban contra una base de datos en memoria. Una suite end-to-end pequeña en dispositivos reales o una granja de emuladores cubre el login, el flujo principal de compra o creación y cualquier ruta impulsada por notificaciones.

Ejemplo

El ViewModel de login se prueba en la JVM con un AuthRepository falso que devuelve éxito y fallo, avanzando el planificador de pruebas para afirmar los estados de carga y error. Una prueba de Compose renderiza la pantalla de login con un ViewModel falso y comprueba que el botón está desactivado hasta rellenar ambos campos. Una prueba instrumentada inicia sesión contra un backend de staging en un dispositivo en CI cada noche.

Errores frecuentes

  • Probar ViewModels con Dispatchers.Main directamente y obtener resultados inestables por hilos reales.
  • Escribir cada prueba como instrumentada y esperar una hora a CI.
  • Afirmar sobre internos del layout como índices de hijos en lugar de la semántica que perciben los usuarios.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Android