SlideShare uma empresa Scribd logo
1 de 42
Reinventing Performance
Testing
Alexander Podelko
alex.podelko@oracle.com
alexanderpodelko.com/blog
@apodelko
imPACt 2016 by CMG
November 9, 2016
The Stereotype
• Load / Performance Testing is:
– Last moment before deployment
– Last step in the waterfall process
– Large corporations
– Expensive tools requiring special skills
– Protocol level record-and-playback
– Lab environment
– Scale-down environment
– Checking against given requirements / SLAs
– Throwing it back over the wall if reqs are not met
– …
2
Agenda
• Industry Trends and their Impact
-Cloud
-Agile Development
-Continuous Integration
-New Architectures
-New Technologies
• Performance Engineering Puzzle: Changing
Dynamics
3
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.
Cloud
• No more excuse of not having hardware
• Lab vs. Service (SaaS) vs. Cloud (IaaS)
– For both the system and load generators
• Test vs. Production
4
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
5
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
6
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
7
Agenda
• Industry Trends and their Impact
-Cloud
-Agile Development
-Continuous Integration
-New Architectures
-New Technologies
• Performance Engineering Puzzle: Changing
Dynamics
8
Agile Development
9
• Agile development should be rather a trivial
case for performance testing
– You have a working system each iteration to test
early by definition.
– You need performance engineer for the whole
project
• Savings come from detecting problems early
• You need to adjust requirements for
implemented functionality
– Additional functionality will impact performance
The Main Issue on the Agile Side
• It doesn’t [always] work this way in practice
• That is why you have “Hardening Iterations”,
“Technical Debt” and similar notions
• Same old problem: functionality gets priority
over performance
10
The Main Issue on the Testing Side
11
• Performance Engineering teams don’t scale
well
– Even assuming that they are competent and
effective
• Increased volume exposes the problem
– Early testing
– Each iteration
• Remedies: automation, making performance
everyone’s job
Mentality Change
12
• 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”
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
13
Test Approach Dimension
14
NewWell-known
System
Testing Approach
Exploratory /
Agile
Automated /
Regression
Traditional
Agenda
• Industry Trends and their Impact
-Cloud
-Agile Development
-Continuous Integration
-New Architectures
-New Technologies
• Performance Engineering Puzzle: Changing
Dynamics
15
Continuous Integration
• 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
• Cloud support
• Support of newest technologies
16
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
17
Automation: Considerations
18
• 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
Automation: Limitations
19
• Works great to find regressions and check
against requirements
• Doesn’t cover:
– Exploratory tests
– Large scale / scope / duration / volume
• “Full Automation” is not a real option, should be
a combination
Agenda
• Industry Trends and their Impact
-Cloud
-Agile Development
-Continuous Integration
-New Architectures
-New Technologies
• Performance Engineering Puzzle: Changing
Dynamics
20
New Architectures
• Software as a Service (SaaS)
– Centrally managed
– Multi-tenant
• Dynamic Architectures
– Auto-scaling
• Third-party components and services
21
Consequences
• Major challenges for monitoring and analysis
• Service virtualization
• New application of performance testing
22
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
23
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
24
Agenda
• Industry Trends and their Impact
-Cloud
-Agile Development
-Continuous Integration
-New Architectures
-New Technologies
• Performance Engineering Puzzle: Changing
Dynamics
25
Record and Playback: Protocol
Level
Load Testing Tool
Virtual Users
ServerLoad Generator
Application
Network
26
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
27
Record and Playback: UI Level
28
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
29
Programming
Load Testing Tool App.
Virtual
Users
ServerLoad Generator
Application
Network
API
30
Considerations
• Requires programming / access to APIs
• Tool support
– Extensibility
– Language support
• May require more resources
• Environment may need to be set
31
Agenda
• Industry Trends and their Impact
-Cloud
-Agile Development
-Continuous Integration
-New Architectures
-New Technologies
• Performance Engineering Puzzle: Changing
Dynamics
32
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
33
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
34
But all of them
don’t replace load
testing:
Load testing
complements them in
several important
ways !
35
Can System Handle Peak Load?
• You can’t know without testing:
36
Verify Multi-User Performance
• Single-user improvement may lead to multi-
user performance degradation
37
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
38
Changing Dynamic / Historical View
• Mainframes
– Instrumentation, Scheduling, Capacity Planning
• Distributed Systems
– Load Testing, System Monitoring
• Web / Cloud
– App Monitoring, Perf Engineering
39
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
• Dynamic of different PE approaches is changing
– As it was during the whole history of PE
• Probably there would be less need for “load
testers" limited only to running tests, but more
need for performance experts who can see the
whole picture using all available tools and
techniques.
40
Summary
• The industry is rapidly changing – performance
testing should change too
– Much more context- and business-driven
– Fully embracing agile (early testing), cloud,
continuous integration, automation, new
architectures and technologies
• Good tools help, but there is no “best tool” – it
depends on your needs
– Any tool is only a tool
41
Questions?
Alexander Podelko
alex.podelko@oracle.com
alexanderpodelko.com/blog
@apodelko

