SlideShare a Scribd company logo
PERFORMANCE & LOAD
TESTING BASICS
INTRODUCTION TO PERFORMANCE TESTING
Performance testing is the process of determining
the speed or effectiveness of a computer,
network, software program or device.
Before going into the details, we should
understand the factors that governs Performance
testing:
Throughput
Response Time
Tuning
Benchmarking
THROUGHPUT
Capability of a product to handle
multiple transactions in a given
period.
Throughput represents the
number of requests/business
transactions processed by the
product in a specified time
duration.
As the number of concurrent
users increase, the throughput
increases almost linearly with the
number of requests. As there is
very little congestion within the
Application Server system
queues.
THROUGHPUT
In the heavy load zone or Section B, as the
concurrent client load increases, throughput remains
relatively constant.
In Section C (the buckle zone) one or more of the
system components have become exhausted and
throughput starts to degrade. For example, the
system might enter the buckle zone when the network
connections at the Web server exhaust the limits of
the network adapter or if the requests exceed
operating system limits for file handles.
RESPONSE TIME
It is equally important to
find out how much time
each of the transactions
took to complete.
Response time is defined
as the delay between the
point of request and the
first response from the
product.
The response time
increases proportionally
to the user load.
TUNING
Tuning is the procedure by which
product performance is enhanced
by setting different values to the
parameters of the product,
operating system and other
components.
Tuning improves the product
performance without having to
touch the source code of the
product.
BENCHMARKING
A very well-improved performance
of a product makes no business
sense if that performance does not
match up to the competitive
products.
A careful analysis is needed to
chalk out the list of transactions to
be compared across products so
that an apple-apple comparison
becomes possible.
PERFORMANCE TESTING-
DEFINITION
The testing to evaluate the response time (speed), throughput
and utilization of system to execute its required functions in
comparison with different versions of the same product or a
different competitive product is called Performance Testing.
Performance testing is done to derive benchmark numbers for
the system.
Heavy load is not applied to the system
Tuning is performed until the system under test achieves the
expected levels of performance.
DIFFERENCE BETWEEN
PERFORMANCE, LOAD AND STRESS
TESTING
Load Testing
Process of exercising the system
under test by feeding it the largest
tasks it can operate with.
Constantly increasing the load on the
system via automated tools to
simulate real time scenario with
virtual users.
Examples:
Testing a word processor by editing a
very large document.
For Web Application load is defined in
terms of concurrent users or HTTP
connections.
DIFFERENCE BETWEEN
PERFORMANCE, LOAD AND STRESS
TESTING
Stress Testing
Trying to break the system under
test by overwhelming its resources
or by taking resources away from it.
Purpose is to make sure that the
system fails and recovers gracefully.
Example:
Double the baseline number for
concurrent users/HTTP connections.
Randomly shut down and restart
ports on the network
switches/routers that connects
servers.
WHY PERFORMANCE TESTING?
The week of Feb 6, 2000:
Hackers delivered over 1-Billion transactions
concurrently to each one of these sites.
 Yahoo
 eBay
 Buy.com
 Amazon
 eTrade
How did you think they performed ?
Identifies problems early on before they become costly to resolve.
Reduces development cycles.
Produces better quality, more scalable code.
Prevents revenue and credibility loss due to poor Web site
performance.
Enables intelligent planning for future expansion.
To ensure that the system meets performance expectations such
as response time, throughput etc. under given levels of load.
Expose bugs that do not surface in cursory testing, such as
memory management bugs, memory leaks, buffer overflows, etc.
WHY PERFORMANCE TESTING
WHEN IS IT REQUIRED?
Design Phase:
Pages containing lots of images and multimedia for reasonable wait times.
Heavy loads are less important than knowing which types of content cause
slowdowns.
Development Phase:
To check results of individual pages and processes, looking for breaking
points, unnecessary code and bottlenecks.
Deployment Phase:
To identify the minimum hardware and software requirements for the
application.
WHAT SHOULD BE TESTED?
High frequency transactions: The most frequently used transactions have the
potential to impact the performance of all of the other transactions if they are not
efficient.
Mission Critical transactions: The more important transactions that facilitate
the core objectives of the system should be included, as failure under load of
these transactions has, by definition, the greatest impact.
Read Transactions: At least one READ ONLY transaction should be included, so
that performance of such transactions can be differentiated from other more
complex transactions.
Update Transactions: At least one update transaction should be included so
that performance of such transactions can be differentiated from other
transactions.
PERFORMANCE
TESTING PROCESS
Determine the performance testing objectives
Describe the application to test using a application
model
1.Describe the Hardware environment
2.Create a Benchmark (Agenda) to be recorded in Phase 2.
A.Define what tasks each user will perform
B.Define (or estimate) the percentage of users per task.
1.Planning
Record
Record the defined testing activities that will be used as a
foundation for your load test scripts.
One activity per task or multiple activities depending on user task
definition
Modify
Modify load test scripts defined by recorder to reflect more
realistic Load test simulations.
Defining the project, users
Randomize parameters (Data, times, environment)
Randomize user activities that occur during the load test
3.Modify2.Record1.Planning
Virtual Users (VUs): Test Goals
Start: 5 Max Response Time <= 20 Sec
Incremented by: 5
Maximum: 200
Think Time: 5 sec
Test Script:
One typical user from login through completion.
4. Execute
Monitoring the scenario: We monitor scenario
execution using the various online runtime
monitors.
Analysing test results: During scenario execution,
the tool records the performance of the application
under different loads. We use the graphs and
reports to analyse the application’s performance.
6.Analyze5.Monitor
LOAD TEST CONFIGURATION FOR
A WEB SYSTEM
LOAD TEST PLANNING
Why Planning
Analysing the Application
Defining Testing Objectives
Gathering Requirements
Load Test Checklist
Practice Questions
WHY PLANNING
• As in any type of system testing, a well-defined test plan is the first essential step
to successful testing.
Planning load testing helps to:
 Build test scenarios that accurately emulate your working environment: Load
