SlideShare a Scribd company logo
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

What's hot (20)

PPSX
Selenium WebDriver
Rajathi-QA
 
PPTX
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
PPT
Performance Engineering Basics
Impetus Technologies
 
PPTX
JMeter Intro
Sam Varadarajan
 
PDF
Neoload
Kumar Gupta
 
PPTX
Jenkins
Lhouceine OUHAMZA
 
PPTX
Zabbix
pundir5
 
PPTX
Performance testing using jmeter
Rachappa Bandi
 
ODP
BDD with Cucumber
Knoldus Inc.
 
PPTX
How to select the right automated testing tool
Katalon Studio
 
PPTX
Jenkins CI
Viyaan Jhiingade
 
PPTX
Spring boot
Pradeep Shanmugam
 
PDF
Performance Requirement Gathering
Atul Pant
 
PDF
Docker Birthday #3 - Intro to Docker Slides
Docker, Inc.
 
PDF
ATDD Using Robot Framework
Pekka Klärck
 
PDF
Performance Testing in the Agile Lifecycle
Lee Barnes
 
PPT
Performance testing jmeter
Bhojan Rajan
 
PPTX
BDD WITH CUCUMBER AND JAVA
Srinivas Katakam
 
PPT
Maven Introduction
Sandeep Chawla
 
PPTX
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
Simplilearn
 
Selenium WebDriver
Rajathi-QA
 
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Performance Engineering Basics
Impetus Technologies
 
JMeter Intro
Sam Varadarajan
 
Neoload
Kumar Gupta
 
Zabbix
pundir5
 
Performance testing using jmeter
Rachappa Bandi
 
BDD with Cucumber
Knoldus Inc.
 
How to select the right automated testing tool
Katalon Studio
 
Jenkins CI
Viyaan Jhiingade
 
Spring boot
Pradeep Shanmugam
 
Performance Requirement Gathering
Atul Pant
 
Docker Birthday #3 - Intro to Docker Slides
Docker, Inc.
 
ATDD Using Robot Framework
Pekka Klärck
 
Performance Testing in the Agile Lifecycle
Lee Barnes
 
Performance testing jmeter
Bhojan Rajan
 
BDD WITH CUCUMBER AND JAVA
Srinivas Katakam
 
Maven Introduction
Sandeep Chawla
 
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
Simplilearn
 

Viewers also liked (20)

PDF
Automated Performance Testing With J Meter And Maven
PerconaPerformance
 
PPTX
Interpreting Performance Test Results
Eric Proegler
 
PDF
Continous delivery with sbt
Wojciech Pituła
 
PPTX
How to Analyze Reports in Jmeter
Viviana Lesmes
 
PDF
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter
 
PPTX
JMeter workshop
Raman Kansal
 
PPT
Jmeter From Scratch
ChinmayBrahma22
 
PPTX
Load Testing using Continuous Integration tools
Rick Pitts
 
PPT
Continuous Load Testing with CloudTest and Jenkins
SOASTA
 
PPTX
Load testing jmeter
Billa Kota Sriram
 
PDF
Custom deployments with sbt-native-packager
GaryCoady
 
PDF
Unsucking Error Handling with Futures
GaryCoady
 
PPTX
"Introduction to JMeter" @ CPTM 3rd Session
Tharinda Liyanage
 
PDF
Ship your Scala code often and easy with Docker
Marcus Lönnberg
 
PPTX
JMeter
Rodrigo Rodrigues
 
PPTX
Introduction to Jmeter
Guru99
 
ODP
Gatling
Gaurav Shukla
 
PPTX
OpenStack and Rackspace
Everett Toews
 
PDF
Continous delivery - lad koden flyde 2014
BestBrains
 
PPTX
Automed .NET Performance Testing with NBench
petabridge
 
Automated Performance Testing With J Meter And Maven
PerconaPerformance
 
Interpreting Performance Test Results
Eric Proegler
 
Continous delivery with sbt
Wojciech Pituła
 
How to Analyze Reports in Jmeter
Viviana Lesmes
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter
 
JMeter workshop
Raman Kansal
 
Jmeter From Scratch
ChinmayBrahma22
 
Load Testing using Continuous Integration tools
Rick Pitts
 
Continuous Load Testing with CloudTest and Jenkins
SOASTA
 
Load testing jmeter
Billa Kota Sriram
 
Custom deployments with sbt-native-packager
GaryCoady
 
Unsucking Error Handling with Futures
GaryCoady
 
