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
Using Jenkins and Jmeter to build a scalable Load Testing solution
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
Using Jenkins and Jmeter to build a scalable Load Testing solution
Questions and Answers
My contacts
Skype - ruslanstrazhnyk
Twitter - @strazhnyk
E-mail – strazhnyk@gmail.com

More Related Content

PDF
Apache jMeter
PDF
Performance Testing in the Agile Lifecycle
PDF
Performance testing with jmeter
PDF
Jmeter Performance Testing
PDF
Formation jmeter
PPTX
Jmeter
PDF
Automation - Apache JMeter
PPT
Performance testing and reporting with JMeter
Apache jMeter
Performance Testing in the Agile Lifecycle
Performance testing with jmeter
Jmeter Performance Testing
Formation jmeter
Jmeter
Automation - Apache JMeter
Performance testing and reporting with JMeter

What's hot (20)

PPTX
Xray for Jira - How to automate your QA process
PPTX
DevOps Introduction
PDF
Performance testing presentation
PPT
Performance testing jmeter
PPTX
Performance Testing from Scratch + JMeter intro
PDF
Load Testing Using JMeter Tutorial | Edureka
PDF
XRAY for Jira
PPTX
Performance testing using Jmeter for apps which needs authentication
PPTX
Test Automation Framework with BDD and Cucumber
PPT
CI and CD with Jenkins
PPTX
Jenkins for java world
PPTX
Interpreting Performance Test Results
PPTX
J Meter Intro
PDF
IntƩgration continue et dƩploiement continue avec Jenkins
PDF
12 Steps to API Load Testing with Apache JMeter
Ā 
PPTX
Jira as a Tool for Test Management
ODP
An Introduction To Jenkins
PDF
Using JMeter and Google Analytics for Software Performance Testing
PDF
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
Xray for Jira - How to automate your QA process
DevOps Introduction
Performance testing presentation
Performance testing jmeter
Performance Testing from Scratch + JMeter intro
Load Testing Using JMeter Tutorial | Edureka
XRAY for Jira
Performance testing using Jmeter for apps which needs authentication
Test Automation Framework with BDD and Cucumber
CI and CD with Jenkins
Jenkins for java world
Interpreting Performance Test Results
J Meter Intro
IntƩgration continue et dƩploiement continue avec Jenkins
12 Steps to API Load Testing with Apache JMeter
Ā 
Jira as a Tool for Test Management
An Introduction To Jenkins
Using JMeter and Google Analytics for Software Performance Testing
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
CI-CD Jenkins, GitHub Actions, Tekton
Ad

Viewers also liked (20)

PDF
Automated Performance Testing With J Meter And Maven
PDF
Continous delivery with sbt
PPTX
How to Analyze Reports in Jmeter
PDF
BlazeMeter Presents at the High Performance Drupal Meetup
PPTX
JMeter workshop
PPT
Jmeter From Scratch
PPTX
Load Testing using Continuous Integration tools
PPT
Continuous Load Testing with CloudTest and Jenkins
Ā 
PPTX
Load testing jmeter
PDF
Custom deployments with sbt-native-packager
PDF
Unsucking Error Handling with Futures
PPTX
"Introduction to JMeter" @ CPTM 3rd Session
PDF
Ship your Scala code often and easy with Docker
PPTX
PPTX
Introduction to Jmeter
Ā 
ODP
Gatling
PPTX
OpenStack and Rackspace
PDF
Continous delivery - lad koden flyde 2014
PPTX
Automed .NET Performance Testing with NBench
PPTX
We're all distributed systems devs now: a crash course in distributed program...
Automated Performance Testing With J Meter And Maven
Continous delivery with sbt
How to Analyze Reports in Jmeter
BlazeMeter Presents at the High Performance Drupal Meetup
JMeter workshop
Jmeter From Scratch
Load Testing using Continuous Integration tools
Continuous Load Testing with CloudTest and Jenkins
Ā 
Load testing jmeter
Custom deployments with sbt-native-packager
Unsucking Error Handling with Futures
"Introduction to JMeter" @ CPTM 3rd Session
Ship your Scala code often and easy with Docker
Introduction to Jmeter
Ā 
Gatling
OpenStack and Rackspace
Continous delivery - lad koden flyde 2014
Automed .NET Performance Testing with NBench
We're all distributed systems devs now: a crash course in distributed program...
Ad

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

DOCX
Diversified AT Framework - Initial Version
PDF
Mykola Kovsh - Functional API automation with Jmeter
PDF
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
PDF
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
PPTX
Mastering Distributed Performance Testing
PPTX
apache_jmeter.pptx
PPTX
Performance testing using jmeter
PPTX
Presentation sem 1.pptx
PDF
This Is How We Test Our Performance With JMeter
PPTX
Runing JMeter Tests On Rancher
PDF
PAC 2019 virtual Philip Webb
Ā 
PPT
JMeter_introduction_Final.ppt for jmeter
PPTX
Software testing
Ā 
ODP
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
PPTX
JMeter Intro
PPTX
Perofrmance testing and apache jmeter
PDF
Performancetestingjmeter 131210111657-phpapp02
PDF
Continuous Test Automation, by Richard Langlois P. Eng. and Yuri Pechenko.
PPTX
Presentation on Apache Jmeter
PPTX
Diversified AT Framework - Initial Version
Mykola Kovsh - Functional API automation with Jmeter
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
Mastering Distributed Performance Testing
apache_jmeter.pptx
Performance testing using jmeter
Presentation sem 1.pptx
This Is How We Test Our Performance With JMeter
Runing JMeter Tests On Rancher
PAC 2019 virtual Philip Webb
Ā 
JMeter_introduction_Final.ppt for jmeter
Software testing
Ā 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
JMeter Intro
Perofrmance testing and apache jmeter
Performancetestingjmeter 131210111657-phpapp02
Continuous Test Automation, by Richard Langlois P. Eng. and Yuri Pechenko.
Presentation on Apache Jmeter

Recently uploaded (20)

PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
Build Your First AI Agent with UiPath.pptx
PPTX
Modernising the Digital Integration Hub
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PPT
What is a Computer? Input Devices /output devices
DOCX
search engine optimization ppt fir known well about this
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
STKI Israel Market Study 2025 version august
PDF
ā€œA New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
The influence of sentiment analysis in enhancing early warning system model f...
UiPath Agentic Automation session 1: RPA to Agents
OpenACC and Open Hackathons Monthly Highlights July 2025
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Improvisation in detection of pomegranate leaf disease using transfer learni...
Module 1.ppt Iot fundamentals and Architecture
Build Your First AI Agent with UiPath.pptx
Modernising the Digital Integration Hub
Convolutional neural network based encoder-decoder for efficient real-time ob...
What is a Computer? Input Devices /output devices
search engine optimization ppt fir known well about this
Custom Battery Pack Design Considerations for Performance and Safety
STKI Israel Market Study 2025 version august
ā€œA New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
A review of recent deep learning applications in wood surface defect identifi...
Flame analysis and combustion estimation using large language and vision assi...
NewMind AI Weekly Chronicles – August ’25 Week III
Taming the Chaos: How to Turn Unstructured Data into Decisions

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
  • 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
  • 33. Questions and Answers My contacts Skype - ruslanstrazhnyk Twitter - @strazhnyk E-mail – [email protected]