SlideShare a Scribd company logo
Multiple Dimensions of Load
Testing
Alexander Podelko
alex.podelko@oracle.com
alexanderpodelko.com/blog
@apodelko
Performance & Capacity
2015 by CMG
November 2, 2015
Agenda
• Load Testing
• Five [New] Load Testing Dimensions
-Environment
-Load Generation
-Testing Approach
-Life-Cycle Integration
-Feedback and Analysis
2
Disclaimer: The views expressed here are my personal views only and do not necessarily represent those of my
current or previous employers. All brands and trademarks mentioned are the property of their owners.
Load Testing
Applying multi-user synthetic load to the system
– Load testing
– Performance testing
– Stress testing
– Scalability testing
– Volume testing
– Reliability testing
– Concurrency testing
– Realistic Testing
– Endurance testing
– Longevity testing
– Soak testing
– Stability testing
3
Load Testing Process
Collect Requirements
Define Load
Run Tests
Analyze Results
Done
Modify System
Goals are met
Goals are not met
4
Traditional
View
The Stereotype
• Load / Performance Testing is:
– Last moment before deployment
– Last step in the waterfall process
– Protocol level record-and-playback
– Large corporations
– Expensive tools requiring special skills
– Lab environment
– Scale-down environment
– …
5
Load Testing
• Traditional load testing is not enough anymore
• New industry trends change a lot
– Cloud
– Continuous Integration / Delivery / Deployment
– DevOps
– Agile
• Some even say that load testing is not needed
anymore
– Due to other ways to mitigate performance risk
6
Performance Risk Mitigation
• Single-user performance engineering
– Profiling, WPO, single-user performance
• Software Performance Engineering
– Modeling, Performance Patterns
• Instrumentation / APM / Monitoring
– Production system insights
• Capacity Planning/Management
– Resources Allocation
• Continuous Integration / Deployment
– Ability to deploy and remove changes quickly
7
But all of them
don’t replace load
testing:
Load testing
complements them in
several important
ways !
8
Can System Handle Peak Load?
• You can’t know without testing:
9
Verify Multi-User Performance
• Single-user improvement may lead to multi-
user performance degradation
10
What Else Load Testing Adds
• Performance optimization
– Apply exactly the same load
– See if the change makes a difference
• Debugging/verification of multi-user issues
• Testing self-regulation functionality
– Such as auto-scaling or changing the level of
service depending on load
11
So What Is Going On?
• I believe that load testing is here to stay, but
should fully embrace the change
– Not one-time, to become dynamic
• Many things that were practically given became
a hard choice of a continuum of options
(dimension vs. point)
– Environment, Load Generation, Testing Approach,
Life-Cycle Integration, Feedback and Analysis
12
Agenda
• Load Testing
• Five [New] Load Testing Dimensions
-Environment
-Load Generation
-Testing Approach
-Life-Cycle Integration
-Feedback and Analysis
13
Load Testing Process
Collect Requirements
Define Load
Run Tests
Analyze Results
Done
Modify System
Goals are met
Goals are not met
14
Environment ?
Deployment
• Lab vs. Service (SaaS) vs. Cloud (IaaS)
– For both the system and load generators
• Test vs. Production
• No best solution, depends on your goals /
system
15
Scenarios
• System validation for high load
– Outside load (service or cloud), production system
– Wider scope, lower repeatability
• Performance optimization / troubleshooting
– Isolated lab environment
– Limited scope, high repeatability
• Testing in Cloud
– Lowering costs (in case of periodic tests)
– Limited scope, low repeatability
16
Find Your Way
• If performance risk is high it may be a
combination of environments, e.g.
– Outside tests against the production environment
to test for max load
– Lab for performance optimization /
troubleshooting
– Limited performance environments to be used as
part of continuous integration
17
Scaling
• Becomes critical as you get to a large number
of virtual users
• The number of supported users per unit of
computing power may differ drastically
– Depending on tool, protocol, scenario, system…
• If you need deploy it on a large number of
machines automation would be helpful
18
Agenda
• Load Testing
• Five [New] Load Testing Dimensions
-Environment
-Load Generation
-Testing Approach
-Life-Cycle Integration
-Feedback and Analysis
19
Load Testing Process
Collect Requirements
Define Load
Run Tests
Analyze Results
Done
Modify System
Goals are met
Goals are not met
20
Create Test Assets
Record and Playback: Protocol
Level
Load Testing Tool
Virtual Users
ServerLoad Generator
Application
Network
21
Considerations
• Usually doesn't work for testing components
• Each tool support a limited number of
technologies (protocols)
• Some technologies are very time-consuming
• Workload validity in case of sophisticated logic
on the client side is not guaranteed
22
Record and Playback: UI Level
23
Load Testing Tool
Virtual
Users
ServerLoad Generator
Application
NetworkBrowsers
Considerations
• Scalability
– Still require more resources
• Supported technologies
• Timing accuracy
• Playback accuracy
– For example, for HtmlUnit
24
Programming
Load Testing Tool App.
Virtual
Users
ServerLoad Generator
Application
Network
API
25
Considerations
• Requires programming / access to APIs
• Tool support
– Extensibility
– Language support
• May require more resources
• Environment may need to be set
26
Agenda
• Load Testing
• Five [New] Load Testing Dimensions
-Environment
-Load Generation
-Testing Approach
-Life-Cycle Integration
-Feedback and Analysis
27
Load Testing Process
Collect Requirements
Define Load
Run Tests
Analyze Results
Done
Modify System
Goals are met
Goals are not met
28
Sounds as running a
fixed set of tests,
doesn’t it?
Mentality Change
• Making performance everyone’s job
• Late record/playback performance testing -> Early
Performance Engineering
• System-level requirements -> Component-level
requirements
• Record/playback approach -> Programming to
generate load/create stubs
• "Black Box" -> "Grey Box”
Performance Testing
• Usually is not separated from:
– Tuning
• System should be properly tuned
– Troubleshooting / Diagnostics
• Problems should be diagnosed further to the point
when it is clear how to handle them
– Capacity Planning / Sizing
• "Pure" performance testing is rare
– Regression testing ?
Exploratory Testing
• Rather alien for performance testing, but
probably more relevant than for functional
testing
• We learn about system’s performance as we
start to run test
– Only guesses for new systems
• Rather a performance engineering process
bringing the system to the proper state than
just testing
31
Test Approach Dimension
NewWell-known
System
Testing Approach
Exploratory /
Agile
Automated /
Regression
Traditional
Test Management
• Managing test execution / collecting results
• Virtual users coordination, e.g.:
– Synchronization points
– Data exchange
– Sophisticated scheduling
• Environment simulation, e.g.:
– Browser Simulation
– Network simulation (including mobile)
– IP spoofing
33
Agenda
• Load Testing
• Five [New] Load Testing Dimensions
-Environment
-Load Generation
-Testing Approach
-Life-Cycle Integration
-Feedback and Analysis
34
Load Testing Process
Collect Requirements
Define Load
Run Tests
Analyze Results
Done
Modify System
Goals are met
Goals are not met
35
No integration points
at all !
Agile Support
• Agile / CI support becoming the main theme
• Integration with Continuous Integration Servers
– Jenkins, Hudson, etc.
– Several tools announced integration recently
– Making a part of automatic build process
• Automation support
• Easiness to use
• Support of newest technologies
36
Automation: Difficulties
• Complicated setups
• Long list of possible issues
• Complex results (no pass/fail)
• Not easy to compare two result sets
• Changing Interfaces
• Tests may be long
Automation: Considerations
• You need know system well enough to make
meaningful automation
• If system is new, overheads are too high
– So almost no automation in traditional environments
• If the same system is tested again and again
– It makes sense to invest in setting up automation
• Automated interfaces should be stable enough
– APIs are usually more stable on early stages
Tool Support
• Not much tool support was until recently
• Some vendors claimed that their load testing
tool better fits agile processes
– Often it meant that the tool is a little easier to use
• Was difficult to find what is available
– Ability to automate: command line, API, data
access
– Ability to extend scripts
– Supported technologies
Tool Support: Recent Developments
• Recently agile support became the main theme
– A lot of new developments
• Integration with Continuous Integration Servers
– Several tools announced integration recently
• Cloud integration
• Support of newest technologies
Agenda
• Load Testing
• Five [New] Load Testing Dimensions
-Environment
-Load Generation
-Testing Approach
-Life-Cycle Integration
-Feedback and Analysis
41
Load Testing Process
Collect Requirements
Define Load
Run Tests
Analyze Results
Done
Modify System
Goals are met
Goals are not met
42
Isn’t so simple
anymore
Reporting and Analysis
• Good integrated reporting and analysis greatly
increases efficiency
– Getting all data in one place and synchronized
– Integration of monitoring data is a great help
• Weak spot of many open source tools
43
Monitoring
• System level
• Application level (APM)
– AppDynamics, New Relic, Dynatrace, etc.
– Many tools have integration
• Integration allows analyze monitoring data
together with test results
44
The Main Change in Monitoring
• Configuration becomes dynamic, changing on
the fly
• Auto scaling, auto provisioning, etc.
– Challenge to monitor all moving parts
– Challenge to compare results of dynamic
configurations
– Shift to application monitoring
45
The Main Change in Analysis
• Not only comparison with the requirements
• Many different forms of analysis depending on
the tests
– Adjusting to configuration / type of the test
• Component testing
– Automatic analysis / alerting
• Continuous Integration / Delivery / Deployment
– Input for tuning / optimization / sizing
46
Summary
• The industry is rapidly changing – performance
testing should change too
– Fully embrace agile
• Five [new] dimensions introduced by the
changes
– Environment, Load Generation, Testing Approach,
Life-Cycle Integration, Feedback and Analysis
• Good tools help, but there is no best tool – it
depends on your needs
47
Questions?
Alexander Podelko
alex.podelko@oracle.com
alexanderpodelko.com/blog
@apodelko

