meetup testing workshop 2016 - gatling para pruebas de performance - federico toledo y andrei...
TRANSCRIPT
![Page 1: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/1.jpg)
PhD. Federico [email protected]: @fltoledo
Gatling para Pruebas de
Performance
Ing. Andrei Guchí[email protected]: @andreig09
![Page 2: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/2.jpg)
Involucrados en testing
![Page 3: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/3.jpg)
+220
+290
+100Charlas, cursos,
papers, artículos,etc.
+25 colaboradores8 chicos trabajando
+60 formados
México
+120
Involucrados en testing
Uruguay
![Page 4: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/4.jpg)
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?
![Page 5: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/5.jpg)
![Page 6: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/6.jpg)
Optimizar Performance
![Page 7: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/7.jpg)
Performance – Client Side
WebPageSpeed Insights developers.google.com/speed/pagespeed/insights Webpage Test www.webpagetest.orgSiteSpeed run.sitespeed.io Yslow www.yslow.org Monkeytest www.monkeytest.it
Mobile Nativa Monkop www.monkop.com
![Page 8: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/8.jpg)
Optimizar Performance
![Page 9: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/9.jpg)
Sour
ce: h
ttp://
www.
min
iatu
r-wun
derla
nd.d
e/
Simular
![Page 10: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/10.jpg)
Medir
![Page 11: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/11.jpg)
Bottlenecks / Punto de Quiebre
![Page 12: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/12.jpg)
Tipos de Pruebas de Performance
![Page 13: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/13.jpg)
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)
![Page 14: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/14.jpg)
![Page 15: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/15.jpg)
Automatización / robotización
}
![Page 16: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/16.jpg)
![Page 17: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/17.jpg)
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?
![Page 18: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/18.jpg)
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.)
![Page 19: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/19.jpg)
Gatling - Lenguaje
![Page 20: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/20.jpg)
Gatling - Recorder
![Page 21: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/21.jpg)
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,…
![Page 22: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/22.jpg)
Gatling - Scripting
Assertions
![Page 23: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/23.jpg)
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
![Page 24: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/24.jpg)
Gatling - Scripting
Variable correlation: Checks
• Location • Headers • Body • Regular expressions
Correlation • “saveAs(key)”
![Page 25: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/25.jpg)
Gatling - Scripting
Control de flujo• doIf / doIfOrElse / doSwitch• Repeat / foreach• Pause • tryMax
![Page 26: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/26.jpg)
Gatling - Escenarios
![Page 27: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/27.jpg)
Gatling - Mantenibilidad
Page Objects, similar a enfoque utilizado en Selenium.
![Page 28: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/28.jpg)
Gatling - Ejecución
![Page 29: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/29.jpg)
Gatling - Reporte
![Page 30: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/30.jpg)
Gatling - Reporte
![Page 31: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/31.jpg)
GatlingDemo y ejercicios
http://bit.do/SlackTestingAcademyChannel: #tw_gatling
![Page 32: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/32.jpg)
Gatling¿Qué les pareció?
Beneficios? Experiencias? Desafíos?
![Page 33: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/33.jpg)
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
![Page 34: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/34.jpg)
¿Siguen pensando que el testing es aburrido y sin desafíos técnicos?
![Page 35: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/35.jpg)
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
![Page 36: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/36.jpg)
Silicon Valley office425 Broadway Street Redwood City, CA
HeadquartersJose Ellauri 1126 Montevideo, Uruguay
www.abstracta.us
![Page 37: Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico Toledo y Andrei Guchín](https://reader036.vdocument.in/reader036/viewer/2022062523/5882040f1a28abf05e8b53e3/html5/thumbnails/37.jpg)
http://www.slideshare.net/FedericoToledohttp://blog.abstracta.com.uy/search/label/Gatling
¡¡Gracias!!PhD. Federico [email protected]: @fltoledo
Ing. Andrei Guchí[email protected]: @andreig09