SlideShare a Scribd company logo
An Overview of Performance
Testing And JMeter
What is Performance testing?
 Performance testing is an non-functional testing performed to determine how a system
performs in terms of responsiveness and stability under a particular workload. It can also
serve to investigate, measure, validate or verify other quality attributes of the system,
such as scalability, reliability and resource usage
 GOAL/OBJECTIVE IS TO FIND THE BOTTLE NECK IN THE SYSTEM
What are the types of Performance Testing?
Load/Capacity Testing Stress Testing Volume Testing
Endurance/Soak Testing Spike
Testing
Load / Capacity Testing
Load testing is the simplest form of performance testing. A load test is usually conducted to
understand the behavior of the system under a specific expected load. This load can be the
expected concurrent number of users on the application performing a specific number of
transactions within the set duration.
Bottle neck
A bottleneck is a phenomenon where the performance or capacity of an entire system is limited by a
single or limited number of components or resources.
Your web application can consist of several modules used to process request. If one of them has
technical limitation, it limits the performance of the whole system
Bottleneck in the application can be identified by performing the load test with the defined concurrent
user load for various scenarios.
Stress Testing
Every system has a capacity limit. When the load goes beyond the limit, the web site starts
responding very slowly and even produce errors.
The purpose of the stress testing is to find the capacity limit of the system. In we can verify at
which point of time the system degrades or fails. Usually done by increasing the user load in
the system.
Volume Testing
Volume testing is done against the efficiency of the application. Huge amount of data is
processed through the application (which is being tested) in order to check the extreme
limitations of the system.
The limitation will be concluded upon the slow in the system performance and the failure in
the application.
Endurance Testing
This type of testing is used to check that the system can withstand the load for a long or large
number of transaction.
Test will be performed with defined set of concurrent users for a prolonged period of time, say
for example 5 to 10 hours or 2 to 3 days.
Spike Testing
Spike testing is done by suddenly increasing the number of load generated by, users by a
very large amount and observing the behavior of the system. The goal is to determine the
performance degrade, system failure or it will be able to handle dramatic changes in load.
Say for example, test will be initiated with 200 concurrent user for a certain period of time,
suddenly the concurred user load will be increased to 1000 and the system performance will
be monitored. Like wise the user load will be decreased to 200 concurrent users and verify
the system returns to normal operation and retaining the performance as initiated.
Pre-requisites
 NFR document should be available – It will provide you the expected Response time
and required Concurrent user load, Scenarios to be tested and other performance
attributes.
 Dedicated Performance test environment should be ready in place.
 Scalability on the test environment to the actual production environment should be
available.
 Gather the environment details like App, Web and DB servers configurations and their
capacity.
 Performance Test approach document should be ready and sing-off from the stake
holders.
Load Testing Tools
o JMeter, an open source tool from Appache
o Load Runner, commercial load testing tool from HP
o RPT, commercial load test tool from IBM
o NeoLoad, commercial, for Windows, Linux, Solaris
o Microsoft Visual Studio Team System 2010, commercial, for Windows, which includes Load Test Analyzer and Load Test
Monitor tools.
o OpenLoad, commercial load testing tool and hosted service
o OpenSTA, an open source tool
o PureLoad, commercial, multiplatform load testing tool
o PushToTest TestMaker, an open source testing framework (load testing and more)
o QEngine, free and commercial, from AdventNet (free edition supports 5 virtual users)
o SQLQueryStress Performance Testing Tool, free, for testing SQL Server StressIT, commercial and free
o The Grinder, an open source tool
o Flood, open source from and for Apache
o WAPT, Web Application Testing tool, a commercial product, for Windows
o WatchMouse, commercial hosted load testing service
o WebKing, commercial, multiplatform
o WebServer Stress Tool, commercial and free, from Paessler
Why JMeter?
 It is an Open source tool.
 Can load and performance test many different server types:
 Web - HTTP, HTTPS
 SOAP
 Database via JDBC
 LDAP
 JMS
 Mail - POP3(S) and IMAP(S)
 User friendly GUI Design compare to other tools.
 Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of
different functions by separate thread groups.
 Caching and Cookies can be enabled and it impact as such as it is executing in the web browser.
 Controllers are configurable and can monitor the server performance.
 Test results are more reliable compare to other open source tools.
 Test results can be captured in various format like summary report, Graph, Aggregate report, Aggregate
