SlideShare une entreprise Scribd logo
1  sur  33
Hier soll der Titel reinNon-Functional Testing
www.qs-tag.de
Organizer: imbus AG www.qs-tag.de
Using Jenkins and Jmeter to build a
scalable Load Testing solution
Ruslan Strazhnyk
CipherHealth LLC
About me
• Ruslan Strazhnyk
– Lviv(Lemberg), Ukraine
– Rich experience in creating and supporting Test
Automation Frameworks and infrastructure –
Front-end, Back-end, API, Performance Testing
– Languages: Ruby, Python, Java, JS
– Experience with cloud services
– Technologies: Selenium, REST, Jenkins, JMeter,
Openstack
Where I work
https://cipherhealth.com/
Agenda
• Jmeter. Test Recording and
Playback.
• Composing Jmeter maven project
for Jenkins. Upload to Github.
• Tuning Jenkins and executing the
build.
• Results Analysis
Load Testing
Performance Testing tools
What tools have you used
for Performance-Testing?
What parameters were you
measuring?
What was your most
complex scenario?
Performance Testing Classic Scheme
• Identify Test Environment
• Identify Performance Acceptance Criteria
• Plan and Design Tests
• Configure Test Environment
• Implement Test Design
• Execute Test
• Analyze Results
JMeter
• HTTP(S) coverage
• REST coverage
• Portability and 100% Java purity
• Full multi-threading ability
• GUI designed for Composing Test
Plans/Debug
• Data visualization plug-ins
• Unlimited testing capabilities using plug-ins
JMeter
Prepare Jmeter test for non-UI mode.
• Download JMeter from official page.
• Unzip it to specified folder.
• Download JMeterPlugins-standard from
additional Plug-ins page.
• Extract archive contents to JMeter installation
directory.
• Restart Jmeter to be able to add new plug-
ins.
Prepare Jmeter test for integration.
Now add these Listeners to the test plan
Right-click via Add > Listener
• jp@gc – Console Status Logger
• jp@gc – Active Threads Over Time
• jp@gc – Response Over Time
• jp@gc – Transactions per Second
• View Results Tree
Prepare Jmeter test for integration.
Set these options in Thread Group, this
would be used by maven later
Maven
Yiddish word meaning accumulator of knowledge
Maven’s Objectives:
• Making the build process easy
• Providing a uniform building system
• Providing quality project information
• Providing guidelines for best practices
• Allowing transparent migration to new features
Maven plug-ins used:
• clean – cleans after the build
• compiler – compiles Java sources
• install – install built artifact into local repository
• more plugins - https://maven.apache.org/plugins/index.html
Preparing Maven project
JMeter tests are integrated into a maven build and
automatically generate graphs from the test results
using the jmeter plugin CMDRunner.
“jmeter-maven-plugin” is used to integrate jmeter in the
maven build. To generate graphs from the jmeter
results, the “jmeter-graph-maven-plugin” is used.
Preparing Maven project
Maven config file pom.xml is already parameterized
for Jenkins build
Jmeter tests are simply stored in the directory
/src/test/jmeter
Maven
Jenkins
• Pre-installed Jenkins VM (Ubuntu 14.04)
• What’s in pre-configured VM:
– Installed Java-JRE for maven and Jenkins
– Installed maven 3.3, github, vim
– Configured Github account
– Installed Intellij Idea
• Install additional JMeter-Performance plug-in
and GitHub plug-in
Build Jenkins job
• Set parameterization values
– THREAD COUNT
– LOOP COUNT
• Set Github repository
• Set build trigger (SNAPSHOT dependancy)
• Set build step
– Root POM
– Goals and options
• Publish Performance Test Result report
Jenkins Performance plugin
• allows you to capture reports from JMeter and JUnit .
• Jenkins will generate graphic charts with the trend report of
performance and robustness.
• it includes the feature of setting the final build status as good,
unstable or failed, based on the reported error percentage.
• https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin
HTML Report Auto-generation
HTML Report Auto-generation
Basic graphs are already generated with html
jmeter-graph-maven-plugin
Batteries Included: Ability to Generate More
Graphs
How to add new graph
Batteries Included: Ability to Generate More
Graphs
With the simple manipulation, it is possible to generate up to 11
Graphical Metrics for different KPI’s
Response Times Distribution
This graph will display the response time distribution of
the test. The X axis shows the response times grouped by
interval, and the Y axis the number of samples which are
contained in each interval.
Response Codes per second
This graph will display the response code
per second returned during the test.
More beautiful graphs
http://jmeter-plugins.org/wiki/Start/
What’s next?
Generate pom.xml files for the project with Ruby
http://www.nokogiri.org/
Ruby-jmeter – generate jmx scenario programatically
https://github.com/flood-io/ruby-jmeter
Summary
• Up-sides:
– Building working solution from OpenSource
components (no license payment, fees etc.)
– Full customization
– Integration capabilities
• Down-sides:
– Experience needed to set-up and work with it
– Needs dive-in to maven to be able to customize
builds
External Resources
• Jmeter http://jmeter.apache.org/
• Jmeter plug-ins http://jmeter-plugins.org
• Jenkins http://jenkins-ci.org
• https://maven.apache.org/guides/introduction/introduction-to-
the-pom.html
• https://lincolnloop.com/blog/load-testing-jmeter-part-1-getting-
started/
• https://wiki.opendaylight.org/view/Install_On_Ubuntu_14.04
• https://www.ubik-ingenierie.com/blog/automatically-
generating-nice-graphs-at-end-of-your-load-test-with-apache-
jmeter-and-jmeter-plugins/
• https://github.com/smarigowda/jmeter-maven-example
Questions and Answers
My contacts
Skype - ruslanstrazhnyk
Twitter - @strazhnyk
E-mail – strazhnyk@gmail.com