More Related Content

What's hot

Agile Aspects of Performance Testing
Agile Aspects of Performance TestingAgile Aspects of Performance Testing
Agile Aspects of Performance Testing
Alexander Podelko
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
Lee Barnes
 
Addressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus WebinarAddressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus Webinar
Impetus Technologies
 
Load and Performance tests in agile scrum framework SGI 2013
Load and Performance tests in agile scrum framework SGI 2013Load and Performance tests in agile scrum framework SGI 2013
Load and Performance tests in agile scrum framework SGI 2013
Subrahmaniam S.R.V
 
Agile performance testing
Agile performance testingAgile performance testing
Agile performance testing
Andriy Melnyk
 
Agile process
Agile processAgile process
Agile process
SatishreddyMandadi
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
iradari
 
Incorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessIncorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development Process
Michael Vax
 
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Impetus Technologies
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
Robbie Minshall
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
Sebastian Marek
 
OOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignOOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By Design
Wolfgang Gottesheim
 
Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance Testing
Alexander Podelko
 
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Alexandru Ersenie
 
Top Ten Secret Weapons For Agile Performance Testing
Top Ten Secret Weapons For Agile Performance TestingTop Ten Secret Weapons For Agile Performance Testing
Top Ten Secret Weapons For Agile Performance Testing
Andriy Melnyk
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
Hem Pokhrel
 
