SlideShare a Scribd company logo
Performance Test Automation
With Gatling
Gaurav Kumar Shukla
Trainee Software Consultant
Knoldus Software LLP
Agenda
● Performance Testing
● Performance related testing and tools
● Load testing (The Gatling way)
● Demo
Performance Testing
Performance testing, a non-functional testing technique performed to
determine the system parameters in terms of responsiveness and
stability under various workload. Performance testing measures the
quality attributes of the system, such as scalability, reliability and
resource usage.
Conti...
Performance is very crucial part of an application so it is very
important to keep our eyes on following points
● Response time
● Throughput
● Scalability
● Availability
Performance Related Testing
● Load Testing
● Stress Testing
● Spike Testing
● Endurance Testing
● Scalability Testing
● Volume Testing
Performance testing tools
There are many tools available in the market with their own feture
which enables to test the performance of the applicaiton in more
efficient way.
Open Source Tools License Tools
JMeter Load Runner
Jcrawler Silk Performer
loadUI Rational Performance Tester
The Grinder Cloud Test
Let's start With Gatling
About Gatling
Gatling is a lightwaight dsl written in scala by which you can treat your
performance test as a production code means you can easily write a
readable code to test the performance of an application it s a framework
based on Scala, Akka and Netty.
Why Gatling
● Dynamic Reports :- Gatling's reports are clear, concise, dynamic and
exhaustive. Share it with your team and get everyone on board.
● Continuous integration and performance testing :- Gatling’s code-like
scripting is a new approach of performance testing. Experience
continuous integration with the Maven, SBT and Jenkins’ plugins.
● High concurrency rate :- Gatling is based on cutting-edge
technologies and frameworks like Scala, Akka and Netty. High
performance and efficiency are Gatling’s DNA.
● Thanks to Stéphane Landelle is the main contributor and creator of
Gatling tool.
● The latest stable release is : Gatling 2.1.7
● There are various Key features with Gatling 2.1.7.
● DSL for simulation to treat performance as a code
● Produces higher load by using an asynchronous non-
blocking approach.
● Full support of HTTP(S) protocols
● Supports input files CSV, TSV, SSV to access random data for
data-driven tests.
● Generation of graphical reports using Graphite
Benifits of using Gatling
• All reports and graphs are generated automatically in HTML after
successful execution
• It is able to sustain high concurrent load with no obvious
degradation in response times at 20K users
• It gives more accurate results with less memory and CPU usage
• It can run on any operating system
Why Gatling
• It is an Open source stress testing tool under apache license.
• Easy to understand and reuse our simulation scripts to perform
operations again and again.
• Less Cpu utilization
• It can simulate multiple virtual users with a single Thread
• Gatling has a separate web proxy recorder, which enables to
generates a Scala simulation from the recorded user session.
• Generation of graphical reports using Graphite
• Easily integrate gatling with jenkins and other delivery tools and
continiously get the update of ur performance test against ur
applicaiton .
Issues with other tools
● Performance
● Blocking IO
● Usability
● Maintainability
● Matrices
● Plugins
● Demo
Performance :-
● Traditional Approach works on
1 virtual user = 1 Thread
50 virtual user = 50 Threads
10000 virtual user = 10000 Threads
● There is a lots of context switching, lots of cpu utilization occurs at the
time of process scheduling.
● It consume approx 60% to 70% cpu at the time of execution which
degrade the system performance.
Blocking IO
Most of the tools work on this approach :-
● In this Approach if 10000 requests sends then the most of the time
Your threads are sleeping.
● Drastically increase the responce time and degrade the performance.
The Gatling Approach
● Gatling Increase the performance with asynchronous akka actor
model.
● Actor model consist in two small entities
– MailBox- Stores all the messages recieved
– Computational unit- Execute a predefine action for each recieved
message
Gatling:- NonBlocking I/O
● Gatling uses Java framework Netty which is the no 1 Non-blocking
I/O framework running on the jvm.
● Which increase the response time of the threads and make the
application more responsive.
Usability Issue
● Most of the tools are comming with there own GUI platform.
● It is good even more compatible but the problems are more complex
then Hello world program.
– Versioning
– Refactoring
– Peer Review
Gatling = (Real programming language + Dsl +Api)
● As an Automation Tester
– Deals with the real code
– Easily able to use the various Api
– To write their own code which is more flexible to perform the Gui
operations and resolve these issues
– Versioning
– Refactoring
– Pear Review
Maintainability
● Most of the tools have their own default save mode.
– For example :- Jmeter save your result in Xml format .
Problems:-
● very difficult to understand
● Its not possible to change and edit these result
● To perform operations like git merge there is conflict occures
● Using gatling saves the result in normal scala format.
● Easy to understand
● Easy to make cahnges in the scripts
● Resolve the conflict easily
Matrics issue
● The next thing is about what kind of matrix you use.
● Most of the tools providing
– Minimum Value
– Maximum Value
– Average Time
– Standard Daviations
● For the accurate result they are using standard daviation.
● Sometimes the standard daviations are the crap.
● Standard daviation only meaningful for the normal distribution and the
real time distribution in IT systems never based on the normal
distribution.
Gatling :- Percentiles
● To resolve the matrics issue gatling uses the percentile approach.
Nth percentile = value >= Nth % of the value
● To implement the percentile there is proper java libraries are available
● HtrHistogram
● Tdigest
Plugins
● Inbuild plugins
● Websocket
● SSE
● JMS support
● Maven plugin
● Maven Artifacts
● Maven Archetype
● SBT plugin
● Jenkins Plugin
● Third party Plugins
● Gradle
● Cassandra
● AMQP
● RabbitMQ
● SQL
Special Thanks to
Stéphane Landelle
References
1) http://gatling.io/docs/2.1.7
2) http://gatling.io/docs/2.1.7/extensions/sbt_plugin.html
3) https://www.youtube.com/watch?v=VUPTaPms210
Thank You