Contenu connexe

Tendances

Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement GatheringAtul Pant
 
Using JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsUsing JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsBlazeMeter
 
Getting start with Performance Testing
Getting start with Performance Testing Getting start with Performance Testing
Getting start with Performance Testing Yogesh Deshmukh
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmetertest test
 
How to Analyze Reports in Jmeter
How to Analyze Reports in JmeterHow to Analyze Reports in Jmeter
How to Analyze Reports in JmeterViviana Lesmes
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs JmeterAtul Pant
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationJay Jha
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introMykola Kovsh
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentationBelatrix Software
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Introduction to K6
Introduction to K6Introduction to K6
Introduction to K6Knoldus Inc.
 
Validation testing
Validation testingValidation testing
Validation testingSlideshare
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testingQualitest
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | EdurekaEdureka!
 

Tendances (20)

Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
 
Using JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsUsing JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming Applications
 
Getting start with Performance Testing
Getting start with Performance Testing Getting start with Performance Testing
Getting start with Performance Testing
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmeter
 
How to Analyze Reports in Jmeter
How to Analyze Reports in JmeterHow to Analyze Reports in Jmeter
How to Analyze Reports in Jmeter
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
 
Software testing
Software testingSoftware testing
Software testing
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authentication
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Burp suite
Burp suiteBurp suite
Burp suite
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Introduction to K6
Introduction to K6Introduction to K6
Introduction to K6
 
Validation testing
Validation testingValidation testing
Validation testing
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
Performance testing locust
Performance testing   locustPerformance testing   locust
Performance testing locust
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | Edureka
 

En vedette

Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And MavenPerconaPerformance
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test ResultsEric Proegler
 
Continous delivery with sbt
Continous delivery with sbtContinous delivery with sbt
Continous delivery with sbtWojciech Pituła
 
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
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter
 
Load Testing using Continuous Integration tools
Load Testing using Continuous Integration toolsLoad Testing using Continuous Integration tools
Load Testing using Continuous Integration toolsRick Pitts
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
Custom deployments with sbt-native-packager
Custom deployments with sbt-native-packagerCustom deployments with sbt-native-packager
Custom deployments with sbt-native-packagerGaryCoady
 
Unsucking Error Handling with Futures
Unsucking Error Handling with FuturesUnsucking Error Handling with Futures
Unsucking Error Handling with FuturesGaryCoady
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd SessionTharinda Liyanage
 
Ship your Scala code often and easy with Docker
Ship your Scala code often and easy with DockerShip your Scala code often and easy with Docker
Ship your Scala code often and easy with DockerMarcus Lönnberg
 
Introduction to Jmeter
Introduction to JmeterIntroduction to Jmeter
Introduction to JmeterGuru99
 
OpenStack and Rackspace
OpenStack and RackspaceOpenStack and Rackspace
OpenStack and RackspaceEverett Toews
 
Continous delivery - lad koden flyde 2014
Continous delivery - lad koden flyde 2014Continous delivery - lad koden flyde 2014
Continous delivery - lad koden flyde 2014BestBrains
 
Automed .NET Performance Testing with NBench
Automed .NET Performance Testing with NBenchAutomed .NET Performance Testing with NBench
Automed .NET Performance Testing with NBenchpetabridge
 

En vedette (20)

Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test Results
 