Software management framework
Software management frameworkSoftware management framework
Software management framework
Kuppusamy P
 
Ch1 preliminaries
Ch1 preliminariesCh1 preliminaries
Ch1 preliminaries
Ronak Patel
 
Shift left shift-right performance testing for superior end-user by Arun Dutta
Shift left shift-right performance testing for superior end-user by Arun DuttaShift left shift-right performance testing for superior end-user by Arun Dutta
Shift left shift-right performance testing for superior end-user by Arun Dutta
Software Testing Board
 
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
babak danyal
 

What's hot (20)

Agile Aspects of Performance Testing
Agile Aspects of Performance TestingAgile Aspects of Performance Testing
Agile Aspects of Performance Testing
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
Addressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus WebinarAddressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus Webinar
 
Load and Performance tests in agile scrum framework SGI 2013
Load and Performance tests in agile scrum framework SGI 2013Load and Performance tests in agile scrum framework SGI 2013
Load and Performance tests in agile scrum framework SGI 2013
 
Agile performance testing
Agile performance testingAgile performance testing
Agile performance testing
 
Agile process
Agile processAgile process
Agile process
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
 
Incorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessIncorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development Process
 
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
 
OOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignOOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By Design
 
Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance Testing
 
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
 
Top Ten Secret Weapons For Agile Performance Testing
Top Ten Secret Weapons For Agile Performance TestingTop Ten Secret Weapons For Agile Performance Testing
Top Ten Secret Weapons For Agile Performance Testing
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
 
Software management framework
Software management frameworkSoftware management framework
Software management framework
 
Ch1 preliminaries
Ch1 preliminariesCh1 preliminaries
Ch1 preliminaries
 
Shift left shift-right performance testing for superior end-user by Arun Dutta
Shift left shift-right performance testing for superior end-user by Arun DuttaShift left shift-right performance testing for superior end-user by Arun Dutta
Shift left shift-right performance testing for superior end-user by Arun Dutta
 
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
 

Similar to Multiple Dimensions of Load Testing

Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
James Venetsanakos
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Alexander Podelko
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Richard Bishop
 
