SlideShare a Scribd company logo
An Introduction to
Performance Testing
Richard Bishop
Trust IV Ltd
• This session aims to:
• Explain what performance testing is
….and why it is so important
• Explain performance test terminology
• Help you to understand the performance testing process
Objectives
• The process of executing a procedure or program or system with
the intent of finding errors.
• Should be part of all phases of SDLC.
What is Software Testing?
• Unit testing is the phase of software testing in which individual
units of source code are tested to determine whether they
are fit for use.
• Integration testing is the phase of software testing in
which individual software units are combined and
tested as a group.
• System testing of software or hardware is testing
conducted on a complete, integrated system to
evaluate the system's compliance with its specified
requirements.
Performance testing is appropriate in all of these test phases.
Just doing it at the end of the lifecycle causes problems.
Some Testing definitions
• Functional Testing
• Usually done first, to test application functionality not
performance.
• Very Comprehensive! Tries to cover all aspects of a
system/application.
• Tests at the Presentation Layer or user Interface (UI) level.
• Performance Testing
• Once the application passes functional testing, it is generally
submitted for performance testing
• During this process, the system/application is stressed to see how
well it performs when used by many users simultaneously
• Usually tests at the Protocol or Middleware level although more
modern techniques test at the UI.
Comparing Functional & Performance Testing
Comparing Functional & Performance Testing
Functional Testing Performance Testing
1
Tests the application’s
user interface, usability, and front-end
functionality
Does not test the application’s front-end
functionality
2
Does not test an application’s scalability or
resource usage
Tests an application’s scalability and monitors
resource usage
3
Can not determine how an application/system
will perform over time
Designed to determine how an
application/system will perform over time
4 Does not require a fully-functional application
Requires a fully-functional application for given
scenarios
5 One user Multiple users
• Quantification of risk
• Determine likelihood that application performance will meet the
business SLA’s
• Does not mitigate risk directly, but through identification and
quantification of risk, presents tuning opportunities
• Validation of application infrastructure
• Determine if the deployment environment is adequately sized for
the application to meet business SLA’s.
• Minimize extraneous hardware, software and the associated cost
of ownership
What is the Purpose of a Performance Test?
• How the application's response time changes if you increase
or decrease the number of users/transactions.
• How many users/transactions can simultaneously work with
the application without a perceptible slowdown.
• What load can crash the application.
• How hardware and software changes affect application
performance.
Performance Testing Helps to Determine
When Should You Consider Performance?
Production phase
What are the reasons
for degradations in
system performance? Deployment phase
Is the system reliable enough
to go into production?
Development phase
Does the system response
time meet SLA requirements?
Planning and Design phase
What is the best configuration to support
1000 users?Forecasting
How many users can
be added without
affecting system
performance?
At Every
Phase!
Why Consider Performance at Every Phase?
Because the cost of fixing software defects is much higher the later
they occur in the software development life cycle
£0
£1,000
£5,000
£125,000
Design Coding Unit Integration System Release to
production
Maintenance
£25,000
Why Performance Matters
0
1
2
3
4
5
6
7
8
9
1999 2003 2006 2009 2012
Acceptable Response Time (s)
“1 second” is the new “4 seconds”
• Validate the application to determine if it fulfills its performance goal or targets
• Identify the point at which the load becomes so great that the application fails
to meet performance requirements
• Determine if the application will support typical (normal) production load
conditions
• Tune the application for maximum performance by identifying the optimal
system configuration
• Reduce hardware / SaaS platform costs
• Locate bottlenecks including those in I/O, server, network, and database
Performance Testing Objectives
Application infrastructure
Web Servers
App Servers
DB Servers
External Users
Internal Users
Bad SQL
Slow Methods
Capacity limits
Contention Issues
WAN Sensitivity
Slow transactions
Performance Testing helps Identify
Configuration Issues
• Baseline
• Load
• Stress
• Soak
• Isolation
• Configuration
Basic types of Performance Test
http://en.wikipedia.org/wiki/Software_performance_testing
Types of performance test
0
20
40
60
80
100
120
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
“Normal” Load Profile
Ave load Peak load Typical test
0
20
40
60
80
100
120
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
“Soak Test” Load Profile
Ave load Peak load Soak test
“Normal” load profile
Common in performance tests
Soak test
Useful for identifying problems
which occur over time
Types of performance test
0
20
40
60
80
100
120
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
Load Profile
Ave load Peak load Spike test
0
50
100
150
200
250
300
350
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
Load Profile
Ave load Peak load Break test
“Stress/Break” test
Commonly requested
“Spike” test
Commonly requested
• 1 user for a set period of time or number of iterations
e.g. to determine pacing / think time
• A test at “normal load” to establish a baseline
for comparison with future tests
e.g. higher load or under different conditions
Baseline Test
Response time – 1 CPU 4GB RAM
Response time – 2 CPU 4GB RAM
• The “Classic” performance test
• Validates the system/application to determine if it meets the performance
targets.
• Provide information that will assist in performance tuning under various
workload conditions, hardware configurations, and database sizes
Load Test
• Helps identify key performance
data such as:
• Capacity
• Latency
• Response time
• Throughput
• Memory Management
SLA
Number of users
ResponseTime
Typically response time increase as virtual user numbers increase
1
10
20
25
10 50 100 200 500 1000 2000
5
15
30
35
40 Response Time
Load Test
• Identifies capacity limits of the system/application or infrastructure
• Identifies potential problems before going live
• Determines whether app can provide acceptable response times and
throughput under extreme conditions
Stress/Break Test
0
50
100
150
200
250
300
350
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
Load Profile
Ave load Peak load Break test
• Long Running test, identifies problems over time
– Test usually (not always) involves multiple business transactions
• Measures performance and efficiency of the system
(hardware and software) to:
– determine acceptable performance under load
– identify time-related problems such as memory leaks.
Soak Test
• Repeating a test which was known to cause a fault/defect.
• Used to “home in” on problems revealed by other forms of
performance testing. e.g. deadlocks, problems with specific test data
• May involve repetition of a load, stress or soak test scenario to point of
failure.
• Repeat test whilst changing code / application configuration until defect
can be closed.
Isolation Test
Used to determine optimum settings for configuration items such as:
• Load balancing
• Connection pool allocation
• Web, Mid-tier and Database configuration
• Common in “new build” projects
Configuration Test
Preparation
• Planning & requirements capture
• Determine realistic performance testing goals
• Prepare testing environment
• Prepare test data
• Identify performance testing use cases
• Capture, modify and validate use cases as scripts / scenarios
Performance Testing Process
Execution and Analysis
• Prepare environment / test data
• Execute performance test(s)
• Monitor impact of load on servers/database/networks
• Analyze results
• Submit defects
• System tuning
• Repeat execution and analysis process until
performance testing goals met.
It is nearly impossible to effectively performance test without automation!
• Manual testing is not manageable!
• Manual testing is not repeatable!
• Manual testing is not accurate!
Automated Testing Tools
Manual Automated

