Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Pruebas de integración seguras

5 tareas · 38 min · Principiante

Al dividir, la forma de probar cambia: ya no basta con ejecutar el monolito, hay que comprobar que los servicios se entienden entre sí. Esas pruebas necesitan datos, identidades y un entorno, y los tres pueden convertirse en un riesgo si se montan con prisa. En Tienda Yopo lees la tubería de integración, la lista de escenarios y la nota sobre los datos de prueba. Todo es lectura de archivos ficticios.

0 de 5 · 0%

Objetivo de la sala

Al dividir, la forma de probar cambia: ya no basta con ejecutar el monolito, hay que comprobar que los servicios se entienden entre sí. Esas pruebas necesitan datos, identidades y un entorno, y los tres pueden convertirse en un riesgo si se montan con prisa. En Tienda Yopo lees la tubería de integración, la lista de escenarios y la nota sobre los datos de prueba. Todo es lectura de archivos ficticios.

Una prueba de extremo a extremo recorre todos los servicios de un flujo a la vez: es lenta, frágil y poco precisa cuando falla. Una prueba de contrato comprueba un servicio frente a lo que sus consumidores esperan de él, sin levantar los demás. En una arquitectura dividida se necesitan ambas, con muchas más de contrato que de extremo a extremo.

Responde para continuar

¿Qué aporta una prueba de contrato que una prueba de extremo a extremo no da?

Ver pista de ayuda

Piensa en lo que hay que tener en marcha para ejecutar cada tipo de prueba.

Las pruebas de integración con datos reales son cómodas y peligrosas: cualquiera con acceso al entorno de pruebas ve datos de clientes, los registros del entorno los copian y una prueba mal escrita puede modificarlos. La regla es que los datos de un entorno de pruebas se fabrican para él; los de producción no se copian sin enmascararlos.

Abre ci/integracion.yml y pruebas/datos-de-prueba.txt.

Responde para continuar

Escribe el host de la base de datos que usa el trabajo de integración.

Ver pista de ayuda

Busca la variable de la base en el trabajo de integración.

Una identidad con todos los permisos hace pasar casi cualquier prueba, y por eso esconde errores de autorización: si todos los escenarios corren como administrador, nadie comprueba que un usuario normal no pueda ver lo ajeno. Una buena lista de escenarios usa varias identidades, incluidas las que deben ser rechazadas.

Abre pruebas/escenarios.csv.

Responde para continuar

¿Cuántos escenarios de la lista corren con la identidad admin?

Ver pista de ayuda

Cuenta las filas por la segunda columna.

Una prueba que no frena la tubería cuando falla se vuelve decoración: con el tiempo nadie mira su resultado. Es especialmente grave si es la que comprueba que los accesos prohibidos siguen prohibidos, porque su fallo significa que un permiso se abrió.

Lee el archivo de la tubería con atención a las opciones de cada trabajo.

Responde para continuar

¿Qué trabajo de la tubería puede fallar sin detenerla?

Ver pista de ayuda

Busca la opción allow_failure.

El entorno de integración debe poder repetirse y no debe tener nada que perder. Eso significa datos sintéticos propios y, para los servicios de terceros, el entorno de pruebas que el proveedor ofrece, con sus tarjetas o credenciales de prueba. Enmascarar a mano cada ejecución falla el día que alguien se olvida; restringir el acceso a la réplica deja los datos reales en un entorno que no los necesita.

Responde para continuar

Hoy se prueba contra una réplica de ventas sin enmascarar. ¿Qué la sustituye?

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad