Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

El ciclo de desarrollo del servicio

5 tareas · 60 min · Principiante

Examen de bloque. Seguimos en Carmenta Solar. El servicio de lecturas se programa en Python y su equipo ya tiene pruebas automáticas de varios tipos: un arnés de fuzzing sobre la biblioteca que lee las tramas de los medidores, un agente de pruebas que observa la API desde dentro mientras corre la suite y una cadena que reparte el tiempo entre las solicitudes de cambio y las corridas nocturnas. Además, una solicitud de cambio abierta se escribió con ayuda del asistente de la empresa. Tienes los informes de la semana pasada. Nadie te dice dónde mirar, no hay pistas y cada respuesta sale de lo que leas.

0 de 5 · 0%

Objetivo de la sala

Examen de bloque. Seguimos en Carmenta Solar. El servicio de lecturas se programa en Python y su equipo ya tiene pruebas automáticas de varios tipos: un arnés de fuzzing sobre la biblioteca que lee las tramas de los medidores, un agente de pruebas que observa la API desde dentro mientras corre la suite y una cadena que reparte el tiempo entre las solicitudes de cambio y las corridas nocturnas. Además, una solicitud de cambio abierta se escribió con ayuda del asistente de la empresa. Tienes los informes de la semana pasada. Nadie te dice dónde mirar, no hay pistas y cada respuesta sale de lo que leas.

Un arnés de fuzzing produce un informe cada vez que encuentra una entrada que hace caer el programa, y la misma causa suele caer muchas veces con entradas distintas. Para no contar de más se agrupa por la firma de la caída: la función y la línea donde cae. Dos informes con la misma firma son un solo fallo; dos con firmas distintas son dos fallos, aunque se parezcan las entradas.

Responde para continuar

¿Cuántos fallos distintos hay detrás de los informes de caída de la semana?

Un agente que observa la aplicación mientras corren las pruebas solo puede hablar de lo que las pruebas ejercitaron. Una operación sin hallazgos y con cientos de solicitudes de prueba tiene un silencio que significa algo; una operación sin hallazgos y sin una sola solicitud no demuestra nada: nadie la tocó. Al leer el informe se miran juntas las dos columnas.

Responde para continuar

¿Qué operación aparece sin hallazgos del agente solo porque ninguna prueba la ejerció?

El tiempo de cadena se presupuesta: una corrida corta por cada solicitud de cambio, que no frene al equipo, y una corrida larga programada, que acumula cobertura. Para saber cuánto cuesta una semana hay que leer el calendario tal como está escrito (qué días corre) y sumar cada tipo de corrida por su duración. Un calendario de cinco campos se lee de izquierda a derecha: minuto, hora, día del mes, mes y día de la semana, donde 1 es lunes.

Responde para continuar

¿Cuántos minutos de fuzzing consumió la cadena en la semana, sumando las corridas por solicitud de cambio y las programadas?

Cuando aparece una firma de caída que las corridas anteriores no veían, es una regresión y el culpable está entre los cambios fusionados desde la última corrida limpia de esa firma. De todos esos cambios, el sospechoso es el que toca el archivo donde cae el programa; los demás pueden ser ruido, o incluso tocar archivos de otros fallos conocidos.

Responde para continuar

¿Qué commit introdujo la única firma de caída que no aparecía en las corridas anteriores?

Un asistente de código puede proponer una dependencia con un nombre verosímil que no existe. Si el nombre está libre en el registro, cualquiera puede publicar un paquete con ese nombre y la próxima instalación lo traerá. Se revisa cada paquete nuevo de la solicitud contra el registro: que exista, quién lo publica y si la plataforma lo tiene aprobado. Aquí interesa el que ni siquiera existe.

Responde para continuar

¿Qué dependencia que añade la solicitud de cambio escrita con el asistente no existe en el registro de paquetes?

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