JMeter
JMeterJMeter
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
Syed Muhammad Hammad
 
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
 
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
Apica
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
Radiant Minds
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
Radiant Minds
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Apica
 
PAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van GaalenPAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van Gaalen
Neotys
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
Michael Cowan
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
Parasoft
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
Apica
 
Performance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductPerformance Testing your Kuali Student Product
Performance Testing your Kuali Student Product
Kuali Student Project
 
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
 
Introduction to Performance Testing
Introduction to Performance TestingIntroduction to Performance Testing
Introduction to Performance Testing
Tharinda Liyanage
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
DevOps for Enterprise Systems
 
Performance testing
Performance testingPerformance testing
Performance testing
Chalana Kahandawala
 

Similar to Multiple Dimensions of Load Testing (20)

Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
JMeter
JMeterJMeter
JMeter
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
 
PAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van GaalenPAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van Gaalen
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Performance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductPerformance Testing your Kuali Student Product
Performance Testing your Kuali Student Product
 
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
 
Introduction to Performance Testing
Introduction to Performance TestingIntroduction to Performance Testing
Introduction to Performance Testing
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
Performance testing
Performance testingPerformance testing
Performance testing
 

More from Alexander Podelko

Reinventing Performance Testing. CMG imPACt 2016 paper
  Reinventing Performance Testing. CMG imPACt 2016 paper  Reinventing Performance Testing. CMG imPACt 2016 paper
Reinventing Performance Testing. CMG imPACt 2016 paper
Alexander Podelko
 
A Short History of Performance Engineering
A Short History of Performance EngineeringA Short History of Performance Engineering
A Short History of Performance Engineering
Alexander Podelko
 
Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14
Alexander Podelko
 
Performance: See the Whole Picture
Performance: See the Whole PicturePerformance: See the Whole Picture
Performance: See the Whole Picture
Alexander Podelko
 
A Short History of Performance Engineering
A Short History of Performance EngineeringA Short History of Performance Engineering
A Short History of Performance Engineering
Alexander Podelko
 
Performance Requirements: CMG'11 slides with notes (pdf)
Performance Requirements: CMG'11 slides with notes (pdf)Performance Requirements: CMG'11 slides with notes (pdf)
Performance Requirements: CMG'11 slides with notes (pdf)
Alexander Podelko
 
Load Testing: See a Bigger Picture
Load Testing: See a Bigger PictureLoad Testing: See a Bigger Picture
Load Testing: See a Bigger Picture
Alexander Podelko
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering Process
Alexander Podelko
 

More from Alexander Podelko (8)

Reinventing Performance Testing. CMG imPACt 2016 paper
  Reinventing Performance Testing. CMG imPACt 2016 paper  Reinventing Performance Testing. CMG imPACt 2016 paper
Reinventing Performance Testing. CMG imPACt 2016 paper
 
A Short History of Performance Engineering
A Short History of Performance EngineeringA Short History of Performance Engineering
A Short History of Performance Engineering
 
Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14Performance testing: respect the difference at swqd14
Performance testing: respect the difference at swqd14
 
Performance: See the Whole Picture
Performance: See the Whole PicturePerformance: See the Whole Picture
Performance: See the Whole Picture
 
A Short History of Performance Engineering
A Short History of Performance EngineeringA Short History of Performance Engineering
A Short History of Performance Engineering
 
Performance Requirements: CMG'11 slides with notes (pdf)
Performance Requirements: CMG'11 slides with notes (pdf)Performance Requirements: CMG'11 slides with notes (pdf)
Performance Requirements: CMG'11 slides with notes (pdf)
 
Load Testing: See a Bigger Picture
Load Testing: See a Bigger PictureLoad Testing: See a Bigger Picture
Load Testing: See a Bigger Picture
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering Process
 

Recently uploaded

Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 

Recently uploaded (20)

Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 