Continous delivery with sbt
Continous delivery with sbtContinous delivery with sbt
Continous delivery with sbt
 
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)
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal Meetup
 
JMeter workshop
JMeter workshopJMeter workshop
JMeter workshop
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Load Testing using Continuous Integration tools
Load Testing using Continuous Integration toolsLoad Testing using Continuous Integration tools
Load Testing using Continuous Integration tools
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
 
Custom deployments with sbt-native-packager
Custom deployments with sbt-native-packagerCustom deployments with sbt-native-packager
Custom deployments with sbt-native-packager
 
Unsucking Error Handling with Futures
Unsucking Error Handling with FuturesUnsucking Error Handling with Futures
Unsucking Error Handling with Futures
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
 
Ship your Scala code often and easy with Docker
Ship your Scala code often and easy with DockerShip your Scala code often and easy with Docker
Ship your Scala code often and easy with Docker
 
JMeter
JMeterJMeter
JMeter
 
Introduction to Jmeter
Introduction to JmeterIntroduction to Jmeter
Introduction to Jmeter
 
Gatling
Gatling Gatling
Gatling
 
OpenStack and Rackspace
OpenStack and RackspaceOpenStack and Rackspace
OpenStack and Rackspace
 
Continous delivery - lad koden flyde 2014
Continous delivery - lad koden flyde 2014Continous delivery - lad koden flyde 2014
Continous delivery - lad koden flyde 2014
 
Automed .NET Performance Testing with NBench
Automed .NET Performance Testing with NBenchAutomed .NET Performance Testing with NBench
Automed .NET Performance Testing with NBench
 

Similaire à Using Jenkins and Jmeter to build a scalable Load Testing solution

PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb Neotys
 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverBlazeMeter
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfMinh Quân Đoàn
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam Dutta
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Andreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardAndreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardNeotys_Partner
 
A Glance At The Java Performance Toolbox
 A Glance At The Java Performance Toolbox A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
QA Automation Engineer
QA Automation EngineerQA Automation Engineer
QA Automation EngineerMdHasan872214
 
Jenkins users meetup plugins overview
Jenkins users meetup plugins overviewJenkins users meetup plugins overview
Jenkins users meetup plugins overviewCamblor Frédéric
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam Dutta
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US gbaravindkumar
 
Srinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa Pavan
 
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.pptNaviAningi
 

Similaire à Using Jenkins and Jmeter to build a scalable Load Testing solution (20)

PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & Webdriver
 
FV04_MostoviczT_RAD
FV04_MostoviczT_RADFV04_MostoviczT_RAD
FV04_MostoviczT_RAD
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Abhilash Alwandi_Resume
Abhilash Alwandi_ResumeAbhilash Alwandi_Resume
Abhilash Alwandi_Resume
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineering
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Andreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardAndreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a Standard
 
A Glance At The Java Performance Toolbox
 A Glance At The Java Performance Toolbox A Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
QA Automation Engineer
QA Automation EngineerQA Automation Engineer
QA Automation Engineer
 
Jenkins users meetup plugins overview
Jenkins users meetup plugins overviewJenkins users meetup plugins overview
Jenkins users meetup plugins overview
 
Abhilash Alwandi resume
Abhilash Alwandi resumeAbhilash Alwandi resume
Abhilash Alwandi resume
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineering
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US
 
Srinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_ResumeSrinivasa_Jonnalagadda_Resume
Srinivasa_Jonnalagadda_Resume
 
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
 

Dernier

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 