• Performance testing is very difficult without one
• Performance testing without a tool relies on hardware and personnel to
generate load, generally with wildly inaccurate results.
• Without automation the final test reports may be unreliable..
• User responses collected and compiled into a report may contain as
much human error as real data.
• The cost of repeating a 'manual' test is equal to cost of the first test.
When using a performance testing tool, costs go down as you repeat
your tests.
Benefits of an Automated Performance Testing Tool
• Most automated performance testing tools including LoadRunner
have the following components:
• Script Recorder (VuGen)
• Load Injector / Load Generator (Load Agents)
• Test Configuration and Management (Controller)
• Performance Monitor (Controller & other components)
• Analysis
How do Automated Performance Testing Tools Work?
Test Configuration
Client Network
AUT
HTTP
80/443
HTTP
80/443
Listener
443
8080
Controller
LG(s)
HTTP
80/443
LG(s)
Records end-user activity and generates transaction scripts.
Application Infrastructure
Web Servers
App Servers
DB Servers
End- User
HTTP – XML – SAP
Script Recorder
Script Recorder - VuGen
Generates a realistic application load, based on scripts and test parameters
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Load Generator aka. Injector
Load Generator
Load Generators can be local or remote
Options to place on AWS, Azure or HP Helion
Can also place on remote sites behind firewalls
• Mimics client behavior:
• Submits multiple requests to the AUT
• Waits for a period of time after the site sends a reply to the
request (think time) then submits a new request
• Can emulate thousands of concurrent users (virtual users) to test the
application scalability
How does a Load Injector work?
• Virtual User (VUs) mimic the behavior of a real user
• A performance test is valid only if a virtual users' behavior has
characteristics similar to those of actual users:
• Follow patterns similar to real users
• Use realistic think times
Test Configuration and Management
Test Controller manages the performance test and “controls” the action of load generators
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Test
Control
Capture server and network performance metrics
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Performance Monitor(s)
Performance Monitor(s)
Post-test analysis of results
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Analyzing
Data
Analysis Module
Analysis Module
Sample Report
Questions / Wrap up
• Want to have a go?
LoadRunner downloads and getting started guide
https://support.trustiv.co.uk/downloads/
• Want to learn more?
http://blog.trustiv.co.uk/
http://www.perfbytes.com/
http://alexanderpodelko.com/blog/
http://mtomlins.blogspot.co.uk/
http://www.developsense.com/
• Get in touch
@richardbishop
@TrustIV
richard.bishop@trustiv.co.uk
+44 (0) 7590 290646
Ad

