Continuous Delivery y testing en producción

En uno de los clientes que estoy trabajando ahora, tuvieron un problema en producción bastante peculiar. Observaron que se redujo la performance desde el punto de vista de algunas métricas puntuales, con lo cual se pusieron a analizar, y resulta que un archivo JavaScript muy usado pasó de tener ~100kb a ~450kb. Esto se pudo ver gracias a lo que Katrina Clokie en su libro incluy...
Leer más

Video del webinar de Pruebas de Performance en CI/CD

Ayer di un webinar de Pruebas de Performance en CI/CD, el cual fue organizado por iSQI (¡gracias Agustina por la invitación!). Les dejo el enlace a la grabación por si quieren verla. En el minuto 18:30 es donde comienzo a hablar. Si les interesan las certificaciones de testing pueden mirar la primera parte, donde Agustina Gay comenta sobre lo que ofrecen en iSQI. Creo...
Leer más

Charla en el Meetup de Angular Montevideo: Performance de Sistemas Angular

Ayer dí una charla en el Meetup de Angular Montevideo, la cual titulé "Performance de Sistemas Angular" (¡gracias Guille y Matías por la invitación!). Tal como comenté al inicio de la charla, fue una trampa: no utilicé la palabra "testing", ya que tenía miedo que así fuera menos gente (dado que es un meetup de desarrolladores). Tampoco fue específica para Angular, sino que era ...
Leer más

Little’s law y Earlang aplicados a performance testing

No recuerdo si fue en Probabilidad y Estadística, o en Investigación Operativa, en Facultad, que estudié alguna vez esta ley llamada Little's law, que básicamente (y de forma simplificada y resumida) dice que el número promedio de clientes en un sistema es igual al promedio de arribos multiplicado por el tiempo promedio que estos están en el sistema. Una forma de entender esta ...
Leer más

Cómo usar Taurus y Jenkins para pruebas de performance en Integración Continua

Como lo expliqué en un post anterior, vamos a querer incluir pruebas de performance en nuestro pipeline de Integración Continua para detectar problemas de performance lo antes posible, logrando así ahorrar tiempo, dinero y dolores de cabeza. Sería muy bueno poder atrapar los problemas en el momento preciso en que se insertan en el sistema, ya sea una línea de código o una conf...
Leer más

La importancia de validar la infraestructura de pruebas

Soy un fiel creyente en eso de que uno aprende de los errores. Cuando uno se equivoca, y le interesa lo que hace y quiere hacerlo bien, se analiza el error y las formas de evitarlo a futuro. En este post quiero compartir uno de estos aprendizajes. Nos pasó en más de un proyecto (y casi que a la vez) que la información que teníamos de la infraestructura del sistema no era correc...
Leer más

Pruebas de Performance en Integración Continua

Cuando uno piensa en hacer pruebas de performance en integración continua tiene que cambiar la forma de ver las pruebas como lo hacemos típicamente. Por lo general uno busca simular la carga esperada, intentando que toda la prueba sea lo más parecido a lo que será en producción, pero esto no es tan factible en un enfoque CI/CD. La diferencia más importante tal vez es el objetiv...
Leer más

Analizar client side performance con PageSpeed y Yslow

Al pensar en la performance de un sitio o sistema web es necesario analizar el comportamiento del lado del servidor (probando concurrencia con herramientas como JMeter, Gatling o BlazeMeter), pero tampoco hay que perder de vista las optimizaciones que se pueden hacer analizando el lado del cliente (client side performance). Para eso nos podemos valer de muchas herramientas, y e...
Leer más

Live Results con Gatling usando Taurus

Gatling es una herramienta opensource excelente para pruebas de performance, pero no ofrece la posibilidad de tener ningún resultado de cómo va la prueba durante la ejecución, hay que esperar a que termine para poder ver el reporte. En este post voy a resumir una forma muy fácil de cómo tener live results con Gatling gracias al uso de Taurus, otra herramienta opensource para pe...
Leer más

Aplicaciones con mucha infraestructura

Me resulta increíble que cada app que uno usa, por más simple que parezca, necesite tantos servidores e ingeniería. Son aplicaciones con mucha infraestructura de fondo, a pesar que a nuestros ojos sean solo una pequeña pantalla con pocas funcionalidades. Estas fotos las saqué en algunas conferencias que fui el año pasado: ¿Qué? ¿Todo eso para una aplicación que ge...
Leer más