graph, Results in tree and Results in Table.
Installing Jmeter
 Install Java (1.6 or higher)
 Download Latest Jmeter: http://jmeter.apache.org/download_jmeter.cgi
 Add path of java installation in environment path variables.
Running JMeter In Windows
 Open command prompt (user administrative mode to avoid unnecessary hassle).
 Traverse to jmeter installation path]bin
 Run Jmeter.bat
Elements of Test Plans
 Thread Group
 Setup number of thread
 Set up ramp up period
 No. of times test executes
 Controllers
 Sampler (Send Request to Server)
 Logical Controller (Customize logic to send request)
 Listener
 Graph Result
 View Results Tree and many more.
 Timers
 Delay next request for certain amount of time
Elements of Test Plans (Continued…)
 Assertions
 Allow you to assert fact about responses received from HTTP request
 Configuration Elements
 Allow you configure settings
 Preprocessor
 Execute prior to sampler request
 Post Processor
 Execute some action after sampler request
Creating web test plan
Adding Thread group to Test plan
Adding controllers to the Thread group
Adding users
 5 users send 2 requests on google.com and repeat it twice. (5 users x 2 requests x 2 repeat = 20
requests)
 Right click on test note >> Add >> Thread (users) >> Thread Group
Add default http request
 You can add default http request setting from ADD >> Config Element >> HTTP request
default.
 This will let you define default http parameter for every request.
Adding HTTP Request element
 You can add it from ADD> Sampler >> HTTP Request
Adding Listener to view Result
 Listener responsible for storing all of the results of our HTTP request and presenting in Visualize
mode.
HTTP Authorization Manager
ADD> Config Element >> HTTP Authorization Manager
DEMO
Graph Comparison (5 Users VS 50 Users)
5 Users
50 Users
Test Summary
5 Users
50 Users
Recording your Test Plan
Recording Your Test Plan
 JMeter Proxy can use to record all request send to server.
 Create test plan with default http testing
 Add HTTP Proxy Server in Workbench node.
 Define port# of proxy server
 Define URL Pattern to include/exclude
 .*.jpg
 .*.js
 .*.png
 .*.gif
 .*.jsp
 .*.css
 .*.txt
 .*.ejs
 .*.eot
 Start Proxy server.
Recording Your Test Plan
 Setup Proxy server on your browser.
 Start Recording using the Web Browser.
 All the Request will be captured in the Test plan.
Controlling request logic
 Logic Controllers can be used to control flow.
Parameterization
Parameterization
 Create CSV file with list of username and password
 Store in same folder where your test stores
 Add CSV Data set into your test tree from config elements
 Add ${USER},${PASS} in request sampler as parameter.
Correlation
Correlation
 Correlation is used to obtain data which is unique for each run of your test script (ex:
session ids). While recording, these dynamic values are hard-coded in your script causing
the script to fail during playback. Correlation is a technique where dynamic values are not
hard-coded in your script but are extracted at run-time to avoid failure
 Correlation will be done using the Regular Expression Extractor in Jmeter.
