Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Pruebas de fallo deliberado en revisión

5 tareas · 35 min · Principiante

Las pruebas habituales demuestran que la aplicación funciona cuando todo funciona. Los hallazgos de este módulo aparecen justo cuando algo falla, y solo una prueba que provoca esa falla a propósito, en un entorno de pruebas, los atrapa antes de producción. Droguería Siemprevida tiene todas sus pruebas en verde y aun así tuvo fallos abiertos y cobros sin pedido. Te entrega su matriz de fallos, dos archivos de pruebas, la última corrida de la integración continua y la lista que usa para revisar cambios.

0 de 5 · 0%

Objetivo de la sala

Las pruebas habituales demuestran que la aplicación funciona cuando todo funciona. Los hallazgos de este módulo aparecen justo cuando algo falla, y solo una prueba que provoca esa falla a propósito, en un entorno de pruebas, los atrapa antes de producción. Droguería Siemprevida tiene todas sus pruebas en verde y aun así tuvo fallos abiertos y cobros sin pedido. Te entrega su matriz de fallos, dos archivos de pruebas, la última corrida de la integración continua y la lista que usa para revisar cambios.

Una prueba de fallo simula que una dependencia hace lo que hacen las dependencias de verdad: no responde, devuelve un error del servidor, devuelve algo que no se puede leer o tarda demasiado. Después comprueba tres cosas: que el control sigue cerrado, que no quedó ningún dato a medias y que la respuesta al cliente no enseña nada interno. En Laravel, Http::fake permite fijar la respuesta de cada servicio, con el código que haga falta, y Http::failedConnection() simula que la conexión no se pudo hacer; Http::preventStrayRequests() hace fallar cualquier petición que no se haya simulado, para que una prueba nunca toque un servicio real.

Provocar fallas en un entorno compartido, como una caída real de un servicio en preproducción, es otra cosa: se hace con autorización, con un plan y con quien opera el entorno avisado. En producción, nunca sin una aprobación explícita.

Responde para continuar

Una prueba simula que el validador de fórmulas no responde. ¿Qué debería comprobar?

Ver pista de ayuda

Las tres comprobaciones del párrafo: control, datos y respuesta.

Abre el laboratorio y lee matriz-de-fallos.txt. Cada fila es una dependencia y cada columna un modo de fallar. Una fila llena de huecos es una dependencia cuyo comportamiento ante la falla nadie conoce hasta que ocurre en producción. Cruza el resultado con lo que viste en la sala de transacciones: el paso que más daño hizo es justamente el que no tiene pruebas.

Responde para continuar

¿Qué dependencia no tiene ninguna prueba que simule uno de sus fallos? Escríbela tal como aparece en la matriz.

Ver pista de ayuda

Busca la fila que no tiene ningún si.

Una prueba que comprueba el comportamiento equivocado es peor que no tener prueba: convierte el defecto en requisito. Quien corrija el fallo verá esa prueba romperse y puede creer que el arreglo es lo que está mal. La matriz marca una casilla como cubierta con un asterisco; lee VerificadorFormulaTest.php y compara lo que afirma cada prueba con lo que debería pasar.

Responde para continuar

¿Qué prueba pasa en verde precisamente porque comprueba el fallo abierto? Escribe su nombre completo.

Ver pista de ayuda

Busca la prueba que simula la caída y afirma que el pedido puede salir.

Para el informe conviene una cifra que el equipo pueda seguir de una revisión a la siguiente. Cuenta las casillas de la matriz marcadas como sin prueba, en todas las dependencias.

Responde para continuar

¿Cuántas casillas de la matriz están marcadas como sin prueba?

Ver pista de ayuda

Cuenta los no fila por fila; la casilla con asterisco está marcada como si.

Las pruebas de ConfirmarPedidoFallosTest.php cubren bien la pasarela, pero todas simulan fallas que ocurren antes de que exista un cobro. El daño real vino de una falla posterior. En la revisión de un cambio, la pregunta que lo habría encontrado no está en la lista del equipo: para cada dependencia que toca el cambio, qué pasa si falla y en qué estado quedan los datos.

Responde para continuar

¿Qué prueba habría detectado los cobros sin pedido antes de producción?

Ver pista de ayuda

La falla tiene que ocurrir después del paso que no se puede deshacer.

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