Saltar al contenido

Etiqueta: testing

La falla de CrowdStrike: un análisis desde el Sistema Operativo

Hace unos días fuimos testigos de como miles de computadoras con Windows empezaron a aparecer con la famosa pantalla azul de la muerte. La pantalla que aparece cuando hay un problema crítico en Microsoft Windows. Este problema ocurrió gracias al software de CrowdStrike, una empresa de seguridad informática, que por una falla en un driver durante el arranque del sistema operativo, causó que las computadoras no pudiesen arrancar correctamente.

El responsable es Crowdstrike

Inicialmente todos pensamos que el problema fue Microsoft, pero en realidad no tuvieron la responsabilidad. El problema ocurrió en un driver de Crowdstrike que falló por una mala actualización de un archivo de contenido importante para este driver. Fallaron las pruebas y despliegues de esta actualización por parte de Crowdstrike.

Por esta razón, me animé a hacer un video para explicar esto y mostrar que fue lo que pasó desde el punto de vista de los sistemas operativos. Para que todos estemos claros y podamos aprender de esta situación y aplicarlo en nuestros trabajos para evitar problemas similares.

Espero que miren el video, pues proporciona más detalles de los que puedo abarcar en este post. Y recuerden comentar si tienen alguna duda, comentario o corrección del tema.

La falla de CrowdStrike: un análisis desde el Sistema Operativo
Mira mi video para conocer de Crowdstrike desde el punto de vista de un S.O.

Reflexión

Creo que lo que pasó, vimos como podemos estar a un paso de fallas graves en nuestro sistemas y afectar la vida diaria. Tal vez en el futuro ocurran cosas peores ocasionadas por la I.A. o fallos humanos, pero siempre y cuando tengamos buenas pruebas, aprendamos de estas experiencias y programemos las cosas para tolerar fallas, evitaremos que ocurra de nuevo algo asimilar a lo de Crowdstrike.

Espero que este video les resulte útil e interesante. Si desean mas videos de Sistemas Operativos como este, o similar al de Como google optimizó en 40% el kernel Linux, si necesitas más detalles o tienes alguna pregunta específica sobre el problema de CrowdStrike, no dudes en dejar un comentario. ¡Estaré encantado de responderte!

Deja un comentario

Unit Testing Principles, Practices, and Patterns: libro para iniciarte en el testing

Hace un par de años, me embarqué en la búsqueda de formas para potenciar mis habilidades en pruebas de software. Fue en un hilo de Twitter (ahora X) donde me topé con una discusión sobre las diferencias entre stub y mock. En medio de esta conversación, alguien recomendó el libro «Unit Testing Principles, Practices, and Patterns» de Vladimir Khorikov. Después de haber adquirido el libro hace algún tiempo, finalmente encontré el momento oportuno para sumergirme en sus páginas y, en este artículo, compartiré mis impresiones al respecto.

Portada del libro Unit Testing Principles, Practices, and Patterns de Vladimir Khorikov
Portada del libro, si deseas comprarlo haz clic en él para mas información

Contenido de Unit Testing Principles, Practices, and Patterns

En mi opinión, el libro abarca todo lo necesario para aprender a aplicar pruebas a cualquier software que desarrolles. Desde las razones fundamentales para realizar pruebas hasta conceptos como unit testing, mocks, test doubles, integration testing, end to end tests, entre otros. Además, finaliza con una sección muy interesante sobre anti-patrones, la cual nos brinda valiosas enseñanzas para mejorar nuestras prácticas de codificación y hacer que el código sea más accesible de probar.

Cada sección comienza con la presentación del concepto, seguido de su aplicación en el ámbito profesional. Posteriormente, se ofrece una serie de ejemplos de código que abarcan tanto el método o sección de código a probar como el código de las pruebas correspondientes. Este enfoque estructurado garantiza una comprensión completa y práctica de los temas tratados.

Es importante destacar que si bien los ejemplos de código están escritos en Java, su estructura y lógica son fácilmente transferibles a otros lenguajes de programación como PHP o C++. Cualquier profesional, independientemente de su preferencia de lenguaje de programación podrá leer los ejemplos sin problemas.

Además, el texto cuenta con secciones que contienen notas sobre consideraciones importantes a tener en cuenta, así como experiencias personales del autor frente a diversas situaciones. Esta combinación de teoría, ejemplos prácticos y reflexiones personales enriquece la experiencia de aprendizaje y ofrece una perspectiva más completa sobre el proceso de pruebas de software.

¿Debería leerlo?

Este libro es verdaderamente accesible para personas de todos los niveles de experiencia. Ya seas un principiante absoluto o un profesional experimentado en el campo de las pruebas de software, encontrarás que Unit Testing Principles, Practices, and Patterns ofrece valiosos conocimientos y perspectivas. En definitiva, si deseas adentrarte en el mundo del testing o mejorar tus habilidades existentes, este libro es para ti.

Deja un comentario

Todo el software está roto

Alejandro Crosa nos trae una charla llamada Todo el software está roto, donde nos comparte sus experiencias en el proceso de desarrollo de software en grandes empresas con miles de clientes, donde ocurren todo tipo de cosas (creo que todos los hemos vivido en nuestro trabajo pero a menos escala). Por ejemplo, en organizaciones como LinkedIn con mas de 200 millones de usuarios, cosas de que solo pueden pasar una vez en un millón, pues le ocurren a 200 usuarios y pues es una cifra significante, o cuando centésimas de segundo de carga por millones de visitas realmente importa.

En fin, te recomiendo ver esta charla que está en español para que disfrutes esas experiencias de Alejandro y notemos como esas empresas comenten errores, como cualquier otra organización.

¿Tienes una experiencia similar? Coméntanos.

Deja un comentario