Mais conteĂşdo relacionado

Mais procurados

Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecycleLee Barnes
 
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 2013Subrahmaniam S.R.V
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?QA InfoTech
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
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 WebinarImpetus Technologies
 
Software testing performance testing
Software testing  performance testingSoftware testing  performance testing
Software testing performance testingGaneshKumarKanthiah
 
Performance testing
Performance testingPerformance testing
Performance testingRanpreet kaur
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
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 ProcessMichael Vax
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringCorrelsense
 
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys_Partner
 
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
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssmssmarar
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationSebastian Marek
 
Neotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da SilvaNeotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da SilvaNeotys_Partner
 
OOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignOOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignWolfgang Gottesheim
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
Neotys PAC 2018 - Gayatree Nalwadad
Neotys PAC 2018 - Gayatree NalwadadNeotys PAC 2018 - Gayatree Nalwadad
Neotys PAC 2018 - Gayatree NalwadadNeotys_Partner
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life CycleHem Pokhrel
 

Mais procurados (20)

Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
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
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
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
 
Software testing performance testing
Software testing  performance testingSoftware testing  performance testing
Software testing performance testing
 
Agile process
Agile processAgile process
Agile process
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
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
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
 
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga Moorthy
 
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...
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
 
Neotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da SilvaNeotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da Silva
 
OOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignOOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By Design
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Neotys PAC 2018 - Gayatree Nalwadad
Neotys PAC 2018 - Gayatree NalwadadNeotys PAC 2018 - Gayatree Nalwadad
Neotys PAC 2018 - Gayatree Nalwadad
 
Software/System Development Life Cycle
Software/System Development Life CycleSoftware/System Development Life Cycle
Software/System Development Life Cycle
 

Semelhante a Reinventing Performance Testing, CMG imPACt 2016 slides

Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance TestingAlexander Podelko
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing OverviewJames Venetsanakos
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsAlexander Podelko
 
Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...Paul Brebner
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Paul Brebner
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
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 ROIDevOps for Enterprise Systems
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2SIMONTHOMAS S
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life CycleKumar
 
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...ennVee TechnoGroup Inc
 
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 14Alexander Podelko
 
Hitless Controller Upgrades
Hitless Controller UpgradesHitless Controller Upgrades
Hitless Controller UpgradesLumina Networks
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applicationsGR8Conf
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsSAIL_QU
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devopsVenkat Janardhanam, MS, MBA
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Lari Hotari
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationRanorex
 

Semelhante a Reinventing Performance Testing, CMG imPACt 2016 slides (20)

Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance Testing
 
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
 
Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
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
 
Deploying at will - SEI
 Deploying at will - SEI Deploying at will - SEI
Deploying at will - SEI
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
 
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
GLOC 2018: Automation or How We Eliminated Manual EBS R12.2 Upgrades and Beca...
 
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
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Hitless Controller Upgrades
Hitless Controller UpgradesHitless Controller Upgrades
Hitless Controller Upgrades
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
 

Mais de Alexander Podelko

Continuous Performance Testing: Challenges and Approaches
Continuous Performance Testing: Challenges and ApproachesContinuous Performance Testing: Challenges and Approaches
Continuous Performance Testing: Challenges and ApproachesAlexander 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 paperAlexander Podelko
 
A Short History of Performance Engineering
A Short History of Performance EngineeringA Short History of Performance Engineering
A Short History of Performance EngineeringAlexander 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 swqd14Alexander Podelko
 
Performance: See the Whole Picture
Performance: See the Whole PicturePerformance: See the Whole Picture
Performance: See the Whole PictureAlexander Podelko
 
A Short History of Performance Engineering
A Short History of Performance EngineeringA Short History of Performance Engineering
A Short History of Performance EngineeringAlexander 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 PictureAlexander 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 ProcessAlexander Podelko
 

Mais de Alexander Podelko (9)

Continuous Performance Testing: Challenges and Approaches
Continuous Performance Testing: Challenges and ApproachesContinuous Performance Testing: Challenges and Approaches
Continuous Performance Testing: Challenges and Approaches
 
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
 

