Ingeniero de Automatización QA: pregunta de entrevista
¿Cómo ejecutas pruebas en paralelo de forma segura?
Las pruebas paralelas necesitan cuentas, namespaces, puertos y archivos independientes, setup determinista, sin estado global, workers acotados y limpieza única. Divide por duración medida, no número de archivos.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
Las pruebas en paralelo son seguras cuando nada de lo que tocan es compartido. Cada worker recibe sus propias cuentas, espacio de datos como un tenant o identificadores con prefijo, puertos, directorios temporales y contexto de navegador, y la preparación es determinista para que el orden no importe. El estado global mutable en el proceso de pruebas, cachés estáticas, singletons y variables de entorno, es el culpable habitual cuando las ejecuciones paralelas empiezan a fallar. Los workers se acotan a lo que soportan la máquina y el sistema bajo prueba, las pruebas voraces se programan separadas, la limpieza es única por prueba y no un reinicio global, y el reparto entre máquinas se hace por duración medida para que todos los fragmentos terminen a la vez.
Ejemplo
Una suite de 800 pruebas de API pasó de serie a 8 workers dando a cada worker su propio esquema de base de datos creado en un fixture y generando emails únicos por prueba. Dos pruebas que modificaban un feature flag compartido se reescribieron con una sobrescritura por tenant. Repartir entre cuatro máquinas de CI por duración histórica bajó el tiempo total de 40 minutos a 6, con el fragmento más largo a un minuto del más corto.
Errores frecuentes
- Ejecutar en paralelo contra una base de datos compartida y obtener fallos dependientes del orden.
- Repartir por número de ficheros, de modo que un fragmento tarda el triple que el resto.
- Lanzar tantos workers que el sistema bajo prueba se convierte en el cuello de botella y todo expira.
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.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.