SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Downloaden Sie, um offline zu lesen
INTRODUCTION TO JMETER
ABOUT ME
Galih Lasahido
galih.lasahido@gmail.com
An enthusiastic Java developer that you can rely on
•11+ years of experience in programming
•8 years of experience in Banking payment
•String knowledge in Java and PHP
•ISO 8583 payment expert
•JPos-ee contributor
PERFORMANCE TESTING
PERFORMANCE TESTING
Performance testing is in common testing performed to decide how a framework
performs in terms of responsiveness and steadiness beneath a specific workload.
Load Testing
Load testing is the simplest shape of Performance testing. A load test is as a rule
conducted to get it the behaviors of the framework beneath a particular anticipated
stack.
PERFORMANCE TESTING
Stress testing
Stress testing is typically used to determine the system's upper limits of capacity. This
type of test is performed to determine the system's robustness under extreme load.
Bottle neck
A bottleneck is a feature in which the overall performance or capacity of a system is
constrained by a single or limited number of components or resources.
Your web application may be made up of several modules that are used to process
requests. If one of them has a technical limitation, the overall system performance
suffers.
PERFORMANCE TESTING
Volume testing
Volume testing is performed against the application's efficiency. A massive amount of
data is processed through the application (which is being tested) in order to test the
system's extreme limitations.
Endurance Testing
This type of testing is used to ensure that the system can withstand a large number of
transactions over a long period of time.
The test will be run with a defined set of concurrent users for an extended period of
time, say 5 to 10 hours or 2 to 3 days.
PERFORMANCE GOALS
Spike Testing
Spike testing involves abruptly increasing the number of users' load by a large amount
and observing the system's behavior. The goal is to determine whether or not the
system will degrade in performance, fail, or be able to handle dramatic changes in
load.
PERFORMANCE GOALS
Concurrency/throughput
Transactions per second the application under test can handle
Server response time
Amount of time the application under test takes to process a request after it has
received.
WHAT IS JMETER
WHAT IS JMETER
Apache JMeter is an Apache project that can be used as a load testing tool for
analyzing and measuring the performance of a wide range of services, with a
particular emphasis on web applications.
Can load and performance test many different server types:
•Web - HTTP, HTTPS
•SOAP
•Database via JDBC
•LDAP
•JMS
•etc
WHERE TO
DOWNLOAD
JMETER
https://jmeter.apache.org/download
_jmeter.cgi
JMETER BASIC
ELEMENTS
Test Plan
Thread Group
Sampler
Assertion
Listener
Logic Controller
Timer
Config Element
Pre-Processor/Post-Processor
TEST PLAN
A test plan describes a series of steps that JMeter
will take when it is run. A comprehensive test
strategy will consist of one or more Thread Groups,
logic controllers, sample generating controllers,
listeners, timers, assertions, and configuration
elements.
THREAD GROUP
Thread group elements serve as
the starting point for any test
plan. A thread group must be
assigned to all controllers and
samplers.
SAMPLER
JMeter is told by samplers to
send requests to a server and
wait for a response. They are
handled in the order in which
they appear in the tree.
ASSERTION
Assertions allow you to assert
facts about responses from the
server under test. Using an
assertion, you can effectively
"test" that your application is
returning the expected results.
LISTENER
Listeners allow access to the
information gathered by JMeter
about the test cases while Meter
is running.
LOGIC CONTROLLER
Logic Controllers allow you to
modify the logic that JMeter
employs to determine when to
send requests. Logic Controllers
have the ability to reorder
requests from their child elements.
They can change the requests
themselves, make JMeter repeat
requests, and so on.
JMeter provides several Logic
Controller, which are as follows:
Critical Section
Controller
ForEach Controller
If Controller
Include Controller
Interleave Controller
Loop Controller
Module controller
Once Only Controller
Random Controller
Random Order
Controller
Recording Controller
Runtime Controller
Simple Controller
Switch Controller
Throughput
Controller!
Transaction
Controller
While Controller
INTERLEAVE
CONTROLLER
Interleave Controller will select only one samplers/requests stored in it,
to run in each loop of the thread. It will execute the samplers
sequentially.
You can give descriptive name for the controller (optional)
If checkbox is selected, the interleave controller will consider sub-controllers
as single request elements and permit only one request per controller at a
time (optional)
Let’s consider an example of Interleave Controller, where Thread
Group contains “Number of Threads” to “1”, “Loop Count” to 5, and a
total of “4” Samplers (Http requests).
Total 1 * 5 * 4 = “20” requests will be sent to web server under test
without using any Logic Controller. You can see details in the below
figure:
INTERLEAVE
CONTROLLER
You can see “4” Requests/Samplers under Interleave Controller node on the
left panel.
Only 5 Http Requests are being sent to the web server (one request for
each loop)
LOOP CONTROLLER
For Example, Thread Group loop count is set to “2”, Loop Controller loop
count is set to “2”, and “3” requests are present under Loop Controller
node, then JMeter will send a total of “30” Http Requests to the web server
under test.
Total Requests (12) = Thread Group loop count (2) * Loop Controller
loop count (2) * Number of Requests inside Loop Container (3)
Let’s compare the requests sent with or without Loop Controller:
Without Loop Controller, “6” requests are sent to the web server:
LOOP CONTROLLER
After adding Loop Controller with Loop Count to “2”, a total of “12”
Http requests are sent to the web server.
MODULE CONTROLLER
Module controller adds modularity to the JMeter Test Plan. Normally we
construct test plan consists of small units of functionality like Login, Add
Product, Logout. The functionality can be stored inside Controllers as
modules e.g. “Test Fragment” can be used to store each module inside it.
In order to run modules in other thread, so when the test fragment is
change, you don’t need to change every thread that are using it.
INCLUDE CONTROLLER
Include Controller is made to use an external test plan. This controller
allows the usage of multiple test plans in JMeter.
INCLUDE CONTROLLER
RANDOM CONTROLLER
Random Controller is similar to “Interleave Controller” except that it
makes samplers/requests to run in random order in each loop. For
Example, you have defined “3” Dummy requests under “Random
Controller”, then these requests will be sent based on the number of
thread in Thread Group in random sampler and will be decided on rum-
time.
RANDOM ORDER CONTROLLER
Random Order Controller is similar to “Interleave Controller” except that
it makes samplers/requests to run in random order in each loop. For
Example, you have defined “3” Dummy requests under “Random
Controller”, then these requests will be sent in random order and their
order of execution will be decided on rum-time.
SIMPLE CONTROLLER
Simple Controller helps in organizing and storing the Samplers and other
Logic Controllers. It doesn’t offer any other functionality like other
controllers.
RUNTIME CONTROLLER
Runtime Controller controls the execution of its samplers/requests for the
given time. For example, if you have specified Runtime(seconds) to “20”,
JMeter will run your test for 20 seconds only.
RECORDING CONTROLLER
Recording Controller is a place holder where proxy server can save
recorded requests. It has no effects on test execution. As you can see in
the following figure:
TIMER
JMeter will delay a certain
amount of time before each
sampler in its scope as a result
of the timer.
CONFIG ELEMENT
A configuration element
collaborates with a Sampler.
Although it does not send
requests (with the exception of
HTTP Proxy Server), it can add
to or modify existing ones.
PRE-PROCESSOR/POST-
PROCESSOR
•A Pre-Processor performs some
action prior to making a
Sampler Request.
•Following the submission of a
Sampler Request, a Post-
Processor performs some action.
EXECUTION
ORDER
1. Config Element
2. Pre-Processor
3. Timer
4. Sampler
5. Post-Processor
6. Assertion
7. Listener
FUNCTION AND VARIABLES
LIST OF FUNCTIONS
https://jmeter.apache.org/usermanual/functions.html
HTML REPORT FROM COMMAND AND
GUI
All report generator properties can be found in
file reportgenerator.properties. To customize these
properties, you should copy them in user.properties file and
modify them.
Configuring Dashboard
Generation
Make a report folder in JMETER_HOME/bin
JMETER_HOME/bin/jmeter -n -t templates/iso8583.jmx -l
report/log -e -o report/
Using Command
Open report folder in JMETER_HOME/bin and open index.html
using browser
Save result file into csv format Using GUI
Open Generate HTML report and fill the values, then Generate
report Using GUI
JMETER PLUGINS
WHERE TO
DOWNLOAD
JMETER-PLUGIN
https://jmeter-
plugins.org/install/Install/
INSTALLING
PLUGINS
The easiest way to get the plugins is to install Plugins Manager. Then you'll be
able to install any other plugins just by clicking a checkbox.
Download plugins-manager.jar and put it
into JMETER_HOME/lib/ext directory, then restart JMeter.
RECORD WEB
REQUEST
Automatic REST API Request
INSTALL BLAZEMETER CHROME
PLUGINS
Go to
https://chrome.google.com/
and search for blazemeter
RUN BLAZEMETER PLUGINS
Press the record circle
button, and in the web login
to the page
RUN BLAZEMETER PLUGINS
After scenario is done, you
can export the file to jmeter
format
RUN BLAZEMETER PLUGINS
RUN BLAZEMETER PLUGINS
OPEN IN JMETER
HOW TO
RECORD API
FROM DEVICE
Automatic REST API Request
CREATE TEMPLATE
RUN PROXY SAMPLER
Get you mobile phone and
install CA Root Jmeter file,
the file it self located in
JMETER_HOME/bin/Apache
JMeterTemporaryRootCA.crt
HOW TO INSTALL JMETER
CA ROOT FILE IN ANDROID
SETTING PROXY IN ANDROID PHONE
For hostname insert you laptop ip
address, and port will be the same
like in Jmeter HTTP(S) Test Script
Recorder
RESULT OF TAPPING DATA
After all the the config, run
you application from you
mobile phone, and the result
will automatically shown in
the JMeter
ADD PREPROCESSOR FOR
ENCRYPTING PASSWORD USING AES
ADD FILE CSV CONFIG
FINAL REQUEST WITH CSV DATA
AND ENCRYPTED AES PASSWORD
ISO 8583 TESTING USING JMETER
ISO 8583 TEST PLAN
Checking “Run Thread
Groups consecutively” will
result a serial request per-
thread, while unchecking can
result a parallel request
thread
STAN VARIABLE
ISO8583 CONNECTION
CONFIGURATION
INQUIRY SAMPLER
XPATH EXTRACTOR
BEANSHELL POSTPROCESSOR
Since XPATH EXTRACTOR
only live in the active thread,
so we need to make it
available in other thread
SYNCHRONIZING TIMER
Optional features
PAYMENT SAMPLER
ISO 8583 TESTING USING JMETER
STRESS TEST
STRESS TEST
By Using the Synchronizing Timer, and set the
Thread to a certain concurrent request that you
want, the request will hold until all thread are ready
DISTRIBUTED
TEST
ENVIRONMENT
MASTER: THE SYSTEM IS RUNNING A METER GUI, WHICH IS USED TO
CONTROL THE TEST.
SLAVE: THE SYSTEM RUNNING JMETER-SERVER, WHICH ACCEPTS
RECOMMENDATIONS FROM THE GUI AND SENDS THEM TO THE TARGET
SYSTEM.
TARGET: THE LOAD TEST WAS PLANNED BY THE WEB SERVER.
Configuration:
1. Copy same version of Meter to
different computer.
2. Add remote node IP in
jmeter.properties file.
3. Run Meter on remote machine
using
JMETER_HOME/bin/jmeter-
server (in command prompt)
4. Start Meter GUI in host machine.
5. Select any test plan.
6. Go to Run >> Remote Start >>
Remote IP Address.
EDIT THE PROPERTIES FILE ON THE CONTROLLING JMETER MACHINE.
IN JMETER_HOME/BIN/JMETER.PROPERTIES, FIND THE PROPERTY NAMED
"REMOTE_HOSTS" AND ADD THE VALUE OF YOUR RUNNING JMETER SERVER'S
IP ADDRESS. MULTIPLE SUCH SERVERS CAN BE ADDED, COMMA-DELIMITED.
RESTART JMETER AFTER EDIT THE
FILE
Introduction to JMeter