More Related Content

What's hot (20)

Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Tharinda Liyanage
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
Selin Gungor
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
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
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
NexThoughts Technologies
 
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 Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
Atul Pant
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
sonukalpana
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
KostCare
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
Qualitest
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
Atul Pant
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
Mikael Kundert
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Jmeter Walkthrough
Jmeter WalkthroughJmeter Walkthrough
Jmeter Walkthrough
Bhuvaneswari Subramani
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
Atul Pant
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
silenceIT Inc.
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Tharinda Liyanage
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
Selin Gungor
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 
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 Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
Atul Pant
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
sonukalpana
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
KostCare
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
Qualitest
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
Atul Pant
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
Mikael Kundert
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
Atul Pant
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
silenceIT Inc.
 

Similar to Introduction to performance testing (20)

Performance testing
Performance testingPerformance testing
Performance testing
Chalana Kahandawala
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
JMeter
JMeterJMeter
JMeter
Md Samsul Kabir
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
Anu Shaji
 
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
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training
Chris Scofield
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
HP LoadRunner
HP LoadRunnerHP LoadRunner
HP LoadRunner
Fayis-QA
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
Murageppa-QA
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
Bhojan Rajan
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
Ajay Mani Paudel
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
ANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Sachin-QA
 
08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt
pspc139
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
MAshok10
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
Anu Shaji
 
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
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training
Chris Scofield
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
HP LoadRunner
HP LoadRunnerHP LoadRunner
HP LoadRunner
Fayis-QA
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
Bhojan Rajan
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
ANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Sachin-QA
 
08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt
pspc139
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
MAshok10
 
Ad

Recently uploaded (20)

Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Ad

