24
@fbaptista Taurus + Jenkins Pruebas de Performance en el pipeline

Meetup TestingUY 2017 - Integración Continua con Jenkins + Taurus

Embed Size (px)

Citation preview

@fbaptista

Taurus + JenkinsPruebas de Performance en el pipeline

@fbaptista

40 min Agenda

• Intro: Pruebas de Performance (refresh)

• Desafios / Metodologia / Contexto

• Taurus

• Live (Taurus, Blazemeter, Jenkins)

@fbaptista

Pruebas de Performance

request

response

@fbaptista

Pruebas de Performance

@fbaptista

Pruebas de Performance

request

response

Tipos de Pruebas

Loadtest

Testtime

Virtualusers

Stresstest

Testtime

Virtualusers Peaktest

Testtime

Virtualusers

Endurancetest

Testtime

Virtualusers

~1h ~5hs

@fbaptista

Load Test

@fbaptista

Stress Test

@fbaptista

Endurance Test

@fbaptista

Scalability Test

@fbaptista

Desafios de la automatización

• Datos (de sesión / dinámicos / usuarios diferentes)

• Validaciones (no solo status code / time taken / etc)

• Herramientas para la simulación

• Provisioning / Scaling

• Análisis de resultados

@fbaptista

Desafios metodológicos

• Qué tipo de pruebas necesitamos hacer?

• Cómo configuro el escenario / ramp-ups?

• Tengo requerimientos no-funcionales? SLA?

• Qué pregunta de negocio quiero responder?

• En qué momento del build ejecutar las pruebas?

@fbaptista

Desafios en el build• Ver resultados, gráficas, evolución de la prueba

• Ejecutar el mismo script cuando el ambiente se crea dinámicamente (IP destino)

• Devops no saben de JMeter u otras herramientas

• Pierdo la configuración del escenario y los criterios de falla en mi SCM

• … y muchos más…

Taurus

@fbaptista

Qué es Taurus?

• Open Source Framework for Continuos Testing

• Soporta 9 herramientas

• Estilo DSL (yaml / json)

• Reporting Modules (Free)

• Scale (Local / Cloud)

@fbaptista

YAML - Elementos• Listas son colecciones de Elementos:

• Diccionarios son un conjunto de llave - valores (case-sensitive):

@fbaptista

Ejemplo yaml

@fbaptista

Ejemplo simple

@fbaptista

• execution

• scenarios

• reporting

• modules

• settings

• provisioning

@fbaptista

Execution

@fbaptista

Pass-Fail Criteria• https://gettaurus.org/docs/PassFail/

@fbaptista

Combinado

@fbaptista

Modificando Scripts

@fbaptista

Setup + Demo

• Installing Taurus: > pip install bzt

• Run Jmeter Script: > bzt script1.jmx

• Demo using Taurus, Jenkins and Blazemeter reports