Weitere ähnliche Inhalte

Was ist angesagt?

Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeterjvSlideshare
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeterMikael Kundert
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With JmeterAdam Goucher
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeterWira Santos
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter PresentationNeill Lima
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaEdureka!
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meterPurna Chandar
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter Knoldus Inc.
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 

Was ist angesagt? (20)

JMeter
JMeterJMeter
JMeter
 
JMeter
JMeterJMeter
JMeter
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
Performance testing with Jmeter
Performance testing with JmeterPerformance 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
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
 
JMeter workshop
JMeter workshopJMeter workshop
JMeter workshop
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 

Ähnlich wie Introduction to JMeter

Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Nitish Bhardwaj
 
Apachejmeterabriefintroduction
ApachejmeterabriefintroductionApachejmeterabriefintroduction
ApachejmeterabriefintroductionForedoomed
 
Test talk academy apachejmeter-120521121306-phpapp02
Test talk academy apachejmeter-120521121306-phpapp02Test talk academy apachejmeter-120521121306-phpapp02
Test talk academy apachejmeter-120521121306-phpapp02veeru madduri
 
Day1_Apache_JMeter_Overview
Day1_Apache_JMeter_OverviewDay1_Apache_JMeter_Overview
Day1_Apache_JMeter_OverviewSravanthi N
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Shivakumara .
 
