Desarrollador iOS: pregunta de entrevista

¿Cuál es tu estrategia de testing iOS?

Usa unitarias para lógica de dominio, inyección para relojes y clientes controlables, integración para persistencia o red y UI tests enfocados en recorridos críticos.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

Las pruebas rápidas cubren modelos, view models y lógica de formato con dependencias inyectadas por protocolos: un reloj falso, un cliente HTTP falso que devuelve respuestas fijas, un almacén de persistencia en memoria. Las pruebas de integración ejercitan la capa de persistencia real contra un almacén temporal y la decodificación real contra fixtures grabados de la API. Las pruebas de snapshot atrapan cambios visuales no intencionados en componentes. Una suite corta de XCUITest recorre los recorridos críticos en un simulador en CI y nada más, porque las pruebas de UI son lentas y frágiles. Swift Testing o XCTest con soporte async manejan la concurrencia sin esperas.

Ejemplo

El CheckoutViewModel se prueba con un PaymentClient falso que falla en la segunda llamada, afirmando que el estado de UI muestra la opción de reintento y que el pedido no se marca como pagado. Una prueba de integración con SwiftData inserta tres pedidos en un contenedor en memoria y comprueba el predicado de impagados. Un XCUITest inicia sesión, añade un artículo y completa el checkout contra un servidor simulado arrancado por el target de pruebas.

Errores frecuentes

  • Dormir en las pruebas para esperar trabajo asíncrono en lugar de usar await.
  • Depender de un backend vivo, de modo que las pruebas fallan cuando staging está caído.
  • Cubrir cada pantalla con XCUITests y acabar con una suite de dos horas e inestable.

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 iOS