Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Pruebas de políticas y casos límite

5 tareas · 40 min · Principiante

Una política es código, y el código que decide quién paga qué se prueba antes de publicarse. Un funcionario de Urunday abrió el cambio MR-188 sobre la regla de pagos de Caburé y el ci lo dejó en rojo. Tienes el cambio, la política de la rama, las pruebas en Rego, la salida de la corrida, el informe de cobertura, la norma interna de pagos y la lista de casos límite que riesgo exige probar. Lees la corrida como lo haría quien revisa el cambio. Solo lectura; las salidas son una reproducción y nada se ejecuta.

0 de 5 · 0%

Objetivo de la sala

Una política es código, y el código que decide quién paga qué se prueba antes de publicarse. Un funcionario de Urunday abrió el cambio MR-188 sobre la regla de pagos de Caburé y el ci lo dejó en rojo. Tienes el cambio, la política de la rama, las pruebas en Rego, la salida de la corrida, el informe de cobertura, la norma interna de pagos y la lista de casos límite que riesgo exige probar. Lees la corrida como lo haría quien revisa el cambio. Solo lectura; las salidas son una reproducción y nada se ejecuta.

Las pruebas de una política fijan una entrada y la decisión esperada. En OPA se escriben en Rego, como reglas cuyo nombre empieza por test_, y la entrada se sustituye con with input as; se corren con opa test. Cedar no trae un formato de prueba en el lenguaje: se suelen guardar pares de solicitud y decisión esperada y se pasan por el autorizador en el ci. En los dos casos, lo que vale es la lista de entradas que se eligen.

Los errores de una política se esconden en los bordes: el valor exacto del tope, un peso por encima, el monto cero o negativo, el atributo que falta, la herramienta que no está en el catálogo, la mayúscula de más. Un caso límite es la entrada justo en ese borde, y cada uno tiene que salir de un requisito escrito, no de lo que la política hace hoy: si la prueba se escribe mirando la política, prueba que la política hace lo que hace.

Responde para continuar

Para la regla de pagos de Caburé y la norma NI-12, ¿cuál de estas entradas es un caso límite?

Ver pista de ayuda

Lee el punto 2 de `requisitos/NI-12-pagos.txt`.

Cuando una prueba falla en un cambio, hay dos lecturas posibles: el cambio rompió algo, o la prueba estaba mal. Lo que decide entre las dos no es la opinión del autor del cambio, sino el requisito del que salió la prueba. Lee la salida de la corrida y localiza la prueba en rojo.

Responde para continuar

¿Qué prueba falla en la corrida del cambio MR-188? Escribe su nombre completo, sin el paquete.

Ver pista de ayuda

Busca la línea con `FAIL` en `salidas/pruebas-ci.txt`; el nombre es lo que va después del último punto.

Riesgo mantiene una lista de casos límite con su decisión esperada, y cada prueba lleva encima el identificador del caso que cubre. Cruzar la lista con las pruebas es la forma rápida de ver qué quedó sin probar. Fíjate además en qué haría la regla de pagos con ese caso: una regla que solo pone tope por arriba no dice nada de lo que pasa por abajo.

Responde para continuar

¿Qué caso límite de la lista de riesgo no tiene ninguna prueba?

Ver pista de ayuda

Compara los identificadores de `requisitos/casos-limite.txt` con los comentarios que preceden a cada prueba en `pruebas/cabure_test.rego`.

La cobertura dice qué partes de la política se evaluaron durante las pruebas. No dice si las pruebas son buenas, pero sí señala lo que nunca se ejercita: una condición que ninguna prueba alcanza puede cambiar mañana y ninguna prueba se pondrá en rojo. En OPA, opa test --coverage informa las líneas cubiertas y las que no. Ojo con la lectura: una condición cuenta como cubierta si se evaluó, aunque haya dado falso, mientras que la cabeza de una regla (la línea permitir if) solo sale cubierta si alguna prueba cumplió la regla entera. Una cabeza sin cubrir dice que ninguna prueba espera que esa regla permita; condiciones sin cubrir dicen que ninguna prueba llegó siquiera a mirarlas. Las optimizaciones del motor también pueden saltarse reglas enteras, así que el informe se lee como una pista de dónde mirar, no como una medida exacta. Aquí tienes ese informe resumido por regla.

Responde para continuar

¿Qué regla de la política tiene condiciones que ninguna prueba alcanza? Escribe su código.

Ver pista de ayuda

Lee la última columna de `salidas/cobertura-ci.txt`.

El autor propone ajustar la prueba en rojo para que espere negar. Con la norma, la lista de casos y la corrida delante, decide.

Responde para continuar

¿Qué pides antes de aprobar el cambio MR-188?

Ver pista de ayuda

El punto 2 de `requisitos/NI-12-pagos.txt` dice qué montos entran; la tarea 3 y la tarea 4 dicen qué falta probar.

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