Último

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Reinventing Performance Testing, CMG imPACt 2016 slides

  • 2. The Stereotype • Load / Performance Testing is: – Last moment before deployment – Last step in the waterfall process – Large corporations – Expensive tools requiring special skills – Protocol level record-and-playback – Lab environment – Scale-down environment – Checking against given requirements / SLAs – Throwing it back over the wall if reqs are not met – … 2
  • 3. Agenda • Industry Trends and their Impact -Cloud -Agile Development -Continuous Integration -New Architectures -New Technologies • Performance Engineering Puzzle: Changing Dynamics 3 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.
  • 4. Cloud • No more excuse of not having hardware • Lab vs. Service (SaaS) vs. Cloud (IaaS) – For both the system and load generators • Test vs. Production 4
  • 5. 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 5
  • 6. 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 6
  • 7. 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 7
  • 8. Agenda • Industry Trends and their Impact -Cloud -Agile Development -Continuous Integration -New Architectures -New Technologies • Performance Engineering Puzzle: Changing Dynamics 8
  • 9. Agile Development 9 • Agile development should be rather a trivial case for performance testing – You have a working system each iteration to test early by definition. – You need performance engineer for the whole project • Savings come from detecting problems early • You need to adjust requirements for implemented functionality – Additional functionality will impact performance
  • 10. The Main Issue on the Agile Side • It doesn’t [always] work this way in practice • That is why you have “Hardening Iterations”, “Technical Debt” and similar notions • Same old problem: functionality gets priority over performance 10
  • 11. The Main Issue on the Testing Side 11 • Performance Engineering teams don’t scale well – Even assuming that they are competent and effective • Increased volume exposes the problem – Early testing – Each iteration • Remedies: automation, making performance everyone’s job
  • 12. Mentality Change 12 • 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”
  • 13. 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 13
  • 14. Test Approach Dimension 14 NewWell-known System Testing Approach Exploratory / Agile Automated / Regression Traditional
  • 15. Agenda • Industry Trends and their Impact -Cloud -Agile Development -Continuous Integration -New Architectures -New Technologies • Performance Engineering Puzzle: Changing Dynamics 15
  • 16. Continuous Integration • 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 • Cloud support • Support of newest technologies 16
  • 17. 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 17
  • 18. Automation: Considerations 18 • 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
  • 19. Automation: Limitations 19 • Works great to find regressions and check against requirements • Doesn’t cover: – Exploratory tests – Large scale / scope / duration / volume • “Full Automation” is not a real option, should be a combination
  • 20. Agenda • Industry Trends and their Impact -Cloud -Agile Development -Continuous Integration -New Architectures -New Technologies • Performance Engineering Puzzle: Changing Dynamics 20
  • 21. New Architectures • Software as a Service (SaaS) – Centrally managed – Multi-tenant • Dynamic Architectures – Auto-scaling • Third-party components and services 21
  • 22. Consequences • Major challenges for monitoring and analysis • Service virtualization • New application of performance testing 22
  • 23. 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 23
  • 24. 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 24
  • 25. Agenda • Industry Trends and their Impact -Cloud -Agile Development -Continuous Integration -New Architectures -New Technologies • Performance Engineering Puzzle: Changing Dynamics 25
  • 26. Record and Playback: Protocol Level Load Testing Tool Virtual Users ServerLoad Generator Application Network 26
  • 27. 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 27
  • 28. Record and Playback: UI Level 28 Load Testing Tool Virtual Users ServerLoad Generator Application NetworkBrowsers
  • 29. Considerations • Scalability – Still require more resources • Supported technologies • Timing accuracy • Playback accuracy – For example, for HtmlUnit 29
  • 30. Programming Load Testing Tool App. Virtual Users ServerLoad Generator Application Network API 30
  • 31. Considerations • Requires programming / access to APIs • Tool support – Extensibility – Language support • May require more resources • Environment may need to be set 31
  • 32. Agenda • Industry Trends and their Impact -Cloud -Agile Development -Continuous Integration -New Architectures -New Technologies • Performance Engineering Puzzle: Changing Dynamics 32
  • 33. 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 33
  • 34. 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 34
  • 35. But all of them don’t replace load testing: Load testing complements them in several important ways ! 35
  • 36. Can System Handle Peak Load? • You can’t know without testing: 36
  • 37. Verify Multi-User Performance • Single-user improvement may lead to multi- user performance degradation 37
  • 38. 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 38
  • 39. Changing Dynamic / Historical View • Mainframes – Instrumentation, Scheduling, Capacity Planning • Distributed Systems – Load Testing, System Monitoring • Web / Cloud – App Monitoring, Perf Engineering 39
  • 40. 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 • Dynamic of different PE approaches is changing – As it was during the whole history of PE • Probably there would be less need for “load testers" limited only to running tests, but more need for performance experts who can see the whole picture using all available tools and techniques. 40
  • 41. Summary • The industry is rapidly changing – performance testing should change too – Much more context- and business-driven – Fully embracing agile (early testing), cloud, continuous integration, automation, new architectures and technologies • Good tools help, but there is no “best tool” – it depends on your needs – Any tool is only a tool 41