More Related Content

What's hot

Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
Mindfire Solutions
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)
Peter Thomas
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
Mindfire Solutions
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
Elias Nogueira
 
Rest assured
Rest assuredRest assured
Rest assured
Varun Deshpande
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
Knoldus Inc.
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
Knoldus Inc.
 
Selenium
SeleniumSelenium
Selenium
Sun Technlogies
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
Sauce Labs
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
Svetlin Nakov
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
Mikael Kundert
 
Running distributed tests with k6.pdf
Running distributed tests with k6.pdfRunning distributed tests with k6.pdf
Running distributed tests with k6.pdf
LibbySchulze
 
Agile Testing
Agile Testing Agile Testing
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
Anirudh Raja
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
Alex Galkin
 
Py.test
Py.testPy.test
Py.test
soasme
 
RESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and JenkinsRESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and Jenkins
QASymphony
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
Knoldus Inc.
 
TestNG with selenium
TestNG with seleniumTestNG with selenium
TestNG with selenium
Gousalya Ramachandran
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
Qwinix Technologies
 

What's hot (20)

Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Rest assured
Rest assuredRest assured
Rest assured
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
Selenium
SeleniumSelenium
Selenium
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Running distributed tests with k6.pdf
Running distributed tests with k6.pdfRunning distributed tests with k6.pdf
Running distributed tests with k6.pdf
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
 
Py.test
Py.testPy.test
Py.test
 
RESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and JenkinsRESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and Jenkins
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
TestNG with selenium
TestNG with seleniumTestNG with selenium
TestNG with selenium
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
 

Viewers also liked

Blast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleBlast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleZeroTurnaround
 
Load testing with gatling
Load testing with gatlingLoad testing with gatling
Load testing with gatlingChris Birchall
 
ITCamp 2012 - Martin Kulov - Using the cloud for load testing
ITCamp 2012 - Martin Kulov - Using the cloud for load testingITCamp 2012 - Martin Kulov - Using the cloud for load testing
ITCamp 2012 - Martin Kulov - Using the cloud for load testingITCamp
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
Lee Barnes
 
Hp jenkin integration for dev ops testing (performance)
Hp jenkin integration for dev ops testing (performance)Hp jenkin integration for dev ops testing (performance)
Hp jenkin integration for dev ops testing (performance)
Dilip Sharma
 
Load Testing using Continuous Integration tools
Load Testing using Continuous Integration toolsLoad Testing using Continuous Integration tools
Load Testing using Continuous Integration tools
Rick Pitts
 
Performance Test Automation With Gatling
Performance Test Automation  With GatlingPerformance Test Automation  With Gatling
Performance Test Automation With Gatling
Knoldus Inc.
 
Scrum
ScrumScrum
はじめての Gatling
はじめての Gatlingはじめての Gatling
はじめての Gatling
Naoya Nakazawa
 
Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012slandelle
 
Load test REST APIs using gatling
Load test REST APIs using gatlingLoad test REST APIs using gatling
Load test REST APIs using gatling
Jayaram Sankaranarayanan
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Benoît de CHATEAUVIEUX
 
Continous delivery with sbt
Continous delivery with sbtContinous delivery with sbt
Continous delivery with sbt
Wojciech Pituła
 
Kanban
KanbanKanban
Kanban
Knoldus Inc.
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solution
Ruslan Strazhnyk
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
樽八 仲川
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
Martin Málek
 

Viewers also liked (18)

Blast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane LandelleBlast your app with Gatling! by Stephane Landelle
Blast your app with Gatling! by Stephane Landelle
 
