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 (20)

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

Similar to Multiple Dimensions of Load Testing (20)

PPTX
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Alexander Podelko
 
PPT
Performance Testing Overview
James Venetsanakos
 
PPTX
Neev QA Offering
Neev Technologies
 
PPTX
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
PPTX
Load Testing: See a Bigger Picture
Alexander Podelko
 
PPTX
Load and performance testing
Qualitest
 
PDF
Application Performance, Test and Monitoring
Dony Riyanto
 
PPTX
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
PPTX
Performance Testing
Selin Gungor
 
PDF
Loadtesting wuc2009v2
ravneetraman
 
PPTX
Real Testing Scenario Strategy - Bringing It All Together For Success
Adam Sandman
 
PDF
#ATAGTR2020 Presentation - Shift Left - Performance Testing
Agile Testing Alliance
 
PPT
Less11 3 e_loadmodule_1
Suresh Mishra
 
PDF
Load Testing.pdf
YAGYAJAISWAL1
 
PPTX
Performance testing
Chalana Kahandawala
 
PPTX
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
Concordia University
 
PPT
JMeter
Md Samsul Kabir
 
PPTX
B4usolution performance testing
Hoa Le
 
PPTX
Foreo Drives Millions of Dollars of Revenue During the Holiday Seasons with T...
Michael Meyers
 
PDF
Foreo Drives Millions of Dollars of Revenue During the Holiday Seasons with T...
Tag1 Consulting, Inc.
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Alexander Podelko
 
Performance Testing Overview
James Venetsanakos
 
Neev QA Offering
Neev Technologies
 
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
Load Testing: See a Bigger Picture
Alexander Podelko
 
Load and performance testing
Qualitest
 
Application Performance, Test and Monitoring
Dony Riyanto
 
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
Performance Testing
Selin Gungor
 
Loadtesting wuc2009v2
ravneetraman
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Adam Sandman
 
#ATAGTR2020 Presentation - Shift Left - Performance Testing
Agile Testing Alliance
 
Less11 3 e_loadmodule_1
Suresh Mishra
 
Load Testing.pdf
YAGYAJAISWAL1
 
Performance testing
Chalana Kahandawala
 
ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on ...
Concordia University
 
B4usolution performance testing
Hoa Le
 
Foreo Drives Millions of Dollars of Revenue During the Holiday Seasons with T...
Michael Meyers
 
Foreo Drives Millions of Dollars of Revenue During the Holiday Seasons with T...
Tag1 Consulting, Inc.
 
Ad

More from Alexander Podelko (8)

DOCX
Reinventing Performance Testing. CMG imPACt 2016 paper
Alexander Podelko
 
PPTX
A Short History of Performance Engineering
Alexander Podelko
 
PPT
Performance testing: respect the difference at swqd14
Alexander Podelko
 
PPTX
Performance: See the Whole Picture
Alexander Podelko
 
PPTX
A Short History of Performance Engineering
Alexander Podelko
 
PDF
Performance Requirements: CMG'11 slides with notes (pdf)
Alexander Podelko
 
PPTX
Performance Assurance for Packaged Applications
Alexander Podelko
 
PPT
Performance Requirements: the Backbone of the Performance Engineering Process
Alexander Podelko
 
Reinventing Performance Testing. CMG imPACt 2016 paper
Alexander Podelko
 
A Short History of Performance Engineering
Alexander Podelko
 
Performance testing: respect the difference at swqd14
Alexander Podelko
 
Performance: See the Whole Picture
Alexander Podelko
 
A Short History of Performance Engineering
Alexander Podelko
 
Performance Requirements: CMG'11 slides with notes (pdf)
Alexander Podelko
 
Performance Assurance for Packaged Applications
Alexander Podelko
 
Performance Requirements: the Backbone of the Performance Engineering Process
Alexander Podelko
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
July Patch Tuesday
Ivanti
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 

Multiple Dimensions of Load Testing

  • 1. Multiple Dimensions of Load Testing Alexander Podelko [email protected] 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