Multiple Dimensions of Load Testing

  • 1. Multiple Dimensions of Load Testing Alexander Podelko alex.podelko@oracle.com alexanderpodelko.com/blog @apodelko Performance & Capacity 2015 by CMG November 2, 2015
  • 2. Agenda • Load Testing • Five [New] Load Testing Dimensions -Environment -Load Generation -Testing Approach -Life-Cycle Integration -Feedback and Analysis 2 Disclaimer: The views expressed here are my personal views only and do not necessarily represent those of my current or previous employers. All brands and trademarks mentioned are the property of their owners.
  • 3. Load Testing Applying multi-user synthetic load to the system – Load testing – Performance testing – Stress testing – Scalability testing – Volume testing – Reliability testing – Concurrency testing – Realistic Testing – Endurance testing – Longevity testing – Soak testing – Stability testing 3
  • 4. Load Testing Process Collect Requirements Define Load Run Tests Analyze Results Done Modify System Goals are met Goals are not met 4 Traditional View
  • 5. The Stereotype • Load / Performance Testing is: – Last moment before deployment – Last step in the waterfall process – Protocol level record-and-playback – Large corporations – Expensive tools requiring special skills – Lab environment – Scale-down environment – … 5
  • 6. Load Testing • Traditional load testing is not enough anymore • New industry trends change a lot – Cloud – Continuous Integration / Delivery / Deployment – DevOps – Agile • Some even say that load testing is not needed anymore – Due to other ways to mitigate performance risk 6
  • 7. Performance Risk Mitigation • Single-user performance engineering – Profiling, WPO, single-user performance • Software Performance Engineering – Modeling, Performance Patterns • Instrumentation / APM / Monitoring – Production system insights • Capacity Planning/Management – Resources Allocation • Continuous Integration / Deployment – Ability to deploy and remove changes quickly 7
  • 8. But all of them don’t replace load testing: Load testing complements them in several important ways ! 8
  • 9. Can System Handle Peak Load? • You can’t know without testing: 9
  • 10. Verify Multi-User Performance • Single-user improvement may lead to multi- user performance degradation 10
  • 11. What Else Load Testing Adds • Performance optimization – Apply exactly the same load – See if the change makes a difference • Debugging/verification of multi-user issues • Testing self-regulation functionality – Such as auto-scaling or changing the level of service depending on load 11
  • 12. So What Is Going On? • I believe that load testing is here to stay, but should fully embrace the change – Not one-time, to become dynamic • Many things that were practically given became a hard choice of a continuum of options (dimension vs. point) – Environment, Load Generation, Testing Approach, Life-Cycle Integration, Feedback and Analysis 12
  • 13. Agenda • Load Testing • Five [New] Load Testing Dimensions -Environment -Load Generation -Testing Approach -Life-Cycle Integration -Feedback and Analysis 13
  • 14. Load Testing Process Collect Requirements Define Load Run Tests Analyze Results Done Modify System Goals are met Goals are not met 14 Environment ?
  • 15. Deployment • Lab vs. Service (SaaS) vs. Cloud (IaaS) – For both the system and load generators • Test vs. Production • No best solution, depends on your goals / system 15
  • 16. Scenarios • System validation for high load – Outside load (service or cloud), production system – Wider scope, lower repeatability • Performance optimization / troubleshooting – Isolated lab environment – Limited scope, high repeatability • Testing in Cloud – Lowering costs (in case of periodic tests) – Limited scope, low repeatability 16
  • 17. Find Your Way • If performance risk is high it may be a combination of environments, e.g. – Outside tests against the production environment to test for max load – Lab for performance optimization / troubleshooting – Limited performance environments to be used as part of continuous integration 17
  • 18. Scaling • Becomes critical as you get to a large number of virtual users • The number of supported users per unit of computing power may differ drastically – Depending on tool, protocol, scenario, system… • If you need deploy it on a large number of machines automation would be helpful 18
  • 19. Agenda • Load Testing • Five [New] Load Testing Dimensions -Environment -Load Generation -Testing Approach -Life-Cycle Integration -Feedback and Analysis 19
  • 20. Load Testing Process Collect Requirements Define Load Run Tests Analyze Results Done Modify System Goals are met Goals are not met 20 Create Test Assets
  • 21. Record and Playback: Protocol Level Load Testing Tool Virtual Users ServerLoad Generator Application Network 21
  • 22. Considerations • Usually doesn't work for testing components • Each tool support a limited number of technologies (protocols) • Some technologies are very time-consuming • Workload validity in case of sophisticated logic on the client side is not guaranteed 22
  • 23. Record and Playback: UI Level 23 Load Testing Tool Virtual Users ServerLoad Generator Application NetworkBrowsers
  • 24. Considerations • Scalability – Still require more resources • Supported technologies • Timing accuracy • Playback accuracy – For example, for HtmlUnit 24
  • 25. Programming Load Testing Tool App. Virtual Users ServerLoad Generator Application Network API 25
  • 26. Considerations • Requires programming / access to APIs • Tool support – Extensibility – Language support • May require more resources • Environment may need to be set 26
  • 27. Agenda • Load Testing • Five [New] Load Testing Dimensions -Environment -Load Generation -Testing Approach -Life-Cycle Integration -Feedback and Analysis 27
  • 28. Load Testing Process Collect Requirements Define Load Run Tests Analyze Results Done Modify System Goals are met Goals are not met 28 Sounds as running a fixed set of tests, doesn’t it?
  • 29. Mentality Change • Making performance everyone’s job • Late record/playback performance testing -> Early Performance Engineering • System-level requirements -> Component-level requirements • Record/playback approach -> Programming to generate load/create stubs • "Black Box" -> "Grey Box”
  • 30. Performance Testing • Usually is not separated from: – Tuning • System should be properly tuned – Troubleshooting / Diagnostics • Problems should be diagnosed further to the point when it is clear how to handle them – Capacity Planning / Sizing • "Pure" performance testing is rare – Regression testing ?
  • 31. Exploratory Testing • Rather alien for performance testing, but probably more relevant than for functional testing • We learn about system’s performance as we start to run test – Only guesses for new systems • Rather a performance engineering process bringing the system to the proper state than just testing 31
  • 32. Test Approach Dimension NewWell-known System Testing Approach Exploratory / Agile Automated / Regression Traditional
  • 33. Test Management • Managing test execution / collecting results • Virtual users coordination, e.g.: – Synchronization points – Data exchange – Sophisticated scheduling • Environment simulation, e.g.: – Browser Simulation – Network simulation (including mobile) – IP spoofing 33
  • 34. Agenda • Load Testing • Five [New] Load Testing Dimensions -Environment -Load Generation -Testing Approach -Life-Cycle Integration -Feedback and Analysis 34
  • 35. Load Testing Process Collect Requirements Define Load Run Tests Analyze Results Done Modify System Goals are met Goals are not met 35 No integration points at all !
  • 36. Agile Support • Agile / CI support becoming the main theme • Integration with Continuous Integration Servers – Jenkins, Hudson, etc. – Several tools announced integration recently – Making a part of automatic build process • Automation support • Easiness to use • Support of newest technologies 36
  • 37. Automation: Difficulties • Complicated setups • Long list of possible issues • Complex results (no pass/fail) • Not easy to compare two result sets • Changing Interfaces • Tests may be long
  • 38. Automation: Considerations • You need know system well enough to make meaningful automation • If system is new, overheads are too high – So almost no automation in traditional environments • If the same system is tested again and again – It makes sense to invest in setting up automation • Automated interfaces should be stable enough – APIs are usually more stable on early stages
  • 39. Tool Support • Not much tool support was until recently • Some vendors claimed that their load testing tool better fits agile processes – Often it meant that the tool is a little easier to use • Was difficult to find what is available – Ability to automate: command line, API, data access – Ability to extend scripts – Supported technologies
  • 40. Tool Support: Recent Developments • Recently agile support became the main theme – A lot of new developments • Integration with Continuous Integration Servers – Several tools announced integration recently • Cloud integration • Support of newest technologies
  • 41. Agenda • Load Testing • Five [New] Load Testing Dimensions -Environment -Load Generation -Testing Approach -Life-Cycle Integration -Feedback and Analysis 41
  • 42. Load Testing Process Collect Requirements Define Load Run Tests Analyze Results Done Modify System Goals are met Goals are not met 42 Isn’t so simple anymore
  • 43. Reporting and Analysis • Good integrated reporting and analysis greatly increases efficiency – Getting all data in one place and synchronized – Integration of monitoring data is a great help • Weak spot of many open source tools 43
  • 44. Monitoring • System level • Application level (APM) – AppDynamics, New Relic, Dynatrace, etc. – Many tools have integration • Integration allows analyze monitoring data together with test results 44
  • 45. The Main Change in Monitoring • Configuration becomes dynamic, changing on the fly • Auto scaling, auto provisioning, etc. – Challenge to monitor all moving parts – Challenge to compare results of dynamic configurations – Shift to application monitoring 45
  • 46. The Main Change in Analysis • Not only comparison with the requirements • Many different forms of analysis depending on the tests – Adjusting to configuration / type of the test • Component testing – Automatic analysis / alerting • Continuous Integration / Delivery / Deployment – Input for tuning / optimization / sizing 46
  • 47. Summary • The industry is rapidly changing – performance testing should change too – Fully embrace agile • Five [new] dimensions introduced by the changes – Environment, Load Generation, Testing Approach, Life-Cycle Integration, Feedback and Analysis • Good tools help, but there is no best tool – it depends on your needs 47