Day1 JMeter_training_overview
Day1 JMeter_training_overviewDay1 JMeter_training_overview
Day1 JMeter_training_overviewSravanthiN
 
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 BannonDavid O'Dowd
 
Elments Used on Jmeter
Elments Used on JmeterElments Used on Jmeter
Elments Used on JmeterViviana Lesmes
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 
Server Performance by Tonny
Server Performance by TonnyServer Performance by Tonny
Server Performance by TonnyAgate Studio
 
Best Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working ProfessionalsBest Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working ProfessionalsTesting World
 
J meter introduction
J meter introductionJ meter introduction
J meter introductionBharath Kumar
 
Top 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdfTop 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdfAnanthReddy38
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02Gopi Raghavendra
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)QA Programmer
 

Ähnlich wie Introduction to JMeter (20)

Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
Apachejmeterabriefintroduction
ApachejmeterabriefintroductionApachejmeterabriefintroduction
Apachejmeterabriefintroduction
 
Test talk academy apachejmeter-120521121306-phpapp02
Test talk academy apachejmeter-120521121306-phpapp02Test talk academy apachejmeter-120521121306-phpapp02
Test talk academy apachejmeter-120521121306-phpapp02
 
Day1_Apache_JMeter_Overview
Day1_Apache_JMeter_OverviewDay1_Apache_JMeter_Overview
Day1_Apache_JMeter_Overview
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Day1 JMeter_training_overview
Day1 JMeter_training_overviewDay1 JMeter_training_overview
Day1 JMeter_training_overview
 
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
 