testing means testing the application under typical working conditions, and checking
for system performance, reliability, capacity, and so forth.
 Understand which resources are required for testing: Application testing
requires hardware, software, and human resources. Before beginning testing, we
should know which resources are available and decide how to use them effectively.
 Define success criteria in measurable terms: Focused testing goals and test
criteria ensure successful testing. For example, it’s not enough to define vague
objectives like “Check server response time under heavy load.” A more focused
success criterion would be “Check that 50 customers can check their account
balance simultaneously & that server response time will not exceed 1- minute”
WHY PLANNING
Load test planning is a three-step process:
Analyzing the Application
• Analysis ensures that the testing environment we create using Load
Runner will accurately reflect the environment and configuration of
the application under test.
Defining Testing Objectives
• Before testing, we should define exactly what we want to accomplish.
Gathering Requirements
• All the requirements and resources should be evaluated and
collected beforehand to avoid any last minute hurdles.
ANALYZING THE APPLICATION
Load testing does not require as much knowledge of the
application as functional testing does.
Load tester should have some operational knowledge of
the application to be tested.
Load tester should have the idea on how the application
is actually used in production to make an informed
estimate.
Load tester must know the application architecture
(Client Server, Local Deployment, Live URL), Platform
and Database used.
DEFINING TESTING OBJECTIVES
Determining and recording performance testing objectives
involves communicating with the team to establish and update
these objectives as the project advances through milestones
Performance, Load or Stress testing: Type and scope of
testing should be clear as each type of testing has different
requirements.
Goal Setting: General load testing objectives should be defined.
DEFINING TESTING OBJECTIVES
Common Objectives:
Measuring end-user response time
Defining optimal hardware configuration
Checking reliability
Assist the development team in determining the performance
characteristics for various configuration options
Ensure that the new production hardware is no slower than the
previous release
Provide input data for scalability and capacity-planning efforts
Determine if the application is ready for deployment to
production
Detect bottlenecks to be tuned
DEFINING TESTING OBJECTIVES
Stating Objectives in Measurable Terms:
 Once you decide on your general load testing objectives, you
should identify more focused goals by stating your objectives in
measurable terms.
 To provide a baseline for evaluation, determine exactly what
constitutes acceptable and unacceptable test results.
 For example:
General Objective:
• Product Evaluation: choose hardware for the Web server.
Focused Objective:
• Product Evaluation: run the same group of 300 virtual users on two
different servers, HP and NEC. When all 300 users simultaneously browse
the pages of your Web application, determine which hardware gives a
better response time.
GATHERING REQUIREMENTS
Users: Identify all the types of people and processes that can put
load on the application or system.
Defining the types of primary end users of the application or system such
as purchasers, claims processors, and sales reps
Add other types of users such as system administrators, managers, and
report readers who use the application or system but are not the primary
users.
Add types of non-human users such as batch processes, system
backups, bulk data loads and anything else that may add load or
consume system resources.
Transactions: For each type of user we identified in the previous
step, identify the tasks that the user performs.
Production Environment:
Performance and capacity of an application is significantly affected by
the hardware and software components on which it executes.
GATHERING REQUIREMENTS
Production Environment:
Speed, capacity, IP address and name, version numbers and other
significant information.
Test Environment:
Should be similar to the production environment as is possible to be
able to get meaningful performance results.
It is important that the databases be set up with the same amount of
data in the same proportions as the production environment as that
can substantially affect the performance.
Scenarios:
Select the use cases to include
Determine how many instances of each use case will run concurrently
Determine how often the use cases will execute per hour
Select the test environment
GATHERING REQUIREMENTS
Load test Tool:
Ability to parameterize data.
Ability to capture dynamic data and use on subsequent requests.
Application infrastructure monitoring.
Support for the application's protocols
Load test Lab must include the following:
Test Servers.
Databases.
Network elements, operating systems and clients and server hardware.
LOAD TEST CHECK LIST
Planning
Objective goals defined
Test plan written and reviewed
Staff Skills
Experience in load testing
Application knowledge
Systems knowledge
Communication and people skills
Support Staff
Key staff identified and allocated
Load Test Lab
Test servers allocated
Databases populated
Load test tools allocated
LOAD TESTING
TOOLS
Manual testing Limitations
Benefits of Automation
Tools used for Performance Testing
Practice Questions
MANUAL TESTING LIMITATIONS
Testers
Load Generation System Under Test
Do you have the testing resources?
• Testing personnel
• Client machines
How do you coordinate and synchronize users?
How do you collect and analyze results?
How do you achieve test repeatability?
Analysis?
All of you,
click the
GO button
again
Web server Database
server
Coordinator
MANUAL TESTING LIMITATIONS
Manual Testing Limitations
 Expensive, requiring large amounts of both
