Pruebas de performance

En esta página intento ordenar toda la información que he ido publicando y que te sirve para aprender cómo hacer pruebas de performance (también conocidas como pruebas de rendimiento, pruebas de carga, pruebas de estrés, stress testing, load testing…).

Introducción

Primero veamos las básicas de las pruebas de performance. Lo mejor, es arrancar por acá, ¿Cómo funciona una herramienta de simulación de carga para pruebas de performance?

Para arrancar también te recomiendo leer mi Libro de testing: Introducción a las Pruebas de Sistemas de Información. Lo puedes bajar gratis en PDF y tiene todo un capítulo bien introductorio y completo a lo que son las pruebas de performance.

Creo que otra buena introducción es la que muestra este post ¿Cómo armar un plan de pruebas de performance? Ahí verás cómo planificar una prueba, pudiendo definir los escenarios de carga en base al tipo de pruebas que quieras ejecutar.

Para entender de pruebas de performance, es necesario entender de los protocolos que estaremos automatizando. En mi experiencia, la gran mayoría de las veces es HTTP, con lo cual te recomiendo ver y usar HTTP Debugger: Charles vs Fiddler.

Es importante también tener una visión global y estratégica, para lo cual te recomiendo leer Asesorar sobre pruebas de performance, y luego Pirámide para las Pruebas de Performance.

Otros posts que me parecen interesantes:

JMeter

Para aprender más de JMeter, te recomiendo los cursos de BlazeMeter University o nuestro curso en Abstracta Academy.

Algunos otros posts que te pueden interesar para profundizar:

O podés revisar la categoría JMeter.

Gatling

Gatling es una herramienta open source para simulación de carga para pruebas de performance. Los test se implementan en lenguaje Scala y soporta HTTP/S, JMS y JDBC.

Acá vas a encontrar un tutorial súper completo de Gatling, todo en español. Lo preparamos y seguimos alimentando en base a las experiencias usando la herramienta en diferentes proyectos con los ingenieros de performance de Abstracta.

Monitorización y Análisis

Para hacer pruebas de performance no alcanza con simular carga, es necesario entender qué le pasa al sistema, cómo se comporta, dónde están los cuellos de botella. Te dejo acá algunos post que te pueden ayudar a ver qué herramientas son útiles para estas tareas:

Hay conceptos matemáticos que son importantes de entender para analizar datos y comportamientos, acá algunos:

Performance del lado del browser

Hasta ahora venimos hablando de pruebas de performance donde se analiza el servidor ante concurrencia. También es importante analizar qué pasa en el cliente y cómo se puede optimizar. Te recomiendo comenzar acá: Analizar client side performance con PageSpeed y Yslow.

Pruebas de performance en mobile

Te recomiendo ver esta Charla en Córdoba (Argentina): testing exploratorio y performance en mobile. En la segunda parte estuve hablando específicamente de pruebas de performance en aplicaciones móviles.

Hace años que estamos trabajando en una herramienta (que podés descargar gratis) para analizar la performance del lado del cliente. Se llama Apptim (tal vez antes la pudiste haber conocido como Monkop).

Pruebas de performance en CI/CD

He compartido mucho material también de cómo integrar las pruebas de performance a tu pipeline de Integración Continua. Una muy buena introducción es esta Pruebas de Performance en Integración Continua.

Luego hay otros posts que te pueden servir, quizá más orientados a herramientas. Por ejemplo:

Otros posts relacionados:

Curso de Abstracta Academy

Nosotros tenemos un curso online de performance en JMeter y Blazemeter en nuestra plataforma Abstracta Academy.

Si querés saber más qué aprenderás, acá hay un resumen hecho por Valeria cuando completó el curso.

Charlas

Aquí te dejo algunas de las charlas que he dado sobre pruebas de performance:

Trabajo Práctico del Taller de Estrategia de Pruebas de Performance

Diseño de Documento de Estrategia de Pruebas de Performance

En este documento te planteo un trabajo práctico para ejercitar el diseño de una estrategia de pruebas de performance, que espero que con todo este material ahora seas capaz de realizar en mejor manera.