Elments Used on Jmeter
Elments Used on JmeterElments Used on Jmeter
Elments Used on Jmeter
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Jmeter.ppt
Jmeter.pptJmeter.ppt
Jmeter.ppt
 
Server Performance by Tonny
Server Performance by TonnyServer Performance by Tonny
Server Performance by Tonny
 
Best Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working ProfessionalsBest Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working Professionals
 
J meter introduction
J meter introductionJ meter introduction
J meter introduction
 
JMeter.ppt
JMeter.pptJMeter.ppt
JMeter.ppt
 
Jmeter Walkthrough
Jmeter WalkthroughJmeter Walkthrough
Jmeter Walkthrough
 
Top 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdfTop 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdf
 
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)
 
jmeter interview q.pdf
jmeter interview q.pdfjmeter interview q.pdf
jmeter interview q.pdf
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 

Kürzlich hochgeladen (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 

Introduction to JMeter

  • 2. ABOUT ME Galih Lasahido galih.lasahido@gmail.com An enthusiastic Java developer that you can rely on •11+ years of experience in programming •8 years of experience in Banking payment •String knowledge in Java and PHP •ISO 8583 payment expert •JPos-ee contributor
  • 4. PERFORMANCE TESTING Performance testing is in common testing performed to decide how a framework performs in terms of responsiveness and steadiness beneath a specific workload. Load Testing Load testing is the simplest shape of Performance testing. A load test is as a rule conducted to get it the behaviors of the framework beneath a particular anticipated stack.
  • 5. PERFORMANCE TESTING Stress testing Stress testing is typically used to determine the system's upper limits of capacity. This type of test is performed to determine the system's robustness under extreme load. Bottle neck A bottleneck is a feature in which the overall performance or capacity of a system is constrained by a single or limited number of components or resources. Your web application may be made up of several modules that are used to process requests. If one of them has a technical limitation, the overall system performance suffers.
  • 6. PERFORMANCE TESTING Volume testing Volume testing is performed against the application's efficiency. A massive amount of data is processed through the application (which is being tested) in order to test the system's extreme limitations. Endurance Testing This type of testing is used to ensure that the system can withstand a large number of transactions over a long period of time. The test will be run with a defined set of concurrent users for an extended period of time, say 5 to 10 hours or 2 to 3 days.
  • 7. PERFORMANCE GOALS Spike Testing Spike testing involves abruptly increasing the number of users' load by a large amount and observing the system's behavior. The goal is to determine whether or not the system will degrade in performance, fail, or be able to handle dramatic changes in load.
  • 8. PERFORMANCE GOALS Concurrency/throughput Transactions per second the application under test can handle Server response time Amount of time the application under test takes to process a request after it has received.
  • 10. WHAT IS JMETER Apache JMeter is an Apache project that can be used as a load testing tool for analyzing and measuring the performance of a wide range of services, with a particular emphasis on web applications. Can load and performance test many different server types: •Web - HTTP, HTTPS •SOAP •Database via JDBC •LDAP •JMS •etc
  • 12. JMETER BASIC ELEMENTS Test Plan Thread Group Sampler Assertion Listener Logic Controller Timer Config Element Pre-Processor/Post-Processor
  • 13. TEST PLAN A test plan describes a series of steps that JMeter will take when it is run. A comprehensive test strategy will consist of one or more Thread Groups, logic controllers, sample generating controllers, listeners, timers, assertions, and configuration elements.
  • 14. THREAD GROUP Thread group elements serve as the starting point for any test plan. A thread group must be assigned to all controllers and samplers.
  • 15. SAMPLER JMeter is told by samplers to send requests to a server and wait for a response. They are handled in the order in which they appear in the tree.
  • 16. ASSERTION Assertions allow you to assert facts about responses from the server under test. Using an assertion, you can effectively "test" that your application is returning the expected results.
  • 17. LISTENER Listeners allow access to the information gathered by JMeter about the test cases while Meter is running.
  • 18. LOGIC CONTROLLER Logic Controllers allow you to modify the logic that JMeter employs to determine when to send requests. Logic Controllers have the ability to reorder requests from their child elements. They can change the requests themselves, make JMeter repeat requests, and so on. JMeter provides several Logic Controller, which are as follows: Critical Section Controller ForEach Controller If Controller Include Controller Interleave Controller Loop Controller Module controller Once Only Controller Random Controller Random Order Controller Recording Controller Runtime Controller Simple Controller Switch Controller Throughput Controller! Transaction Controller While Controller
  • 19. INTERLEAVE CONTROLLER Interleave Controller will select only one samplers/requests stored in it, to run in each loop of the thread. It will execute the samplers sequentially. You can give descriptive name for the controller (optional) If checkbox is selected, the interleave controller will consider sub-controllers as single request elements and permit only one request per controller at a time (optional) Let’s consider an example of Interleave Controller, where Thread Group contains “Number of Threads” to “1”, “Loop Count” to 5, and a total of “4” Samplers (Http requests). Total 1 * 5 * 4 = “20” requests will be sent to web server under test without using any Logic Controller. You can see details in the below figure:
  • 20. INTERLEAVE CONTROLLER You can see “4” Requests/Samplers under Interleave Controller node on the left panel. Only 5 Http Requests are being sent to the web server (one request for each loop)
  • 21. LOOP CONTROLLER For Example, Thread Group loop count is set to “2”, Loop Controller loop count is set to “2”, and “3” requests are present under Loop Controller node, then JMeter will send a total of “30” Http Requests to the web server under test. Total Requests (12) = Thread Group loop count (2) * Loop Controller loop count (2) * Number of Requests inside Loop Container (3) Let’s compare the requests sent with or without Loop Controller: Without Loop Controller, “6” requests are sent to the web server:
  • 22. LOOP CONTROLLER After adding Loop Controller with Loop Count to “2”, a total of “12” Http requests are sent to the web server.
  • 23. MODULE CONTROLLER Module controller adds modularity to the JMeter Test Plan. Normally we construct test plan consists of small units of functionality like Login, Add Product, Logout. The functionality can be stored inside Controllers as modules e.g. “Test Fragment” can be used to store each module inside it. In order to run modules in other thread, so when the test fragment is change, you don’t need to change every thread that are using it.
  • 24. INCLUDE CONTROLLER Include Controller is made to use an external test plan. This controller allows the usage of multiple test plans in JMeter.
  • 26. RANDOM CONTROLLER Random Controller is similar to “Interleave Controller” except that it makes samplers/requests to run in random order in each loop. For Example, you have defined “3” Dummy requests under “Random Controller”, then these requests will be sent based on the number of thread in Thread Group in random sampler and will be decided on rum- time.
  • 27. RANDOM ORDER CONTROLLER Random Order Controller is similar to “Interleave Controller” except that it makes samplers/requests to run in random order in each loop. For Example, you have defined “3” Dummy requests under “Random Controller”, then these requests will be sent in random order and their order of execution will be decided on rum-time.
  • 28. SIMPLE CONTROLLER Simple Controller helps in organizing and storing the Samplers and other Logic Controllers. It doesn’t offer any other functionality like other controllers.
  • 29. RUNTIME CONTROLLER Runtime Controller controls the execution of its samplers/requests for the given time. For example, if you have specified Runtime(seconds) to “20”, JMeter will run your test for 20 seconds only.
  • 30. RECORDING CONTROLLER Recording Controller is a place holder where proxy server can save recorded requests. It has no effects on test execution. As you can see in the following figure:
  • 31. TIMER JMeter will delay a certain amount of time before each sampler in its scope as a result of the timer.
  • 32. CONFIG ELEMENT A configuration element collaborates with a Sampler. Although it does not send requests (with the exception of HTTP Proxy Server), it can add to or modify existing ones.
  • 33. PRE-PROCESSOR/POST- PROCESSOR •A Pre-Processor performs some action prior to making a Sampler Request. •Following the submission of a Sampler Request, a Post- Processor performs some action.
  • 34. EXECUTION ORDER 1. Config Element 2. Pre-Processor 3. Timer 4. Sampler 5. Post-Processor 6. Assertion 7. Listener
  • 37. HTML REPORT FROM COMMAND AND GUI
  • 38. All report generator properties can be found in file reportgenerator.properties. To customize these properties, you should copy them in user.properties file and modify them. Configuring Dashboard Generation
  • 39. Make a report folder in JMETER_HOME/bin JMETER_HOME/bin/jmeter -n -t templates/iso8583.jmx -l report/log -e -o report/ Using Command
  • 40. Open report folder in JMETER_HOME/bin and open index.html using browser
  • 41. Save result file into csv format Using GUI
  • 42. Open Generate HTML report and fill the values, then Generate report Using GUI
  • 45. INSTALLING PLUGINS The easiest way to get the plugins is to install Plugins Manager. Then you'll be able to install any other plugins just by clicking a checkbox. Download plugins-manager.jar and put it into JMETER_HOME/lib/ext directory, then restart JMeter.
  • 47. INSTALL BLAZEMETER CHROME PLUGINS Go to https://chrome.google.com/ and search for blazemeter
  • 48. RUN BLAZEMETER PLUGINS Press the record circle button, and in the web login to the page
  • 49. RUN BLAZEMETER PLUGINS After scenario is done, you can export the file to jmeter format
  • 53. HOW TO RECORD API FROM DEVICE Automatic REST API Request
  • 55. RUN PROXY SAMPLER Get you mobile phone and install CA Root Jmeter file, the file it self located in JMETER_HOME/bin/Apache JMeterTemporaryRootCA.crt
  • 56. HOW TO INSTALL JMETER CA ROOT FILE IN ANDROID
  • 57. SETTING PROXY IN ANDROID PHONE For hostname insert you laptop ip address, and port will be the same like in Jmeter HTTP(S) Test Script Recorder
  • 58. RESULT OF TAPPING DATA After all the the config, run you application from you mobile phone, and the result will automatically shown in the JMeter
  • 59. ADD PREPROCESSOR FOR ENCRYPTING PASSWORD USING AES
  • 60. ADD FILE CSV CONFIG
  • 61. FINAL REQUEST WITH CSV DATA AND ENCRYPTED AES PASSWORD
  • 62. ISO 8583 TESTING USING JMETER
  • 63.
  • 64. ISO 8583 TEST PLAN Checking “Run Thread Groups consecutively” will result a serial request per- thread, while unchecking can result a parallel request thread
  • 69. BEANSHELL POSTPROCESSOR Since XPATH EXTRACTOR only live in the active thread, so we need to make it available in other thread
  • 72. ISO 8583 TESTING USING JMETER STRESS TEST
  • 73. STRESS TEST By Using the Synchronizing Timer, and set the Thread to a certain concurrent request that you want, the request will hold until all thread are ready
  • 75. MASTER: THE SYSTEM IS RUNNING A METER GUI, WHICH IS USED TO CONTROL THE TEST. SLAVE: THE SYSTEM RUNNING JMETER-SERVER, WHICH ACCEPTS RECOMMENDATIONS FROM THE GUI AND SENDS THEM TO THE TARGET SYSTEM. TARGET: THE LOAD TEST WAS PLANNED BY THE WEB SERVER. Configuration: 1. Copy same version of Meter to different computer. 2. Add remote node IP in jmeter.properties file. 3. Run Meter on remote machine using JMETER_HOME/bin/jmeter- server (in command prompt) 4. Start Meter GUI in host machine. 5. Select any test plan. 6. Go to Run >> Remote Start >> Remote IP Address.
  • 76. EDIT THE PROPERTIES FILE ON THE CONTROLLING JMETER MACHINE. IN JMETER_HOME/BIN/JMETER.PROPERTIES, FIND THE PROPERTY NAMED "REMOTE_HOSTS" AND ADD THE VALUE OF YOUR RUNNING JMETER SERVER'S IP ADDRESS. MULTIPLE SUCH SERVERS CAN BE ADDED, COMMA-DELIMITED.
  • 77. RESTART JMETER AFTER EDIT THE FILE