Gatling - oružje u redovima performansnog testiranja
-
Upload
a-kranjec -
Category
Presentations & Public Speaking
-
view
205 -
download
5
Transcript of Gatling - oružje u redovima performansnog testiranja
![Page 1: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/1.jpg)
Oružje u redovima Oružje u redovima performansnog testiranja
Andrija Kranjec
![Page 2: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/2.jpg)
Agenda
• Što je Gatling?
• Problemi kod alata za testiranje
• Gatling kao rješenje
• Demo• Demo
• Testiranje JVM aplikacija
![Page 3: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/3.jpg)
Što je Gatling?
Sliku ustupio Dean Sekulić (Croteam)
![Page 4: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/4.jpg)
Gatling je alat za simulaciju opterećenja na testiranoj aplikaciji,
provodi pripadna mjerenja i provodi pripadna mjerenja i prezentira rezultate provedenog
performansnog testiranja.
![Page 5: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/5.jpg)
Još jedan u nizu alata
![Page 6: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/6.jpg)
Problemi kod alata za testiranjeProblemi kod alata za testiranje
![Page 7: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/7.jpg)
Cijena
Photo by Siphiwe Sibeko / Reuters
![Page 8: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/8.jpg)
1 dretva = 1 korisnik
Photo by Alessandro Garofalo / Reuters
![Page 9: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/9.jpg)
Dretve čekaju…
Photo by Larry Downing / Reuters
![Page 10: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/10.jpg)
…i spavaju.
Photo by Stringer Shanghai / Reuters
![Page 11: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/11.jpg)
Komplicirano sučelje
Photo by Ben Cooper
![Page 12: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/12.jpg)
• Baziran na Actor Modelu
• Asinkron• Koristi Non-Blocking algoritme
Gatling kao rješenje
• Koristi Non-Blocking algoritme
![Page 13: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/13.jpg)
Lako pisanje testova*Lako pisanje testova**pod uvjetom da ste programer
![Page 14: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/14.jpg)
Testovi se pišu korištenjem Gatling DSL-a koji je implementiran u Scala programskom jeziku.
![Page 15: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/15.jpg)
Definiranje scenarija - opisuju ponašanja virtualnih korisnikascenarioexec / group / pause / pauseExp / pauseCustomdoIf / doIfOrElse / randomSwitch / roundRobinSwitchrepeat / during / asLongAs / foreachtryMax / exitBlockOnFail / exitHereIfFailed
Definiranje feedera - ubacivanje podataka u scenarijcsv / tsv / ssv / jdbc / redisFeeder
Gatling DSL
csv / tsv / ssv / jdbc / redisFeederqueue / random / circular
Konfiguracija scenarija - manipulacija izvršavanjausers / ramp / delay / protocolConfig
HTTP akcije - upravljanje HTTP zahtjevimahttpget / post / put / delete / headqueryParam / header / headers / basicAuthbody / fileBody / byteArrayBody / param / upload
![Page 16: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/16.jpg)
Provjere - provjera sadržaja odgovoracheckstatus / currentLocation / header / headerRegex / responseTimeInMillis / latencyInMillisregex / xpath / jsonPath / css / md5 / sha1find / findAll / counttransformis / not / exists / notExists / in / whateversaveAs
HTTP konfiguracija – upravljanje Gatlingovim HTTP klijentom
Gatling DSL
HTTP konfiguracija – upravljanje Gatlingovim HTTP klijentomhttpconfigbaseURL / baseURLs / proxy / httpsPort / credentialsacceptHeader / acceptCharsetHeader / acceptEncodingHeader / acceptLanguageHeader / hostHeader / userAgentHeaderdisableFollowRedirect / disableAutomaticReferer / disableWarmUp / warmUprequestInfoExtractor / responseInfoExtractor / disableResponseChunksDiscarding
![Page 17: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/17.jpg)
Assertions – postavljanje nefunkcionalnih zahtjeva na razini scenarijaassertThatglobal / detailsresponseTime / allRequests / failedRequests / successfulRequests /requestsPerSecmin / max / mean / stdDev / percentiles1 / percentiles2percent / countlessThan / greaterThan / between / is / in / assert
Gatling DSL
![Page 18: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/18.jpg)
Napiši jednomNapiši jednom
![Page 19: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/19.jpg)
Recikliraj stare testove
Photo by Stringer Shanghai / Reuters
![Page 20: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/20.jpg)
Nema izlike za sistemaše...Nema izlike za sistemaše...
![Page 21: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/21.jpg)
…postoji recorder.
![Page 22: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/22.jpg)
Izvještaji
![Page 23: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/23.jpg)
![Page 24: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/24.jpg)
DemoDemo
![Page 25: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/25.jpg)
Planirajte opterećenje
Izvor http://www.zadarskilist.hr/
![Page 26: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/26.jpg)
Opteretili smo aplikaciju, a što dalje?Opteretili smo aplikaciju, a što dalje?
![Page 27: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/27.jpg)
Monitoring JVM aplikacije
• CPU
• Heap memorija
• Garbage collector rate
• Thread pool
• Webcontainer pool• Webcontainer pool
• JDBC (time, connection pool,..)
• Prepare statement cache
• Response time portleta/servleta
![Page 28: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/28.jpg)
Demo - rezultatiDemo - rezultati
![Page 29: Gatling - oružje u redovima performansnog testiranja](https://reader030.fdocument.pub/reader030/viewer/2022020116/55a6978d1a28ab602d8b4754/html5/thumbnails/29.jpg)
Pitanja?