Load testing with gatling
Load testing with gatlingLoad testing with gatling
Load testing with gatling
 
ITCamp 2012 - Martin Kulov - Using the cloud for load testing
ITCamp 2012 - Martin Kulov - Using the cloud for load testingITCamp 2012 - Martin Kulov - Using the cloud for load testing
ITCamp 2012 - Martin Kulov - Using the cloud for load testing
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
Hp jenkin integration for dev ops testing (performance)
Hp jenkin integration for dev ops testing (performance)Hp jenkin integration for dev ops testing (performance)
Hp jenkin integration for dev ops testing (performance)
 
Load Testing using Continuous Integration tools
Load Testing using Continuous Integration toolsLoad Testing using Continuous Integration tools
Load Testing using Continuous Integration tools
 
Performance Test Automation With Gatling
Performance Test Automation  With GatlingPerformance Test Automation  With Gatling
Performance Test Automation With Gatling
 
Scrum
ScrumScrum
Scrum
 
はじめての Gatling
はじめての Gatlingはじめての Gatling
はじめての Gatling
 
Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012
 
Load test REST APIs using gatling
Load test REST APIs using gatlingLoad test REST APIs using gatling
Load test REST APIs using gatling
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
Continous delivery with sbt
Continous delivery with sbtContinous delivery with sbt
Continous delivery with sbt
 
Kanban
KanbanKanban
Kanban
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solution
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 

Similar to Gatling

Gatling - Bordeaux JUG
Gatling - Bordeaux JUGGatling - Bordeaux JUG
Gatling - Bordeaux JUGslandelle
 
Performance tuning Grails applications
Performance tuning Grails applicationsPerformance tuning Grails applications
Performance tuning Grails applications
Lari Hotari
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014
Lari Hotari
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
GR8Conf
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Martin Spier
 
Gatling
GatlingGatling
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
Mark Price
 
Wso2con test-automation
Wso2con test-automationWso2con test-automation
Wso2con test-automation
krishantha_samaraweera
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
Lari Hotari
 
Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019
Moss Drake
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
OpenStack
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
Dharshana Kasun Warusavitharana
 
Automation testing
Automation testingAutomation testing
Automation testing
Biswajit Pratihari
 
Automation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional TesterAutomation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional TesterVijayChowthri Nagaprakasham
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.ppt
ChayapathiAR
 
TestIstanbul 2015
TestIstanbul 2015TestIstanbul 2015
TestIstanbul 2015
Martin Spier
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving Ecosystems
Julian Warszawski
 
Elephant Carpaccio
Elephant CarpaccioElephant Carpaccio
Elephant Carpaccio
Lars Thorup
 

Similar to Gatling (20)

Gatling - Bordeaux JUG
Gatling - Bordeaux JUGGatling - Bordeaux JUG
Gatling - Bordeaux JUG
 
Performance tuning Grails applications
Performance tuning Grails applicationsPerformance tuning Grails applications
Performance tuning Grails applications
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
 
Gatling
GatlingGatling
Gatling
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Wso2con test-automation
Wso2con test-automationWso2con test-automation
Wso2con test-automation
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Automation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional TesterAutomation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional Tester
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.ppt
 
TestIstanbul 2015
TestIstanbul 2015TestIstanbul 2015
TestIstanbul 2015
 
Modern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving EcosystemsModern Testing Strategies for Evolving Ecosystems
Modern Testing Strategies for Evolving Ecosystems
 
Elephant Carpaccio
Elephant CarpaccioElephant Carpaccio
Elephant Carpaccio
 

Recently uploaded

TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
Excellence Foundation for South Sudan
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
Steve Thomason
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
Nguyen Thanh Tu Collection
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 

Recently uploaded (20)

TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 