personnel and machinery.
 Complicated, especially co-ordinating and
synchronising multiple testers
 Involves a high degree of organization,
especially to record and analyse results
meaningfully
 Repeatability of the manual tests is limited.
BENEFITS OF AUTOMATION
Load Generation System Under Test
Web server Database
server
Vuser
host
• Controller manages the virtual users
• Analyze results with graphs and
reports
• Replaces testers with virtual users
Solves the resource limitations
• Runs many Vusers on a few machinesAnalysis
Controller
BENEFITS OF AUTOMATION
Using Automated Tools
 Reduces personnel requirements by replacing human users with
virtual users or Vusers. These Vusers emulate the behaviour of real
users
 Because numerous Vusers can run on a single computer, the tool
reduces the amount of hardware required for testing.
 Monitors the application performance online, enabling you to fine-
tune your system during test execution.
 It automatically records the performance of the application during a
test. You can choose from a wide variety of graphs and reports to
view the performance data.
 Because the tests are fully automated, you can easily repeat them
as often as you need.
WHAT IS JMETER
 Apache JMeter is a GUI desktop application designed to
load test functional behavior and measure performance. It
was originally designed for testing Web Applications but
has since expanded to other test functions.
 Has a rich graphical interface
 Built in Java
 Part of Apache Jakarta project
 Can be distributed
 It can be used to simulate a heavy load on a server,
network or object to test its strength or to analyze overall
performance under different load types.
 Graphical Analysis / Exporting Test Results
 Remote Distributed Execution
 If you want to generate load using multiple test servers.
You can run multiple server components of JMeter
remotely. And you can control it by a single JMeter GUI
to gather results.
 http://jakarta.apache.org/jmeter/usermanual/remote-
test.html
 Highly Extensible
 Custom Additions (Write your own samplers / listeners)
 PlugIns
 Test plans stored in XML and can be version controlled.
Features of JMeter
What Can You Do With It?
 JMeter lets you set up test plans that simulate logging
into a web site, filling out forms, clicking buttons, links,
etc.
 You can simulate the number of users doing this, the
rate that they do it.
Setting Up and Running JMeter
 Download the binary from Jakarta
 http://jakarta.apache.org/jmeter/
 It’s platform independent, so the same download will run
on Windows, Linux, Mac.
 You need Java, with the JAVA_HOME environment
variable set.
 Uncomment SSL settings in jmeter.properties
 Unpack the zip or tar.gz and execute jmeter.bat or
jmeter.sh
JMeter Control Panel
Test Plan
 A complete test plan will consist of one or more
Thread Groups, logic controllers, samplers,
listeners, timers, assertions, and configuration
elements.
 Test Plans are represented as an Ordered
Tree.
Scoping Rules
 Some elements are primarily ordered (e.g.
controllers and samplers).
 Other elements are hierarchical. An Assertion,
for example, is hierarchical in the test tree. If its
parent is a request, then it is applied to that
request. If its parent is a Controller, then it
affects all requests that are descendants of that
Controller.
Elements of a Test Plan
 ThreadGroup
 Set the number of threads
 Set the ramp-up period
 Set the number of times to execute the test
 Samplers
 HTTP Request
 JDBC Request
 LDAP Request
 WebService (SOAP) Request
 Logic Controllers
 Simple Controller - The Simple Logic Controller lets you organize
your Samplers and other Logic Controllers
 Loop Controller
 Once Only Controller
 Interleave Controller
 Throughput Controller
 Others … (e.g. Transaction Controller)
 Listeners
 Simple Data Writer
 Graph Results
http://jakarta.apache.org/jmeter/usermanual/component_reference.html
Elements of a Test Plan
 Timers
 The timer will cause a delay between each request that a
thread makes.
 Assertions
 The ‘test’ of the response from the server
 Configuration Elements
 Sets default
 Pre-Processor / Post-Processor
Elements
http://jakarta.apache.org/jmeter/usermanual/component_reference.html
Execution Order
 Timers
 Pre-Processors
 Sampler
 Post-Processors
 Assertions
 Listeners
JMeter User Interface
The Test Plan Login Sequence
View Results Summary
View Results as Graph
An Example
 Saved fragments of Test Plans
 Login sequence
 Response assertions
 User agents
 Load cluster settings
Portal Performance Test A
Load cluster host names
Load test users
Do Login
Test Login
Generate next url based on tabs
Loop:
1. Visit tab 1
2. Visit tab 2
3. Visit tab 1
4. Visit tab 3
HTTP Proxy Recorder
 Workbench -> HTTP Proxy Server
 Cannot be used with over SSL
HTTP Proxy Recorder
 Configuring
FireFox to use the
Proxy
Tips
 Limit the Number of Threads
 Hardware will limit the number of threads you can effectively
