Aunque escribimos pruebas para nuestras aplicaciones web, la realidad es que los errores aún ocurren. Afortunadamente, muchos de ellos son fácilmente prevenibles si prestamos más atención a las advertencias de nuestras aplicaciones. Sin embargo, a menudo es tan fácil ignorarlas y nunca volver a ellas hasta que encontramos un error en producción, lo que lleva a que cientos, si no miles, de advertencias aparezcan en nuestra salida de prueba. Esta charla trata sobre cómo prevenir esta situación y cómo salir de ella.
La Magia Transformadora de Ordenar tus Advertencias de Prueba
Video Summary and Transcription
La charla de hoy se centra en prevenir las advertencias de prueba en el desarrollo de software. Las advertencias de prueba a menudo se ignoran y pueden llevar a errores, problemas de rendimiento y preocupaciones de seguridad. El ponente presenta una biblioteca llamada jsreporter log validator que automatiza el proceso de agregar reglas para prevenir nuevas advertencias y solucionar las existentes. La biblioteca proporciona un resumen del comportamiento esperado, las fallas y las acciones a tomar. En general, la charla enfatiza la importancia de prestar atención a las advertencias de prueba y utilizar la automatización para mejorar la experiencia del desarrollador y prevenir problemas en aplicaciones grandes y heredadas.
1. Introducción a las Advertencias de Prueba
Hoy vamos a hablar sobre cómo prevenir las advertencias de prueba, con dos objetivos en mente: prevenir errores y mejorar la experiencia del desarrollador. Las advertencias de prueba son mensajes creados por los desarrolladores para evitar errores, problemas de rendimiento, preocupaciones de seguridad y más. Las advertencias tienden a acumularse porque son fáciles de ignorar, no hacen que CI falle y a menudo no son una prioridad. Ignorar las advertencias puede tener consecuencias, como demostraré con un pequeño ejemplo de aplicación.
Hola a todos, y gracias por unirse a la magia transformadora de ordenar sus advertencias de prueba. Hoy vamos a hablar sobre cómo prevenir las advertencias de prueba, con dos objetivos en mente. El primero es prevenir errores. Este es el más importante, y el segundo es mejorar la experiencia del desarrollador. Un poco sobre mí. Mi nombre es Victor Cordova. Trabajo en TravelPerk, una startup de Barcelona. Estamos construyendo la mejor plataforma de viajes de negocios del mundo. Si estás interesado, no dudes en unirte a nosotros.
Muy bien. Entonces, empecemos preguntando para qué sirven las advertencias de prueba. Las advertencias de prueba son mensajes creados por los desarrolladores de bibliotecas de terceros u otras tecnologías que nos dan pistas sobre qué evitar. Por ejemplo, definitivamente queremos evitar errores. Queremos evitar problemas deperformance. Queremos evitar preocupaciones desecurity, entre muchas otras. Esto es solo una muestra muy pequeña. También tenemos problemas deaccessibility, obsolescencias, y así sucesivamente.
Ahora, lo que sucede con las advertencias es que tienden a acumularse con el tiempo, y vale la pena preguntarse por qué. La primera razón es porque son bastante fáciles de ignorar. Entonces, básicamente, las advertencias de prueba son solo textos que se generan ya sea en tu máquina local o en otro servidor. Este texto, por sí solo, no hace nada. La segunda razón es porque no hacen que tu CI falle. Como desarrolladores, todos sabemos que prestamos mucha más atención a este color rojo que aparece cuando algo falla. Y finalmente, porque generalmente no son una prioridad. Vivimos en un mundo complejo. Tenemos tareas de producto, tareas técnicas, por lo que las advertencias pueden pasar fácilmente al final de esta lista. Ahora, es importante preguntarse por qué nos importa, sinceramente. Me lo pregunto a mí mismo. Entonces, ¿qué sucede si ignoramos las advertencias? Voy a darte un ejemplo muy pequeño de lo que puede suceder. Esta es una pequeña aplicación con un inventario de libros donde tenemos el título, la fecha de registro y la condición del libro. Así que imaginemos que voy a
2. Prevenir Advertencias de Prueba
Voy a poner justo, bueno y terrible. Ahora, ¿por qué esto es preocupante? Porque esto podría ser fácilmente tu resultado en la ejecución de la prueba. React te dará una advertencia que dice que cada elemento debe tener una clave única. Por eso debemos prestar atención a estas advertencias. Esto afecta la experiencia del desarrollador. Si estás tratando de hacer TDD, si estás tratando de depurar un problema, nadie quiere ver esto. Es bastante molesto. La experiencia del desarrollador se ve afectada. Es un problema muy común en aplicaciones grandes, aplicaciones heredadas. Pero somos ingenieros. Así que usemos algo de automatización. He creado esta pequeña biblioteca llamada jsreporter log validator. Te permite agregar diferentes reglas a tus advertencias para que tu equipo no cree nuevas. Puedes agregar validaciones para ciertos patrones. A veces tienen una parte dinámica. Puedes establecer un máximo. También puedes tener una medida de seguridad para advertencias inevitables. A veces instalamos bibliotecas de terceros que generan mensajes que no queremos. Pero a veces no podemos hacer nada al respecto. También tenemos la opción de fallar si se encuentra una advertencia desconocida.
3. Using Automation to Fix Warnings
Tenemos un registro de advertencias permitidas que se puede actualizar con nuevas versiones de bibliotecas. Al solucionar las advertencias, puedes asegurarte de que ya no ocurran. La biblioteca proporciona un resumen del comportamiento esperado, fallas y acciones a tomar. Siéntete libre de experimentar y proporcionar comentarios sobre esta solución de automatización.