"Introduction to JMeter" @ CPTM 3rd Session
Tharinda Liyanage
 
Ship your Scala code often and easy with Docker
Marcus Lönnberg
 
Introduction to Jmeter
Guru99
 
Gatling
Gaurav Shukla
 
OpenStack and Rackspace
Everett Toews
 
Continous delivery - lad koden flyde 2014
BestBrains
 
Automed .NET Performance Testing with NBench
petabridge
 
Ad

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

PDF
Performance testing with jmeter
Knoldus Inc.
 
DOCX
Diversified AT Framework - Initial Version
Yu Tao Zhang
 
PDF
Mykola Kovsh - Functional API automation with Jmeter
Ievgenii Katsan
 
PDF
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
kalichargn70th171
 
PDF
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
flufftailshop
 
PPTX
Mastering Distributed Performance Testing
Knoldus Inc.
 
PPTX
apache_jmeter.pptx
meseret akalu
 
PPTX
Presentation sem 1.pptx
dendi65
 
PDF
This Is How We Test Our Performance With JMeter
Medianova
 
PPTX
Runing JMeter Tests On Rancher
Bogdan Marian
 
PDF
PAC 2019 virtual Philip Webb
Neotys
 
PPT
JMeter_introduction_Final.ppt for jmeter
shwetaykperf
 
PPTX
Software testing
nil65
 
ODP
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
David O'Dowd
 
PPTX
Performance testing using Jmeter for apps which needs authentication
Jay Jha
 
PPTX
J Meter Intro
Sam Varadarajan
 
PPTX
Perofrmance testing and apache jmeter
lethibichhoa
 
PDF
Performancetestingjmeter 131210111657-phpapp02
Nitish Bhardwaj
 
PDF
Continuous Test Automation, by Richard Langlois P. Eng. and Yuri Pechenko.
Richard Langlois P. Eng.
 
PPTX
Presentation on Apache Jmeter
Sabitri Gaire
 
Performance testing with jmeter
Knoldus Inc.
 
Diversified AT Framework - Initial Version
Yu Tao Zhang
 
Mykola Kovsh - Functional API automation with Jmeter
Ievgenii Katsan
 
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
kalichargn70th171
 
How Enterprises Conduct Automated Continuous Testing at Scale with Jenkins.pdf
flufftailshop
 
Mastering Distributed Performance Testing
Knoldus Inc.
 
apache_jmeter.pptx
meseret akalu
 
Presentation sem 1.pptx
dendi65
 
This Is How We Test Our Performance With JMeter
Medianova
 
Runing JMeter Tests On Rancher
Bogdan Marian
 
PAC 2019 virtual Philip Webb
Neotys
 
JMeter_introduction_Final.ppt for jmeter
shwetaykperf
 
Software testing
nil65
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
David O'Dowd
 
Performance testing using Jmeter for apps which needs authentication
Jay Jha
 
J Meter Intro
Sam Varadarajan
 
Perofrmance testing and apache jmeter
lethibichhoa
 
Performancetestingjmeter 131210111657-phpapp02
Nitish Bhardwaj
 
Continuous Test Automation, by Richard Langlois P. Eng. and Yuri Pechenko.
Richard Langlois P. Eng.
 
Presentation on Apache Jmeter
Sabitri Gaire
 
Ad

Recently uploaded (20)

PDF
Unlocking FME Flow’s Potential: Architecture Design for Modern Enterprises
Safe Software
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
PDF
Python Conference Singapore - 19 Jun 2025
ninefyi
 
PDF
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
PDF
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PPSX
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
PDF
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
PPTX
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PPTX
𝙳𝚘𝚠𝚗𝚕𝚘𝚊𝚍—Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
 
PPTX
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
PDF
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
PDF
UiPath Agentic AI ile Akıllı Otomasyonun Yeni Çağı
UiPathCommunity
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PPTX
reInforce 2025 Lightning Talk - Scott Francis.pptx
ScottFrancis51
 
Unlocking FME Flow’s Potential: Architecture Design for Modern Enterprises
Safe Software
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
Python Conference Singapore - 19 Jun 2025
ninefyi
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
 
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
Kubernetes - Architecture & Components.pdf
geethak285
 
𝙳𝚘𝚠𝚗𝚕𝚘𝚊𝚍—Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
UiPath Agentic AI ile Akıllı Otomasyonun Yeni Çağı
UiPathCommunity
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
reInforce 2025 Lightning Talk - Scott Francis.pptx
ScottFrancis51
 

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]