run. A faster machine makes JMeter work harder since it returns
request quicker.
 User variables
 Create a text file containing the user names and passwords.
 Add a CSV DataSet configuration element. Name the variables
USER and PASS. Use ${USER} and ${PASS} within samplers.
 Reducing resource requirements
 Use non-GUI mode.
 Use as few Listeners as possible.
 Reduce samplers by looping (by thread and by controller), and
use variables (CSV Data Set) to vary the sample.
 Use CSV output rather than XML.

More Related Content

What's hot

Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
Garuda Trainings
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 
Types of performance testing
Types of performance testingTypes of performance testing
Types of performance testing
NaveenKumar Namachivayam
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
SWAAM Tech
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
iradari
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
Alex Galkin
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Kamran Khan
 
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 JMeter
Mikael Kundert
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
Manoj Shankaramanchi
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
Bhuvaneswari Subramani
 
Basic interview questions for manual testing
Basic interview questions for manual testingBasic interview questions for manual testing
Basic interview questions for manual testing
JYOTI RANJAN PAL
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
NaveenKumar Namachivayam
 
Performance testing
Performance testingPerformance testing
Performance testing
Ranpreet kaur
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Atul Pant
 

What's hot (20)

Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Types of performance testing
Types of performance testingTypes of performance testing
Types of performance testing
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
 
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
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Basic interview questions for manual testing
Basic interview questions for manual testingBasic interview questions for manual testing
Basic interview questions for manual testing
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
 

Similar to QSpiders - Introduction to JMeter

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
 
Application Performance, Test and Monitoring
Application Performance, Test and MonitoringApplication Performance, Test and Monitoring
Application Performance, Test and Monitoring
Dony Riyanto
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overviewkrishna chaitanya
 
4.3.application performance
4.3.application performance4.3.application performance
4.3.application performance
DrRajapraveenkN
 
Performance testing
Performance testing Performance testing
Performance testing
BugRaptors
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
PerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnerPerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnertechgajanan
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunnervladimir zaremba
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Performance testing
Performance testingPerformance testing
Performance testing
Chalana Kahandawala
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
Mindfire Solutions
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow RecentFuture 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 TFuture Simmons
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
ChinmayBrahma22
 
Performance Testing Terms
Performance Testing Terms Performance Testing Terms
Performance Testing Terms
Apica
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
Muhammad Shehata
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?
QA InfoTech
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
shaikmadarbi3zen
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 

Similar to QSpiders - Introduction to JMeter (20)

QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
Application Performance, Test and Monitoring
Application Performance, Test and MonitoringApplication Performance, Test and Monitoring
Application Performance, Test and Monitoring
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
 
4.3.application performance
4.3.application performance4.3.application performance
4.3.application performance
 
JMeter
JMeterJMeter
JMeter
 
Performance testing
Performance testing Performance testing
Performance testing
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
PerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnerPerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunner
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
 
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
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Performance Testing Terms
Performance Testing Terms Performance Testing Terms
Performance Testing Terms
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 

More from Qspiders - Software Testing Training Institute

QSpiders - Unix Operating Systems and Commands
QSpiders - Unix Operating Systems  and CommandsQSpiders - Unix Operating Systems  and Commands
QSpiders - Unix Operating Systems and Commands
Qspiders - Software Testing Training Institute
 
QSpiders - Variable Length-Subnet-Masks
QSpiders - Variable Length-Subnet-MasksQSpiders - Variable Length-Subnet-Masks
QSpiders - Variable Length-Subnet-Masks
Qspiders - Software Testing Training Institute
 
QSpiders - Upper layer-protocols
QSpiders - Upper layer-protocolsQSpiders - Upper layer-protocols
QSpiders - Upper layer-protocols
Qspiders - Software Testing Training Institute
 
QSpiders - Dod Model
QSpiders - Dod ModelQSpiders - Dod Model
QSpiders - Day1 Network Basics
QSpiders - Day1 Network BasicsQSpiders - Day1 Network Basics
QSpiders - Day1 Network Basics
Qspiders - Software Testing Training Institute
 
QSpiders - Aptitude Assignments
QSpiders - Aptitude AssignmentsQSpiders - Aptitude Assignments
QSpiders - Aptitude Assignments
Qspiders - Software Testing Training Institute
 
QSpiders - SQL (Data Base)
QSpiders - SQL (Data Base)QSpiders - SQL (Data Base)
QSpiders - Chapter 7 Debugging
QSpiders - Chapter 7 DebuggingQSpiders - Chapter 7 Debugging
QSpiders - Chapter 7 Debugging
Qspiders - Software Testing Training Institute
 
QSpiders - Chapter 4 Checkpoints
QSpiders - Chapter 4 CheckpointsQSpiders - Chapter 4 Checkpoints
QSpiders - Chapter 4 Checkpoints
Qspiders - Software Testing Training Institute
 
QSpiders - Simple Recording and Configuration of recording options for HP Loa...
QSpiders - Simple Recording and Configuration of recording options for HP Loa...QSpiders - Simple Recording and Configuration of recording options for HP Loa...
QSpiders - Simple Recording and Configuration of recording options for HP Loa...
Qspiders - Software Testing Training Institute
 