Introduction to performance testing

  • 1. An Introduction to Performance Testing Richard Bishop Trust IV Ltd
  • 2. • This session aims to: • Explain what performance testing is ….and why it is so important • Explain performance test terminology • Help you to understand the performance testing process Objectives
  • 3. • The process of executing a procedure or program or system with the intent of finding errors. • Should be part of all phases of SDLC. What is Software Testing?
  • 4. • Unit testing is the phase of software testing in which individual units of source code are tested to determine whether they are fit for use. • Integration testing is the phase of software testing in which individual software units are combined and tested as a group. • System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. Performance testing is appropriate in all of these test phases. Just doing it at the end of the lifecycle causes problems. Some Testing definitions
  • 5. • Functional Testing • Usually done first, to test application functionality not performance. • Very Comprehensive! Tries to cover all aspects of a system/application. • Tests at the Presentation Layer or user Interface (UI) level. • Performance Testing • Once the application passes functional testing, it is generally submitted for performance testing • During this process, the system/application is stressed to see how well it performs when used by many users simultaneously • Usually tests at the Protocol or Middleware level although more modern techniques test at the UI. Comparing Functional & Performance Testing
  • 6. Comparing Functional & Performance Testing Functional Testing Performance Testing 1 Tests the application’s user interface, usability, and front-end functionality Does not test the application’s front-end functionality 2 Does not test an application’s scalability or resource usage Tests an application’s scalability and monitors resource usage 3 Can not determine how an application/system will perform over time Designed to determine how an application/system will perform over time 4 Does not require a fully-functional application Requires a fully-functional application for given scenarios 5 One user Multiple users
  • 7. • Quantification of risk • Determine likelihood that application performance will meet the business SLA’s • Does not mitigate risk directly, but through identification and quantification of risk, presents tuning opportunities • Validation of application infrastructure • Determine if the deployment environment is adequately sized for the application to meet business SLA’s. • Minimize extraneous hardware, software and the associated cost of ownership What is the Purpose of a Performance Test?
  • 8. • How the application's response time changes if you increase or decrease the number of users/transactions. • How many users/transactions can simultaneously work with the application without a perceptible slowdown. • What load can crash the application. • How hardware and software changes affect application performance. Performance Testing Helps to Determine
  • 9. When Should You Consider Performance? Production phase What are the reasons for degradations in system performance? Deployment phase Is the system reliable enough to go into production? Development phase Does the system response time meet SLA requirements? Planning and Design phase What is the best configuration to support 1000 users?Forecasting How many users can be added without affecting system performance? At Every Phase!
  • 10. Why Consider Performance at Every Phase? Because the cost of fixing software defects is much higher the later they occur in the software development life cycle £0 £1,000 £5,000 £125,000 Design Coding Unit Integration System Release to production Maintenance £25,000
  • 11. Why Performance Matters 0 1 2 3 4 5 6 7 8 9 1999 2003 2006 2009 2012 Acceptable Response Time (s) “1 second” is the new “4 seconds”
  • 12. • Validate the application to determine if it fulfills its performance goal or targets • Identify the point at which the load becomes so great that the application fails to meet performance requirements • Determine if the application will support typical (normal) production load conditions • Tune the application for maximum performance by identifying the optimal system configuration • Reduce hardware / SaaS platform costs • Locate bottlenecks including those in I/O, server, network, and database Performance Testing Objectives
  • 13. Application infrastructure Web Servers App Servers DB Servers External Users Internal Users Bad SQL Slow Methods Capacity limits Contention Issues WAN Sensitivity Slow transactions Performance Testing helps Identify Configuration Issues
  • 14. • Baseline • Load • Stress • Soak • Isolation • Configuration Basic types of Performance Test http://en.wikipedia.org/wiki/Software_performance_testing
  • 15. Types of performance test 0 20 40 60 80 100 120 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time “Normal” Load Profile Ave load Peak load Typical test 0 20 40 60 80 100 120 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time “Soak Test” Load Profile Ave load Peak load Soak test “Normal” load profile Common in performance tests Soak test Useful for identifying problems which occur over time
  • 16. Types of performance test 0 20 40 60 80 100 120 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time Load Profile Ave load Peak load Spike test 0 50 100 150 200 250 300 350 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time Load Profile Ave load Peak load Break test “Stress/Break” test Commonly requested “Spike” test Commonly requested
  • 17. • 1 user for a set period of time or number of iterations e.g. to determine pacing / think time • A test at “normal load” to establish a baseline for comparison with future tests e.g. higher load or under different conditions Baseline Test Response time – 1 CPU 4GB RAM Response time – 2 CPU 4GB RAM
  • 18. • The “Classic” performance test • Validates the system/application to determine if it meets the performance targets. • Provide information that will assist in performance tuning under various workload conditions, hardware configurations, and database sizes Load Test • Helps identify key performance data such as: • Capacity • Latency • Response time • Throughput • Memory Management
  • 19. SLA Number of users ResponseTime Typically response time increase as virtual user numbers increase 1 10 20 25 10 50 100 200 500 1000 2000 5 15 30 35 40 Response Time Load Test
  • 20. • Identifies capacity limits of the system/application or infrastructure • Identifies potential problems before going live • Determines whether app can provide acceptable response times and throughput under extreme conditions Stress/Break Test 0 50 100 150 200 250 300 350 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time Load Profile Ave load Peak load Break test
  • 21. • Long Running test, identifies problems over time – Test usually (not always) involves multiple business transactions • Measures performance and efficiency of the system (hardware and software) to: – determine acceptable performance under load – identify time-related problems such as memory leaks. Soak Test
  • 22. • Repeating a test which was known to cause a fault/defect. • Used to “home in” on problems revealed by other forms of performance testing. e.g. deadlocks, problems with specific test data • May involve repetition of a load, stress or soak test scenario to point of failure. • Repeat test whilst changing code / application configuration until defect can be closed. Isolation Test
  • 23. Used to determine optimum settings for configuration items such as: • Load balancing • Connection pool allocation • Web, Mid-tier and Database configuration • Common in “new build” projects Configuration Test
  • 24. Preparation • Planning & requirements capture • Determine realistic performance testing goals • Prepare testing environment • Prepare test data • Identify performance testing use cases • Capture, modify and validate use cases as scripts / scenarios Performance Testing Process Execution and Analysis • Prepare environment / test data • Execute performance test(s) • Monitor impact of load on servers/database/networks • Analyze results • Submit defects • System tuning • Repeat execution and analysis process until performance testing goals met.
  • 25. It is nearly impossible to effectively performance test without automation! • Manual testing is not manageable! • Manual testing is not repeatable! • Manual testing is not accurate! Automated Testing Tools Manual Automated 
  • 26. • Performance testing is very difficult without one • Performance testing without a tool relies on hardware and personnel to generate load, generally with wildly inaccurate results. • Without automation the final test reports may be unreliable.. • User responses collected and compiled into a report may contain as much human error as real data. • The cost of repeating a 'manual' test is equal to cost of the first test. When using a performance testing tool, costs go down as you repeat your tests. Benefits of an Automated Performance Testing Tool
  • 27. • Most automated performance testing tools including LoadRunner have the following components: • Script Recorder (VuGen) • Load Injector / Load Generator (Load Agents) • Test Configuration and Management (Controller) • Performance Monitor (Controller & other components) • Analysis How do Automated Performance Testing Tools Work?
  • 29. Records end-user activity and generates transaction scripts. Application Infrastructure Web Servers App Servers DB Servers End- User HTTP – XML – SAP Script Recorder
  • 31. Generates a realistic application load, based on scripts and test parameters Application Infrastructure Web Servers App Servers DB Servers Generated Load Load Generator aka. Injector
  • 32. Load Generator Load Generators can be local or remote Options to place on AWS, Azure or HP Helion Can also place on remote sites behind firewalls
  • 33. • Mimics client behavior: • Submits multiple requests to the AUT • Waits for a period of time after the site sends a reply to the request (think time) then submits a new request • Can emulate thousands of concurrent users (virtual users) to test the application scalability How does a Load Injector work? • Virtual User (VUs) mimic the behavior of a real user • A performance test is valid only if a virtual users' behavior has characteristics similar to those of actual users: • Follow patterns similar to real users • Use realistic think times
  • 34. Test Configuration and Management Test Controller manages the performance test and “controls” the action of load generators Application Infrastructure Web Servers App Servers DB Servers Generated Load Test Control
  • 35. Capture server and network performance metrics Application Infrastructure Web Servers App Servers DB Servers Generated Load Performance Monitor(s)
  • 37. Post-test analysis of results Application Infrastructure Web Servers App Servers DB Servers Generated Load Analyzing Data Analysis Module
  • 40. Questions / Wrap up • Want to have a go? LoadRunner downloads and getting started guide https://support.trustiv.co.uk/downloads/ • Want to learn more? http://blog.trustiv.co.uk/ http://www.perfbytes.com/ http://alexanderpodelko.com/blog/ http://mtomlins.blogspot.co.uk/ http://www.developsense.com/ • Get in touch @richardbishop @TrustIV [email protected] +44 (0) 7590 290646