Gatling

  • 1. Performance Test Automation With Gatling Gaurav Kumar Shukla Trainee Software Consultant Knoldus Software LLP
  • 2. Agenda ● Performance Testing ● Performance related testing and tools ● Load testing (The Gatling way) ● Demo
  • 3. Performance Testing Performance testing, a non-functional testing technique performed to determine the system parameters in terms of responsiveness and stability under various workload. Performance testing measures the quality attributes of the system, such as scalability, reliability and resource usage.
  • 4. Conti... Performance is very crucial part of an application so it is very important to keep our eyes on following points ● Response time ● Throughput ● Scalability ● Availability
  • 5. Performance Related Testing ● Load Testing ● Stress Testing ● Spike Testing ● Endurance Testing ● Scalability Testing ● Volume Testing
  • 6. Performance testing tools There are many tools available in the market with their own feture which enables to test the performance of the applicaiton in more efficient way. Open Source Tools License Tools JMeter Load Runner Jcrawler Silk Performer loadUI Rational Performance Tester The Grinder Cloud Test
  • 8. About Gatling Gatling is a lightwaight dsl written in scala by which you can treat your performance test as a production code means you can easily write a readable code to test the performance of an application it s a framework based on Scala, Akka and Netty.
  • 9. Why Gatling ● Dynamic Reports :- Gatling's reports are clear, concise, dynamic and exhaustive. Share it with your team and get everyone on board. ● Continuous integration and performance testing :- Gatling’s code-like scripting is a new approach of performance testing. Experience continuous integration with the Maven, SBT and Jenkins’ plugins. ● High concurrency rate :- Gatling is based on cutting-edge technologies and frameworks like Scala, Akka and Netty. High performance and efficiency are Gatling’s DNA.
  • 10. ● Thanks to Stéphane Landelle is the main contributor and creator of Gatling tool. ● The latest stable release is : Gatling 2.1.7 ● There are various Key features with Gatling 2.1.7. ● DSL for simulation to treat performance as a code ● Produces higher load by using an asynchronous non- blocking approach. ● Full support of HTTP(S) protocols ● Supports input files CSV, TSV, SSV to access random data for data-driven tests. ● Generation of graphical reports using Graphite
  • 11. Benifits of using Gatling • All reports and graphs are generated automatically in HTML after successful execution • It is able to sustain high concurrent load with no obvious degradation in response times at 20K users • It gives more accurate results with less memory and CPU usage • It can run on any operating system
  • 12. Why Gatling • It is an Open source stress testing tool under apache license. • Easy to understand and reuse our simulation scripts to perform operations again and again. • Less Cpu utilization • It can simulate multiple virtual users with a single Thread • Gatling has a separate web proxy recorder, which enables to generates a Scala simulation from the recorded user session. • Generation of graphical reports using Graphite • Easily integrate gatling with jenkins and other delivery tools and continiously get the update of ur performance test against ur applicaiton .
  • 13. Issues with other tools ● Performance ● Blocking IO ● Usability ● Maintainability ● Matrices ● Plugins ● Demo
  • 14. Performance :- ● Traditional Approach works on 1 virtual user = 1 Thread 50 virtual user = 50 Threads 10000 virtual user = 10000 Threads ● There is a lots of context switching, lots of cpu utilization occurs at the time of process scheduling. ● It consume approx 60% to 70% cpu at the time of execution which degrade the system performance.
  • 15. Blocking IO Most of the tools work on this approach :- ● In this Approach if 10000 requests sends then the most of the time Your threads are sleeping. ● Drastically increase the responce time and degrade the performance.
  • 16. The Gatling Approach ● Gatling Increase the performance with asynchronous akka actor model. ● Actor model consist in two small entities – MailBox- Stores all the messages recieved – Computational unit- Execute a predefine action for each recieved message
  • 17. Gatling:- NonBlocking I/O ● Gatling uses Java framework Netty which is the no 1 Non-blocking I/O framework running on the jvm. ● Which increase the response time of the threads and make the application more responsive.
  • 18. Usability Issue ● Most of the tools are comming with there own GUI platform. ● It is good even more compatible but the problems are more complex then Hello world program. – Versioning – Refactoring – Peer Review
  • 19. Gatling = (Real programming language + Dsl +Api) ● As an Automation Tester – Deals with the real code – Easily able to use the various Api – To write their own code which is more flexible to perform the Gui operations and resolve these issues – Versioning – Refactoring – Pear Review
  • 20. Maintainability ● Most of the tools have their own default save mode. – For example :- Jmeter save your result in Xml format . Problems:- ● very difficult to understand ● Its not possible to change and edit these result ● To perform operations like git merge there is conflict occures ● Using gatling saves the result in normal scala format. ● Easy to understand ● Easy to make cahnges in the scripts ● Resolve the conflict easily
  • 21. Matrics issue ● The next thing is about what kind of matrix you use. ● Most of the tools providing – Minimum Value – Maximum Value – Average Time – Standard Daviations ● For the accurate result they are using standard daviation. ● Sometimes the standard daviations are the crap. ● Standard daviation only meaningful for the normal distribution and the real time distribution in IT systems never based on the normal distribution.
  • 22. Gatling :- Percentiles ● To resolve the matrics issue gatling uses the percentile approach. Nth percentile = value >= Nth % of the value ● To implement the percentile there is proper java libraries are available ● HtrHistogram ● Tdigest
  • 23. Plugins ● Inbuild plugins ● Websocket ● SSE ● JMS support ● Maven plugin ● Maven Artifacts ● Maven Archetype ● SBT plugin ● Jenkins Plugin
  • 24. ● Third party Plugins ● Gradle ● Cassandra ● AMQP ● RabbitMQ ● SQL