QSpiders - Wonderlic Sample Question
QSpiders - Wonderlic Sample QuestionQSpiders - Wonderlic Sample Question
QSpiders - Wonderlic Sample Question
Qspiders - Software Testing Training Institute
 
QSpiders - Chapter- 3 Synchronization point
QSpiders - Chapter- 3 Synchronization pointQSpiders - Chapter- 3 Synchronization point
QSpiders - Chapter- 3 Synchronization point
Qspiders - Software Testing Training Institute
 
QSpiders - Presentation JMeter
QSpiders - Presentation JMeterQSpiders - Presentation JMeter
QSpiders - Presentation JMeter
Qspiders - Software Testing Training Institute
 
QSpiders - Memory (JVM architecture)
QSpiders - Memory (JVM architecture)QSpiders - Memory (JVM architecture)
QSpiders - Memory (JVM architecture)
Qspiders - Software Testing Training Institute
 
QSpiders - Jdk Jvm Jre and Jit
QSpiders - Jdk Jvm Jre and JitQSpiders - Jdk Jvm Jre and Jit
QSpiders - Jdk Jvm Jre and Jit
Qspiders - Software Testing Training Institute
 
QSpiders - Simple replay and run time settings Loadrunner
QSpiders - Simple replay and run time settings LoadrunnerQSpiders - Simple replay and run time settings Loadrunner
QSpiders - Simple replay and run time settings Loadrunner
Qspiders - Software Testing Training Institute
 
QSpiders - Major difference
QSpiders - Major differenceQSpiders - Major difference
QSpiders - Interacting with My SQL Database
QSpiders - Interacting with My SQL DatabaseQSpiders - Interacting with My SQL Database
QSpiders - Interacting with My SQL Database
Qspiders - Software Testing Training Institute
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
Qspiders - Software Testing Training Institute
 
QSpiders - Server Architecture
QSpiders - Server ArchitectureQSpiders - Server Architecture
QSpiders - Server Architecture
Qspiders - Software Testing Training Institute
 

More from Qspiders - Software Testing Training Institute (20)

QSpiders - Unix Operating Systems and Commands
QSpiders - Unix Operating Systems  and CommandsQSpiders - Unix Operating Systems  and Commands
QSpiders - Unix Operating Systems and Commands
 
QSpiders - Variable Length-Subnet-Masks
QSpiders - Variable Length-Subnet-MasksQSpiders - Variable Length-Subnet-Masks
QSpiders - Variable Length-Subnet-Masks
 
QSpiders - Upper layer-protocols
QSpiders - Upper layer-protocolsQSpiders - Upper layer-protocols
QSpiders - Upper layer-protocols
 
QSpiders - Dod Model
QSpiders - Dod ModelQSpiders - Dod Model
QSpiders - Dod Model
 
QSpiders - Day1 Network Basics
QSpiders - Day1 Network BasicsQSpiders - Day1 Network Basics
QSpiders - Day1 Network Basics
 
QSpiders - Aptitude Assignments
QSpiders - Aptitude AssignmentsQSpiders - Aptitude Assignments
QSpiders - Aptitude Assignments
 
QSpiders - SQL (Data Base)
QSpiders - SQL (Data Base)QSpiders - SQL (Data Base)
QSpiders - SQL (Data Base)
 
QSpiders - Chapter 7 Debugging
QSpiders - Chapter 7 DebuggingQSpiders - Chapter 7 Debugging
QSpiders - Chapter 7 Debugging
 
QSpiders - Chapter 4 Checkpoints
QSpiders - Chapter 4 CheckpointsQSpiders - Chapter 4 Checkpoints
QSpiders - Chapter 4 Checkpoints
 
QSpiders - Simple Recording and Configuration of recording options for HP Loa...
QSpiders - Simple Recording and Configuration of recording options for HP Loa...QSpiders - Simple Recording and Configuration of recording options for HP Loa...
QSpiders - Simple Recording and Configuration of recording options for HP Loa...
 
QSpiders - Wonderlic Sample Question
QSpiders - Wonderlic Sample QuestionQSpiders - Wonderlic Sample Question
QSpiders - Wonderlic Sample Question
 
QSpiders - Chapter- 3 Synchronization point
QSpiders - Chapter- 3 Synchronization pointQSpiders - Chapter- 3 Synchronization point
QSpiders - Chapter- 3 Synchronization point
 
QSpiders - Presentation JMeter
QSpiders - Presentation JMeterQSpiders - Presentation JMeter
QSpiders - Presentation JMeter
 
QSpiders - Memory (JVM architecture)
QSpiders - Memory (JVM architecture)QSpiders - Memory (JVM architecture)
QSpiders - Memory (JVM architecture)
 
QSpiders - Jdk Jvm Jre and Jit
QSpiders - Jdk Jvm Jre and JitQSpiders - Jdk Jvm Jre and Jit
QSpiders - Jdk Jvm Jre and Jit
 
QSpiders - Simple replay and run time settings Loadrunner
QSpiders - Simple replay and run time settings LoadrunnerQSpiders - Simple replay and run time settings Loadrunner
QSpiders - Simple replay and run time settings Loadrunner
 
QSpiders - Major difference
QSpiders - Major differenceQSpiders - Major difference
QSpiders - Major difference
 