Dernier (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Using Jenkins and Jmeter to build a scalable Load Testing solution

  • 1. Hier soll der Titel reinNon-Functional Testing www.qs-tag.de Organizer: imbus AG www.qs-tag.de Using Jenkins and Jmeter to build a scalable Load Testing solution Ruslan Strazhnyk CipherHealth LLC
  • 2. About me • Ruslan Strazhnyk – Lviv(Lemberg), Ukraine – Rich experience in creating and supporting Test Automation Frameworks and infrastructure – Front-end, Back-end, API, Performance Testing – Languages: Ruby, Python, Java, JS – Experience with cloud services – Technologies: Selenium, REST, Jenkins, JMeter, Openstack
  • 4. Agenda • Jmeter. Test Recording and Playback. • Composing Jmeter maven project for Jenkins. Upload to Github. • Tuning Jenkins and executing the build. • Results Analysis
  • 6. Performance Testing tools What tools have you used for Performance-Testing? What parameters were you measuring? What was your most complex scenario?
  • 7. Performance Testing Classic Scheme • Identify Test Environment • Identify Performance Acceptance Criteria • Plan and Design Tests • Configure Test Environment • Implement Test Design • Execute Test • Analyze Results
  • 8.
  • 9. JMeter • HTTP(S) coverage • REST coverage • Portability and 100% Java purity • Full multi-threading ability • GUI designed for Composing Test Plans/Debug • Data visualization plug-ins • Unlimited testing capabilities using plug-ins
  • 11. Prepare Jmeter test for non-UI mode. • Download JMeter from official page. • Unzip it to specified folder. • Download JMeterPlugins-standard from additional Plug-ins page. • Extract archive contents to JMeter installation directory. • Restart Jmeter to be able to add new plug- ins.
  • 12. Prepare Jmeter test for integration. Now add these Listeners to the test plan Right-click via Add > Listener • jp@gc – Console Status Logger • jp@gc – Active Threads Over Time • jp@gc – Response Over Time • jp@gc – Transactions per Second • View Results Tree
  • 13. Prepare Jmeter test for integration. Set these options in Thread Group, this would be used by maven later
  • 14. Maven Yiddish word meaning accumulator of knowledge Maven’s Objectives: • Making the build process easy • Providing a uniform building system • Providing quality project information • Providing guidelines for best practices • Allowing transparent migration to new features Maven plug-ins used: • clean – cleans after the build • compiler – compiles Java sources • install – install built artifact into local repository • more plugins - https://maven.apache.org/plugins/index.html
  • 15. Preparing Maven project JMeter tests are integrated into a maven build and automatically generate graphs from the test results using the jmeter plugin CMDRunner. “jmeter-maven-plugin” is used to integrate jmeter in the maven build. To generate graphs from the jmeter results, the “jmeter-graph-maven-plugin” is used.
  • 16. Preparing Maven project Maven config file pom.xml is already parameterized for Jenkins build Jmeter tests are simply stored in the directory /src/test/jmeter
  • 17. Maven
  • 18. Jenkins • Pre-installed Jenkins VM (Ubuntu 14.04) • What’s in pre-configured VM: – Installed Java-JRE for maven and Jenkins – Installed maven 3.3, github, vim – Configured Github account – Installed Intellij Idea • Install additional JMeter-Performance plug-in and GitHub plug-in
  • 19. Build Jenkins job • Set parameterization values – THREAD COUNT – LOOP COUNT • Set Github repository • Set build trigger (SNAPSHOT dependancy) • Set build step – Root POM – Goals and options • Publish Performance Test Result report
  • 20. Jenkins Performance plugin • allows you to capture reports from JMeter and JUnit . • Jenkins will generate graphic charts with the trend report of performance and robustness. • it includes the feature of setting the final build status as good, unstable or failed, based on the reported error percentage. • https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin
  • 22. HTML Report Auto-generation Basic graphs are already generated with html
  • 24. Batteries Included: Ability to Generate More Graphs How to add new graph
  • 25. Batteries Included: Ability to Generate More Graphs With the simple manipulation, it is possible to generate up to 11 Graphical Metrics for different KPI’s
  • 26. Response Times Distribution This graph will display the response time distribution of the test. The X axis shows the response times grouped by interval, and the Y axis the number of samples which are contained in each interval.
  • 27. Response Codes per second This graph will display the response code per second returned during the test.
  • 29. What’s next? Generate pom.xml files for the project with Ruby http://www.nokogiri.org/ Ruby-jmeter – generate jmx scenario programatically https://github.com/flood-io/ruby-jmeter
  • 30. Summary • Up-sides: – Building working solution from OpenSource components (no license payment, fees etc.) – Full customization – Integration capabilities • Down-sides: – Experience needed to set-up and work with it – Needs dive-in to maven to be able to customize builds
  • 31. External Resources • Jmeter http://jmeter.apache.org/ • Jmeter plug-ins http://jmeter-plugins.org • Jenkins http://jenkins-ci.org • https://maven.apache.org/guides/introduction/introduction-to- the-pom.html • https://lincolnloop.com/blog/load-testing-jmeter-part-1-getting- started/ • https://wiki.opendaylight.org/view/Install_On_Ubuntu_14.04 • https://www.ubik-ingenierie.com/blog/automatically- generating-nice-graphs-at-end-of-your-load-test-with-apache- jmeter-and-jmeter-plugins/ • https://github.com/smarigowda/jmeter-maven-example
  • 32.
  • 33. Questions and Answers My contacts Skype - ruslanstrazhnyk Twitter - @strazhnyk E-mail – strazhnyk@gmail.com