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

Definir escenarios de carga en Gatling

Es posible definir escenarios de carga en Gatling de dos modos distintos: basados en usuarios (hilos / threads) o basados en throughput (RPS - requests per second). Según los objetivos que tengamos para nuestras pruebas de performance, utilizaremos uno u otro. Pruebas basadas en usuarios Simplemente se define la cantidad de usuarios a ejecutar, y la forma en la que se inician...
Leer más

Keynote en Argentesting

Como había anticipado acá, me invitaron a participar dando la keynote en Argentesting, sobre el cierre del evento. La misma estaba titulada "Ejecutando pruebas de performance, todos los días y a bajo costo", donde conté sobre tres historias, de tres proyectos en los que he participado en pruebas de performance: uno en enfoque waterfall, otro en enfoque ágil, y otro apuntando a ...
Leer más