QSpiders - Interacting with My SQL Database
QSpiders - Interacting with My SQL DatabaseQSpiders - Interacting with My SQL Database
QSpiders - Interacting with My SQL Database
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
QSpiders - Server Architecture
QSpiders - Server ArchitectureQSpiders - Server Architecture
QSpiders - Server Architecture
 

Recently uploaded

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 

Recently uploaded (20)

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 

QSpiders - Introduction to JMeter

  • 2. INTRODUCTION TO PERFORMANCE TESTING Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. Before going into the details, we should understand the factors that governs Performance testing: Throughput Response Time Tuning Benchmarking
  • 3. THROUGHPUT Capability of a product to handle multiple transactions in a given period. Throughput represents the number of requests/business transactions processed by the product in a specified time duration. As the number of concurrent users increase, the throughput increases almost linearly with the number of requests. As there is very little congestion within the Application Server system queues.
  • 4. THROUGHPUT In the heavy load zone or Section B, as the concurrent client load increases, throughput remains relatively constant. In Section C (the buckle zone) one or more of the system components have become exhausted and throughput starts to degrade. For example, the system might enter the buckle zone when the network connections at the Web server exhaust the limits of the network adapter or if the requests exceed operating system limits for file handles.
  • 5. RESPONSE TIME It is equally important to find out how much time each of the transactions took to complete. Response time is defined as the delay between the point of request and the first response from the product. The response time increases proportionally to the user load.
  • 6. TUNING Tuning is the procedure by which product performance is enhanced by setting different values to the parameters of the product, operating system and other components. Tuning improves the product performance without having to touch the source code of the product.
  • 7. BENCHMARKING A very well-improved performance of a product makes no business sense if that performance does not match up to the competitive products. A careful analysis is needed to chalk out the list of transactions to be compared across products so that an apple-apple comparison becomes possible.
  • 8. PERFORMANCE TESTING- DEFINITION The testing to evaluate the response time (speed), throughput and utilization of system to execute its required functions in comparison with different versions of the same product or a different competitive product is called Performance Testing. Performance testing is done to derive benchmark numbers for the system. Heavy load is not applied to the system Tuning is performed until the system under test achieves the expected levels of performance.
  • 9. DIFFERENCE BETWEEN PERFORMANCE, LOAD AND STRESS TESTING Load Testing Process of exercising the system under test by feeding it the largest tasks it can operate with. Constantly increasing the load on the system via automated tools to simulate real time scenario with virtual users. Examples: Testing a word processor by editing a very large document. For Web Application load is defined in terms of concurrent users or HTTP connections.
  • 10. DIFFERENCE BETWEEN PERFORMANCE, LOAD AND STRESS TESTING Stress Testing Trying to break the system under test by overwhelming its resources or by taking resources away from it. Purpose is to make sure that the system fails and recovers gracefully. Example: Double the baseline number for concurrent users/HTTP connections. Randomly shut down and restart ports on the network switches/routers that connects servers.
  • 11. WHY PERFORMANCE TESTING? The week of Feb 6, 2000: Hackers delivered over 1-Billion transactions concurrently to each one of these sites.  Yahoo  eBay  Buy.com  Amazon  eTrade How did you think they performed ?
  • 12. Identifies problems early on before they become costly to resolve. Reduces development cycles. Produces better quality, more scalable code. Prevents revenue and credibility loss due to poor Web site performance. Enables intelligent planning for future expansion. To ensure that the system meets performance expectations such as response time, throughput etc. under given levels of load. Expose bugs that do not surface in cursory testing, such as memory management bugs, memory leaks, buffer overflows, etc. WHY PERFORMANCE TESTING
  • 13. WHEN IS IT REQUIRED? Design Phase: Pages containing lots of images and multimedia for reasonable wait times. Heavy loads are less important than knowing which types of content cause slowdowns. Development Phase: To check results of individual pages and processes, looking for breaking points, unnecessary code and bottlenecks. Deployment Phase: To identify the minimum hardware and software requirements for the application.
  • 14. WHAT SHOULD BE TESTED? High frequency transactions: The most frequently used transactions have the potential to impact the performance of all of the other transactions if they are not efficient. Mission Critical transactions: The more important transactions that facilitate the core objectives of the system should be included, as failure under load of these transactions has, by definition, the greatest impact. Read Transactions: At least one READ ONLY transaction should be included, so that performance of such transactions can be differentiated from other more complex transactions. Update Transactions: At least one update transaction should be included so that performance of such transactions can be differentiated from other transactions.
  • 16. Determine the performance testing objectives Describe the application to test using a application model 1.Describe the Hardware environment 2.Create a Benchmark (Agenda) to be recorded in Phase 2. A.Define what tasks each user will perform B.Define (or estimate) the percentage of users per task. 1.Planning
  • 17. Record Record the defined testing activities that will be used as a foundation for your load test scripts. One activity per task or multiple activities depending on user task definition Modify Modify load test scripts defined by recorder to reflect more realistic Load test simulations. Defining the project, users Randomize parameters (Data, times, environment) Randomize user activities that occur during the load test 3.Modify2.Record1.Planning
  • 18. Virtual Users (VUs): Test Goals Start: 5 Max Response Time <= 20 Sec Incremented by: 5 Maximum: 200 Think Time: 5 sec Test Script: One typical user from login through completion. 4. Execute
  • 19. Monitoring the scenario: We monitor scenario execution using the various online runtime monitors. Analysing test results: During scenario execution, the tool records the performance of the application under different loads. We use the graphs and reports to analyse the application’s performance. 6.Analyze5.Monitor
  • 20. LOAD TEST CONFIGURATION FOR A WEB SYSTEM
  • 21. LOAD TEST PLANNING Why Planning Analysing the Application Defining Testing Objectives Gathering Requirements Load Test Checklist Practice Questions
  • 22. WHY PLANNING • As in any type of system testing, a well-defined test plan is the first essential step to successful testing. Planning load testing helps to:  Build test scenarios that accurately emulate your working environment: Load testing means testing the application under typical working conditions, and checking for system performance, reliability, capacity, and so forth.  Understand which resources are required for testing: Application testing requires hardware, software, and human resources. Before beginning testing, we should know which resources are available and decide how to use them effectively.  Define success criteria in measurable terms: Focused testing goals and test criteria ensure successful testing. For example, it’s not enough to define vague objectives like “Check server response time under heavy load.” A more focused success criterion would be “Check that 50 customers can check their account balance simultaneously & that server response time will not exceed 1- minute”
  • 23. WHY PLANNING Load test planning is a three-step process: Analyzing the Application • Analysis ensures that the testing environment we create using Load Runner will accurately reflect the environment and configuration of the application under test. Defining Testing Objectives • Before testing, we should define exactly what we want to accomplish. Gathering Requirements • All the requirements and resources should be evaluated and collected beforehand to avoid any last minute hurdles.
  • 24. ANALYZING THE APPLICATION Load testing does not require as much knowledge of the application as functional testing does. Load tester should have some operational knowledge of the application to be tested. Load tester should have the idea on how the application is actually used in production to make an informed estimate. Load tester must know the application architecture (Client Server, Local Deployment, Live URL), Platform and Database used.
  • 25. DEFINING TESTING OBJECTIVES Determining and recording performance testing objectives involves communicating with the team to establish and update these objectives as the project advances through milestones Performance, Load or Stress testing: Type and scope of testing should be clear as each type of testing has different requirements. Goal Setting: General load testing objectives should be defined.
  • 26. DEFINING TESTING OBJECTIVES Common Objectives: Measuring end-user response time Defining optimal hardware configuration Checking reliability Assist the development team in determining the performance characteristics for various configuration options Ensure that the new production hardware is no slower than the previous release Provide input data for scalability and capacity-planning efforts Determine if the application is ready for deployment to production Detect bottlenecks to be tuned
  • 27. DEFINING TESTING OBJECTIVES Stating Objectives in Measurable Terms:  Once you decide on your general load testing objectives, you should identify more focused goals by stating your objectives in measurable terms.  To provide a baseline for evaluation, determine exactly what constitutes acceptable and unacceptable test results.  For example: General Objective: • Product Evaluation: choose hardware for the Web server. Focused Objective: • Product Evaluation: run the same group of 300 virtual users on two different servers, HP and NEC. When all 300 users simultaneously browse the pages of your Web application, determine which hardware gives a better response time.
  • 28. GATHERING REQUIREMENTS Users: Identify all the types of people and processes that can put load on the application or system. Defining the types of primary end users of the application or system such as purchasers, claims processors, and sales reps Add other types of users such as system administrators, managers, and report readers who use the application or system but are not the primary users. Add types of non-human users such as batch processes, system backups, bulk data loads and anything else that may add load or consume system resources. Transactions: For each type of user we identified in the previous step, identify the tasks that the user performs. Production Environment: Performance and capacity of an application is significantly affected by the hardware and software components on which it executes.
  • 29. GATHERING REQUIREMENTS Production Environment: Speed, capacity, IP address and name, version numbers and other significant information. Test Environment: Should be similar to the production environment as is possible to be able to get meaningful performance results. It is important that the databases be set up with the same amount of data in the same proportions as the production environment as that can substantially affect the performance. Scenarios: Select the use cases to include Determine how many instances of each use case will run concurrently Determine how often the use cases will execute per hour Select the test environment
  • 30. GATHERING REQUIREMENTS Load test Tool: Ability to parameterize data. Ability to capture dynamic data and use on subsequent requests. Application infrastructure monitoring. Support for the application's protocols Load test Lab must include the following: Test Servers. Databases. Network elements, operating systems and clients and server hardware.
  • 31. LOAD TEST CHECK LIST Planning Objective goals defined Test plan written and reviewed Staff Skills Experience in load testing Application knowledge Systems knowledge Communication and people skills Support Staff Key staff identified and allocated Load Test Lab Test servers allocated Databases populated Load test tools allocated
  • 32. LOAD TESTING TOOLS Manual testing Limitations Benefits of Automation Tools used for Performance Testing Practice Questions
  • 33. MANUAL TESTING LIMITATIONS Testers Load Generation System Under Test Do you have the testing resources? • Testing personnel • Client machines How do you coordinate and synchronize users? How do you collect and analyze results? How do you achieve test repeatability? Analysis? All of you, click the GO button again Web server Database server Coordinator
  • 34. MANUAL TESTING LIMITATIONS Manual Testing Limitations  Expensive, requiring large amounts of both personnel and machinery.  Complicated, especially co-ordinating and synchronising multiple testers  Involves a high degree of organization, especially to record and analyse results meaningfully  Repeatability of the manual tests is limited.
  • 35. BENEFITS OF AUTOMATION Load Generation System Under Test Web server Database server Vuser host • Controller manages the virtual users • Analyze results with graphs and reports • Replaces testers with virtual users Solves the resource limitations • Runs many Vusers on a few machinesAnalysis Controller
  • 36. BENEFITS OF AUTOMATION Using Automated Tools  Reduces personnel requirements by replacing human users with virtual users or Vusers. These Vusers emulate the behaviour of real users  Because numerous Vusers can run on a single computer, the tool reduces the amount of hardware required for testing.  Monitors the application performance online, enabling you to fine- tune your system during test execution.  It automatically records the performance of the application during a test. You can choose from a wide variety of graphs and reports to view the performance data.  Because the tests are fully automated, you can easily repeat them as often as you need.
  • 37. WHAT IS JMETER  Apache JMeter is a GUI desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.  Has a rich graphical interface  Built in Java  Part of Apache Jakarta project  Can be distributed  It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.
  • 38.  Graphical Analysis / Exporting Test Results  Remote Distributed Execution  If you want to generate load using multiple test servers. You can run multiple server components of JMeter remotely. And you can control it by a single JMeter GUI to gather results.  http://jakarta.apache.org/jmeter/usermanual/remote- test.html  Highly Extensible  Custom Additions (Write your own samplers / listeners)  PlugIns  Test plans stored in XML and can be version controlled. Features of JMeter
  • 39. What Can You Do With It?  JMeter lets you set up test plans that simulate logging into a web site, filling out forms, clicking buttons, links, etc.  You can simulate the number of users doing this, the rate that they do it.
  • 40. Setting Up and Running JMeter  Download the binary from Jakarta  http://jakarta.apache.org/jmeter/  It’s platform independent, so the same download will run on Windows, Linux, Mac.  You need Java, with the JAVA_HOME environment variable set.  Uncomment SSL settings in jmeter.properties  Unpack the zip or tar.gz and execute jmeter.bat or jmeter.sh
  • 42. Test Plan  A complete test plan will consist of one or more Thread Groups, logic controllers, samplers, listeners, timers, assertions, and configuration elements.  Test Plans are represented as an Ordered Tree.
  • 43.
  • 44. Scoping Rules  Some elements are primarily ordered (e.g. controllers and samplers).  Other elements are hierarchical. An Assertion, for example, is hierarchical in the test tree. If its parent is a request, then it is applied to that request. If its parent is a Controller, then it affects all requests that are descendants of that Controller.
  • 45.
  • 46. Elements of a Test Plan  ThreadGroup  Set the number of threads  Set the ramp-up period  Set the number of times to execute the test  Samplers  HTTP Request  JDBC Request  LDAP Request  WebService (SOAP) Request  Logic Controllers  Simple Controller - The Simple Logic Controller lets you organize your Samplers and other Logic Controllers  Loop Controller  Once Only Controller  Interleave Controller  Throughput Controller  Others … (e.g. Transaction Controller)  Listeners  Simple Data Writer  Graph Results http://jakarta.apache.org/jmeter/usermanual/component_reference.html
  • 47. Elements of a Test Plan  Timers  The timer will cause a delay between each request that a thread makes.  Assertions  The ‘test’ of the response from the server  Configuration Elements  Sets default  Pre-Processor / Post-Processor Elements http://jakarta.apache.org/jmeter/usermanual/component_reference.html
  • 48. Execution Order  Timers  Pre-Processors  Sampler  Post-Processors  Assertions  Listeners
  • 49. JMeter User Interface The Test Plan Login Sequence
  • 52. An Example  Saved fragments of Test Plans  Login sequence  Response assertions  User agents  Load cluster settings
  • 53. Portal Performance Test A Load cluster host names Load test users Do Login Test Login Generate next url based on tabs Loop: 1. Visit tab 1 2. Visit tab 2 3. Visit tab 1 4. Visit tab 3
  • 54. HTTP Proxy Recorder  Workbench -> HTTP Proxy Server  Cannot be used with over SSL
  • 55. HTTP Proxy Recorder  Configuring FireFox to use the Proxy
  • 56. Tips  Limit the Number of Threads  Hardware will limit the number of threads you can effectively run. A faster machine makes JMeter work harder since it returns request quicker.  User variables  Create a text file containing the user names and passwords.  Add a CSV DataSet configuration element. Name the variables USER and PASS. Use ${USER} and ${PASS} within samplers.  Reducing resource requirements  Use non-GUI mode.  Use as few Listeners as possible.  Reduce samplers by looping (by thread and by controller), and use variables (CSV Data Set) to vary the sample.  Use CSV output rather than XML.

Editor's Notes

  1. Labels
  2. Slide for email
  3. Labels: Excel
  4. Labels Outlook
  5. Labels/new list
  6. Excel-Email
  7. Outlook Email
  8. CSV Email
  9. Email Type