meetup testing workshop 2016 - gatling para pruebas de performance - federico toledo y andrei...

Post on 14-Apr-2017

162 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PhD. Federico Toledofederico@abstracta.usTwitter: @fltoledo

Gatling para Pruebas de

Performance

Ing. Andrei Guchínandrei@abstracta.usTwitter: @andreig09

Involucrados en testing

+220

+290

+100Charlas, cursos,

papers, artículos,etc.

+25 colaboradores8 chicos trabajando

+60 formados

México

+120

Involucrados en testing

Uruguay

Prejuicios del testing:• Es aburrido• Es repetitivo• No tiene desafíos• Es el trabajo para el

programador nuevo

¿Por qué trabajas en testing?

¿No conseguiste otra cosa mejor?

Optimizar Performance

Optimizar Performance

Sour

ce: h

ttp://

www.

min

iatu

r-wun

derla

nd.d

e/

Simular

Medir

Bottlenecks / Punto de Quiebre

Tipos de Pruebas de Performance

Simulación y medición

Simulación JMeter (jmeter.apache.org)Taurus (gettaurus.org)BlazeMeter (blazemeter.com)Gatling (gatling.io)

Medición Profilers y similar (JVisualVM, JProfiler, dotTrace)Herramientas a nivel de Sistema Operativo (NMON, perfmon, Netdata)APMs (AppDynamics, NewRelic, DataDog)

Automatización / robotización

}

Servidor Web

ModellerModeller

Http - RequestHttp - Responsegrabar

1

Se

abre

1.1Se abre

1.2

Acciones2

Terminar de grabar3

3.1

Tenemos el script

Http - Request

Http - Response

Http - Request

Http - Response

¿Cómo se prepara un UV?

Gatling

¿Por qué Gatling?• Opensource• Buena performance• Buenos reportes• Fácil de aprender (Scala, DSL)• Portable (sobre JVM)• Potente y flexible

• Variedad de assertions• Flexibilidad de definición de escenarios• Data providers

• Escalable (Taurus+BlazeMeter, Flood.io, etc.)

Gatling - Lenguaje

Gatling - Recorder

Gatling - Scripting

Assertions• Response Time• Successful requests

• (http codes, assertions)• Requests per second

• Scope: global, forall, details(path) • path = definido en el request http• (“Search” / “Index”) para indicar request en un

grupo

• Number of requests: percent, permillion, count• Response time: min, max, percentile, mean,…

Gatling - Scripting

Assertions

Gatling - Scripting

Data sources (Feeders)

• Array, Archivo CSV• Json, JDBC, etc.• User dependent data• Random, queue,

suffle, circular

Ejemplo: https://github.com/Senescyt/pruebas-rendimiento

Gatling - Scripting

Variable correlation: Checks

• Location • Headers • Body • Regular expressions

Correlation • “saveAs(key)”

Gatling - Scripting

Control de flujo• doIf / doIfOrElse / doSwitch• Repeat / foreach• Pause • tryMax

Gatling - Escenarios

Gatling - Mantenibilidad

Page Objects, similar a enfoque utilizado en Selenium.

Gatling - Ejecución

Gatling - Reporte

Gatling - Reporte

GatlingDemo y ejercicios

 http://bit.do/SlackTestingAcademyChannel: #tw_gatling

Gatling¿Qué les pareció?

Beneficios? Experiencias? Desafíos?

Gatling - Referencias

• http://gatling.io/• http://blog.abstracta.com.uy/search/label/Gatling• http://gatling.io/docs/2.2.3/index.html • http://gettaurus.org/ • http://blazemeter.com/• https://flood.io/ • http://scala-lang.org/ • Algunos ejemplos y posts en Español

• https://juliomunoz.wordpress.com/2014/11/13/probando-gatling/ • http://emerrefe.github.io/qa-blog/Gatling-tool-pruebas-de-stress/ • https://github.com/Senescyt/pruebas-rendimiento • http://nbortolotti.blogspot.com.uy/2015/06/una-prueba-de-estres-para-mi-aplicacion.html

¿Siguen pensando que el testing es aburrido y sin desafíos técnicos?

Si les gustó… los invito

Certificación en testing de performance usando JMeter y BlazeMeter

• Curso online de un mes• www.abstracta.us/training

10% de descuento usando este cupón este mes

PERFMATTERS

http://bit.do/librodetesting

Silicon Valley office425 Broadway Street Redwood City, CA

HeadquartersJose Ellauri 1126 Montevideo, Uruguay

www.abstracta.us

jobs@abstracta.us

http://www.slideshare.net/FedericoToledohttp://blog.abstracta.com.uy/search/label/Gatling

¡¡Gracias!!PhD. Federico Toledofederico@abstracta.usTwitter: @fltoledo

Ing. Andrei Guchínandrei@abstracta.usTwitter: @andreig09

top related