Sample of Regular Expression and Usage:
 ([^"]+)  to correlate whole url/dynamic id
 Ex: Edmiijkn11124mmk
 SessionID=(.+?)&  to correlate the url/dynamic id between 2 parameter. Here it’s
between ‘SessionID=‘ and ‘&’ Need to be use if
 EX: SessionID=jkjoujn434897h3jh35y9h&OrderID=ikikikke99874kmnjhh2
Correlation - Regular Expression Extractor
Right click the node/url > Add > Post Processor > Regular Expression Extractor
Defining Regular Expression Extractor:
Reference name: Regex
Regular Expression : ([^"]+)
Template : $1$
Match no : 1
Hint:
1. Need to tag/replace the reference name Regex by ${Regex} in the URL /Dynamic Id.
2. Regular expression can be done before URL where the Dynamic Id/URL you found.
Correlation
Assertion
• Allow you to assert fact about responses received from HTTP request
ADD> Assertion >> Response Assertion
Response Assertion
• Assertion result provide you the exact response for the request
ADD> Listener >> Assertion Result
Assertion Result
Monitor Sever Performance
App/DB/Web Server configuration
ADD> Sampler >> HTTP Request
•Name the http request as Server Status, Provide the server IP and port
•Mention “/manager/status” in the path
Constant Timer
ADD> Timer >> Constant Timer
Setting up the Data Writer
ADD> Listener >> Simple Data Writer
Setting up monitor results
ADD> Listener >> Monitor Results
Distributed Testing
Distributed Test Environment
Target
VM 1
Master
VM 2
Slave
VM 3
Slave
VM 4
Slave
VM 5
Slave
VM n
Slave
Web Server
Master: The system running Jmeter GUI which control the test.
Slave: The System running Jmeter-server which takes
commends from the GUI and send the requests to the target
system.
Target: The Web Server planned for the load test.
Jmeter Distributed Testing
 JMeter client machine may not able to simulate enough users to stress server.
 Control multiple machine to run JMeter without copying test samples to different machine.
 Configuration:
 Copy same version of JMeter to different computer.
 Add remote node IP in JMeter.proeprties file.
 Run JMeter on remote machine using /JMETER_HOME/bin/jmeter-server (in
command prompt)
 Start JMeter GUI in host machine.
 Select any test plan.
 Go to Run >> Remote Start >> Remote IP Address.
Thank you

More Related Content

What's hot

Apache jMeter
Apache jMeterApache jMeter
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmeter
test test
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
Sam Varadarajan
 
JMeter
JMeterJMeter
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
Mikael Kundert
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
silenceIT Inc.
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
RedBlackTree
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
Atul Pant
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
jvSlideshare
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
ChinmayBrahma22
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
Adam Goucher
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 
How to Analyze Reports in Jmeter
How to Analyze Reports in JmeterHow to Analyze Reports in Jmeter
How to Analyze Reports in Jmeter
Viviana Lesmes
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
lethibichhoa
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
Neill Lima
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
Knoldus Inc.
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
Amit Solanki
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
iradari
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
JMeter workshop
JMeter workshopJMeter workshop
JMeter workshop
Raman Kansal
 

What's hot (20)

Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmeter
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
 
JMeter
JMeterJMeter
JMeter
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
How to Analyze Reports in Jmeter
How to Analyze Reports in JmeterHow to Analyze Reports in Jmeter
How to Analyze Reports in Jmeter
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
JMeter workshop
JMeter workshopJMeter workshop
JMeter workshop
 

Similar to Performance testing and j meter

Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)
QA Programmer
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02
Gopi Raghavendra
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
Nitish Bhardwaj
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
Skillwise Consulting
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
Sam Varadarajan
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
isummation
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
David O'Dowd
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
krishna chaitanya
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow Recent
Future Simmons
 
Performance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N TPerformance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N T
Future Simmons
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
Rachappa Bandi
 
Performance testing with loadrunner by kc
Performance testing with loadrunner by kcPerformance testing with loadrunner by kc
Performance testing with loadrunner by kc
krishna chaitanya
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
Mindfire Solutions
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
Txet Document
Txet DocumentTxet Document
Txet Document
Jayaprakash Perumalla
 
Test automation
Test automationTest automation
Test automation
Jitendra Malviya
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
Qspiders - Software Testing Training Institute
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
Tharinda Liyanage
 

Similar to Performance testing and j meter (20)

Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow Recent
 
Performance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N TPerformance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N T
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Performance testing with loadrunner by kc
Performance testing with loadrunner by kcPerformance testing with loadrunner by kc
Performance testing with loadrunner by kc
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
 
Txet Document
Txet DocumentTxet Document
Txet Document
 
Test automation
Test automationTest automation
Test automation
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
 

Recently uploaded

Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
Celine George
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 

Recently uploaded (20)

Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 

Performance testing and j meter

  • 1. An Overview of Performance Testing And JMeter
  • 2. What is Performance testing?  Performance testing is an non-functional testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage  GOAL/OBJECTIVE IS TO FIND THE BOTTLE NECK IN THE SYSTEM
  • 3. What are the types of Performance Testing? Load/Capacity Testing Stress Testing Volume Testing Endurance/Soak Testing Spike Testing
  • 4. Load / Capacity Testing Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration.
  • 5. Bottle neck A bottleneck is a phenomenon where the performance or capacity of an entire system is limited by a single or limited number of components or resources. Your web application can consist of several modules used to process request. If one of them has technical limitation, it limits the performance of the whole system Bottleneck in the application can be identified by performing the load test with the defined concurrent user load for various scenarios.
  • 6. Stress Testing Every system has a capacity limit. When the load goes beyond the limit, the web site starts responding very slowly and even produce errors. The purpose of the stress testing is to find the capacity limit of the system. In we can verify at which point of time the system degrades or fails. Usually done by increasing the user load in the system.
  • 7. Volume Testing Volume testing is done against the efficiency of the application. Huge amount of data is processed through the application (which is being tested) in order to check the extreme limitations of the system. The limitation will be concluded upon the slow in the system performance and the failure in the application.
  • 8. Endurance Testing This type of testing is used to check that the system can withstand the load for a long or large number of transaction. Test will be performed with defined set of concurrent users for a prolonged period of time, say for example 5 to 10 hours or 2 to 3 days.
  • 9. Spike Testing Spike testing is done by suddenly increasing the number of load generated by, users by a very large amount and observing the behavior of the system. The goal is to determine the performance degrade, system failure or it will be able to handle dramatic changes in load. Say for example, test will be initiated with 200 concurrent user for a certain period of time, suddenly the concurred user load will be increased to 1000 and the system performance will be monitored. Like wise the user load will be decreased to 200 concurrent users and verify the system returns to normal operation and retaining the performance as initiated.
  • 10. Pre-requisites  NFR document should be available – It will provide you the expected Response time and required Concurrent user load, Scenarios to be tested and other performance attributes.  Dedicated Performance test environment should be ready in place.  Scalability on the test environment to the actual production environment should be available.  Gather the environment details like App, Web and DB servers configurations and their capacity.  Performance Test approach document should be ready and sing-off from the stake holders.
  • 11. Load Testing Tools o JMeter, an open source tool from Appache o Load Runner, commercial load testing tool from HP o RPT, commercial load test tool from IBM o NeoLoad, commercial, for Windows, Linux, Solaris o Microsoft Visual Studio Team System 2010, commercial, for Windows, which includes Load Test Analyzer and Load Test Monitor tools. o OpenLoad, commercial load testing tool and hosted service o OpenSTA, an open source tool o PureLoad, commercial, multiplatform load testing tool o PushToTest TestMaker, an open source testing framework (load testing and more) o QEngine, free and commercial, from AdventNet (free edition supports 5 virtual users) o SQLQueryStress Performance Testing Tool, free, for testing SQL Server StressIT, commercial and free o The Grinder, an open source tool o Flood, open source from and for Apache o WAPT, Web Application Testing tool, a commercial product, for Windows o WatchMouse, commercial hosted load testing service o WebKing, commercial, multiplatform o WebServer Stress Tool, commercial and free, from Paessler
  • 12. Why JMeter?  It is an Open source tool.  Can load and performance test many different server types:  Web - HTTP, HTTPS  SOAP  Database via JDBC  LDAP  JMS  Mail - POP3(S) and IMAP(S)  User friendly GUI Design compare to other tools.  Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.  Caching and Cookies can be enabled and it impact as such as it is executing in the web browser.  Controllers are configurable and can monitor the server performance.  Test results are more reliable compare to other open source tools.  Test results can be captured in various format like summary report, Graph, Aggregate report, Aggregate graph, Results in tree and Results in Table.
  • 13. Installing Jmeter  Install Java (1.6 or higher)  Download Latest Jmeter: http://jmeter.apache.org/download_jmeter.cgi  Add path of java installation in environment path variables.
  • 14. Running JMeter In Windows  Open command prompt (user administrative mode to avoid unnecessary hassle).  Traverse to jmeter installation path]bin  Run Jmeter.bat
  • 15. Elements of Test Plans  Thread Group  Setup number of thread  Set up ramp up period  No. of times test executes  Controllers  Sampler (Send Request to Server)  Logical Controller (Customize logic to send request)  Listener  Graph Result  View Results Tree and many more.  Timers  Delay next request for certain amount of time
  • 16. Elements of Test Plans (Continued…)  Assertions  Allow you to assert fact about responses received from HTTP request  Configuration Elements  Allow you configure settings  Preprocessor  Execute prior to sampler request  Post Processor  Execute some action after sampler request
  • 18. Adding Thread group to Test plan
  • 19. Adding controllers to the Thread group
  • 20. Adding users  5 users send 2 requests on google.com and repeat it twice. (5 users x 2 requests x 2 repeat = 20 requests)  Right click on test note >> Add >> Thread (users) >> Thread Group
  • 21. Add default http request  You can add default http request setting from ADD >> Config Element >> HTTP request default.  This will let you define default http parameter for every request.
  • 22. Adding HTTP Request element  You can add it from ADD> Sampler >> HTTP Request
  • 23. Adding Listener to view Result  Listener responsible for storing all of the results of our HTTP request and presenting in Visualize mode.
  • 24. HTTP Authorization Manager ADD> Config Element >> HTTP Authorization Manager
  • 25. DEMO
  • 26. Graph Comparison (5 Users VS 50 Users) 5 Users 50 Users
  • 29. Recording Your Test Plan  JMeter Proxy can use to record all request send to server.  Create test plan with default http testing  Add HTTP Proxy Server in Workbench node.  Define port# of proxy server  Define URL Pattern to include/exclude  .*.jpg  .*.js  .*.png  .*.gif  .*.jsp  .*.css  .*.txt  .*.ejs  .*.eot  Start Proxy server.
  • 30. Recording Your Test Plan  Setup Proxy server on your browser.  Start Recording using the Web Browser.  All the Request will be captured in the Test plan.
  • 31. Controlling request logic  Logic Controllers can be used to control flow.
  • 33. Parameterization  Create CSV file with list of username and password  Store in same folder where your test stores  Add CSV Data set into your test tree from config elements  Add ${USER},${PASS} in request sampler as parameter.
  • 35. Correlation  Correlation is used to obtain data which is unique for each run of your test script (ex: session ids). While recording, these dynamic values are hard-coded in your script causing the script to fail during playback. Correlation is a technique where dynamic values are not hard-coded in your script but are extracted at run-time to avoid failure  Correlation will be done using the Regular Expression Extractor in Jmeter. Sample of Regular Expression and Usage:  ([^"]+)  to correlate whole url/dynamic id  Ex: Edmiijkn11124mmk  SessionID=(.+?)&  to correlate the url/dynamic id between 2 parameter. Here it’s between ‘SessionID=‘ and ‘&’ Need to be use if  EX: SessionID=jkjoujn434897h3jh35y9h&OrderID=ikikikke99874kmnjhh2
  • 36. Correlation - Regular Expression Extractor Right click the node/url > Add > Post Processor > Regular Expression Extractor Defining Regular Expression Extractor: Reference name: Regex Regular Expression : ([^"]+) Template : $1$ Match no : 1 Hint: 1. Need to tag/replace the reference name Regex by ${Regex} in the URL /Dynamic Id. 2. Regular expression can be done before URL where the Dynamic Id/URL you found.
  • 39. • Allow you to assert fact about responses received from HTTP request ADD> Assertion >> Response Assertion Response Assertion
  • 40. • Assertion result provide you the exact response for the request ADD> Listener >> Assertion Result Assertion Result
  • 42. App/DB/Web Server configuration ADD> Sampler >> HTTP Request •Name the http request as Server Status, Provide the server IP and port •Mention “/manager/status” in the path
  • 43. Constant Timer ADD> Timer >> Constant Timer
  • 44. Setting up the Data Writer ADD> Listener >> Simple Data Writer
  • 45. Setting up monitor results ADD> Listener >> Monitor Results
  • 47. Distributed Test Environment Target VM 1 Master VM 2 Slave VM 3 Slave VM 4 Slave VM 5 Slave VM n Slave Web Server Master: The system running Jmeter GUI which control the test. Slave: The System running Jmeter-server which takes commends from the GUI and send the requests to the target system. Target: The Web Server planned for the load test.
  • 48. Jmeter Distributed Testing  JMeter client machine may not able to simulate enough users to stress server.  Control multiple machine to run JMeter without copying test samples to different machine.  Configuration:  Copy same version of JMeter to different computer.  Add remote node IP in JMeter.proeprties file.  Run JMeter on remote machine using /JMETER_HOME/bin/jmeter-server (in command prompt)  Start JMeter GUI in host machine.  Select any test plan.  Go to Run >> Remote Start >> Remote IP Address.