SlideShare a Scribd company logo
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com
The Top 7 Mistakes in
Performance Testing
…and the importance of getting the basics right first
3 © Copyright 2017 Stuart Moncrieff, www.myloadtest.com
Good performance testing is really important…
…but so many people do it really badly…
…and that really bothers me.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com2
Stuart Moncrieff: Web Performance Evangelist
How am I qualified to be here?
• Web performance specialist since 2002
• 15 years of consulting experience
• I have seen almost all the ways that people mess up
when they are doing performance testing.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com4
What I think I look like when I’m talking
about Performance Testing:
What I actually look like when I’m talking
about Performance Testing:
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com5
The “we want the advanced training” paradox
Companies usually ask to include “expert
level” content in training courses for their
staff, even when their staff don’t
understand the basics.
But their staff are all searching Google for entry-level
training material.
See also:
• The Dunning-Kruger effect
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com6
The structural problem: Most companies can’t
differentiate between good and bad performance testing
Performance Testing treated as an empty
ritual to be performed before deployment.
Patterns of dysfunction:
• Not even noticing problems in Production because
performance monitoring is inadequate.
• Problems discovered in Production, even though they
could have been discovered in Test.
• Testing team can blame anything missed on “differences
between Test and Production environments”.
• Ops team tries to solve performance problems in
Production without involving performance testers.
Tuning in Production. Throwing hardware at the
problem.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com7
Mistake 1: Not adding validation checks in your scripts
Load testing tools will automatically detect
HTTP error codes, but error pages are often
served with an HTTP 200 response code.
How do you know your application is not throwing errors
under load?
What you should do:
• Add verification checks for each page request.
• Check for something that indicates success and is
unique to the page.
• Bonus points: static analysis of scripts as they are
checked into version control.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com8
Mistake 2: Not monitoring the Test environment
“Setting up monitoring will take too long,
so we won’t include infrastructure metrics
like CPU utilisation in our report.”
How do you diagnose the root cause of load-related
problems found during testing?
What you should do:
• Make the effort to set up infrastructure monitoring in
the Test environment.
• Bonus points: have exactly the same monitoring in Test
and Production environments.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com9
Mistake 3: Bad Workload Modelling (or none at all)
“We are going to generate 1000 concurrent
users worth of load”
What does that even mean? Web apps care more about
requests per minute than they do about how many virtual
users are configured in your testing tool.
What you should do:
• Use real-world usage data as an input
• Define a Peak Hour usage model that includes a
transaction rate (e.g. orders per hour).
• Include network conditions (Network Virtualization)
• Bonus points: what % of your traffic is generated by
bots?
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com10
Mistake 4: “We only do testing” (silos)
“Our job is all about finding defects in the
Test environment.”
Performance testers can have a stake in system
architecture, capacity planning, monitoring, non-functional
requirements, contracts with vendors (SLAs), and incidents
in Production.
What you should do:
• Don’t ignore the app after go-live.
• Keep looking for defects in the Production environment
(using monitoring tools).
• Be an advocate for application performance at every
stage of the software lifecycle.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com11
Mistake 5: “We’re response time testers” (tunnel vision)
“Our job is to measure response times with
our load testing tool.”
Your job is to find load and performance-related
problems…preferably before they reach Production.
What you should do:
• Check for errors under load.
• Test Failover under load.
• Test system behaviour when there are interface
outages under load.
• Ensure that performance problems and system metrics
will be visible to the Ops team in Production.
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com12
Mistake 6: Ignoring errors and other defects
“We tried to run our test last night, but the
web server crashed. It’s okay though;
they’ve restarted everything and deleted
the logs, so we can re-run the test.”
So it sounds like you actually found a few defects last night.
What you should do:
• Constantly be asking yourself “if this happened in
Production, would it be a problem?”
• If you see something, say something.
• Some of your most interesting days as a testers will
start out with “hmmm…that’s odd.”
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com13
Mistake 7: Miscalculating error rates
If you are reporting your error rate as:
!""#"	%&'( =
*&++(,	-"&.+&/'0#.+
-#'&1	-"&.+&/'0#.+
…then you are doing it wrong.
What you should do:
• Report on the probability of the user completing the
entire business process, not just individual steps.
• Bonus points: Under controlled conditions, anything
above an 0% error rate indicates a problem that
should be investigated.
Transaction Passed Failed Total
Front page 99,041 959 100,000
Search catalogue 99,002 998 100,000
Browse catalogue 99,033 967 100,000
View item 98,966 1,034 100,000
Checkout 51 49 100
TOTAL 396,093 4,007 400,100
© Copyright 2017 Stuart Moncrieff, www.myloadtest.com14
Summary of Mistakes
What have we covered?
1. Scripts without enough verification checks
2. Not monitoring the Test environment
3. Bad Workload Modelling
4. Focusing on “performance testing”, rather than
“performance”
5. Thinking your responsibility starts and ends with
response times
6. Ignoring defects that are right in front of you
7. Miscalculating error rates
15 © Copyright 2017 Stuart Moncrieff, www.myloadtest.com
Thank you for watching!
…and thank you to Neotys for hosting this event.
Contact:
• Twitter: @StuartMoncrieff
• Email: stuart@myloadtest.com
• Web: http://www.myloadtest.com
• LinkedIn: https://www.linkedin.com/in/stuartmoncrieff/

More Related Content

What's hot

Skytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlcSkytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlc
Skytap Cloud
 
All Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaAll Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about Java
Steve Poole
 
Principles Of Chaos Engineering - Chaos Engineering Hamburg
Principles Of Chaos Engineering - Chaos Engineering HamburgPrinciples Of Chaos Engineering - Chaos Engineering Hamburg
Principles Of Chaos Engineering - Chaos Engineering Hamburg
Nils Meder
 
DevOps and Cloud
DevOps and CloudDevOps and Cloud
DevOps and Cloud
Fernando Honig
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
MatthewSOASTA
 
The 7 Principles of DevOps and Cloud Applications
The 7 Principles of DevOps and Cloud ApplicationsThe 7 Principles of DevOps and Cloud Applications
The 7 Principles of DevOps and Cloud Applications
SolarWinds
 
Chaos Engineering when you're not Netflix
Chaos Engineering when you're not NetflixChaos Engineering when you're not Netflix
Chaos Engineering when you're not Netflix
Martez Reed
 
Top 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To FocusTop 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To Focus
devopsjourney
 
From ci to cd
From ci to cdFrom ci to cd
From ci to cd
Henri Gomez
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
TechWell
 
DevOps and Cloud Tips and Techniques to Revolutionize Your SDLC
DevOps and Cloud Tips and Techniques to Revolutionize Your SDLCDevOps and Cloud Tips and Techniques to Revolutionize Your SDLC
DevOps and Cloud Tips and Techniques to Revolutionize Your SDLC
CA Technologies
 
Chaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWSChaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWS
Bilal Aybar
 
Monktoberfest Fast Delivery
Monktoberfest Fast DeliveryMonktoberfest Fast Delivery
Monktoberfest Fast Delivery
Adrian Cockcroft
 
BsidesMCR_2016-what-can-infosec-learn-from-devops
BsidesMCR_2016-what-can-infosec-learn-from-devopsBsidesMCR_2016-what-can-infosec-learn-from-devops
BsidesMCR_2016-what-can-infosec-learn-from-devops
James '​-- Mckinlay
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
IBM UrbanCode Products
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
Mike Brittain
 
WSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of view
WSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of viewWSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of view
WSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of view
WSO2
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, CheaperTesting in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Gene Gotimer
 
OpenStack at EBSCO
OpenStack at EBSCOOpenStack at EBSCO
OpenStack at EBSCO
Tesora
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
IBM UrbanCode Products
 

What's hot (20)

Skytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlcSkytap parasoft webinar new years resolution- accelerate sdlc
Skytap parasoft webinar new years resolution- accelerate sdlc
 
All Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaAll Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about Java
 
Principles Of Chaos Engineering - Chaos Engineering Hamburg
Principles Of Chaos Engineering - Chaos Engineering HamburgPrinciples Of Chaos Engineering - Chaos Engineering Hamburg
Principles Of Chaos Engineering - Chaos Engineering Hamburg
 
DevOps and Cloud
DevOps and CloudDevOps and Cloud
DevOps and Cloud
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
 
The 7 Principles of DevOps and Cloud Applications
The 7 Principles of DevOps and Cloud ApplicationsThe 7 Principles of DevOps and Cloud Applications
The 7 Principles of DevOps and Cloud Applications
 
Chaos Engineering when you're not Netflix
Chaos Engineering when you're not NetflixChaos Engineering when you're not Netflix
Chaos Engineering when you're not Netflix
 
Top 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To FocusTop 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To Focus
 
From ci to cd
From ci to cdFrom ci to cd
From ci to cd
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
 
DevOps and Cloud Tips and Techniques to Revolutionize Your SDLC
DevOps and Cloud Tips and Techniques to Revolutionize Your SDLCDevOps and Cloud Tips and Techniques to Revolutionize Your SDLC
DevOps and Cloud Tips and Techniques to Revolutionize Your SDLC
 
Chaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWSChaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWS
 
Monktoberfest Fast Delivery
Monktoberfest Fast DeliveryMonktoberfest Fast Delivery
Monktoberfest Fast Delivery
 
BsidesMCR_2016-what-can-infosec-learn-from-devops
BsidesMCR_2016-what-can-infosec-learn-from-devopsBsidesMCR_2016-what-can-infosec-learn-from-devops
BsidesMCR_2016-what-can-infosec-learn-from-devops
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 
WSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of view
WSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of viewWSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of view
WSO2Con EU 2015: Keynote - Cloud Native Apps… from a user point of view
 
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, CheaperTesting in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
 
OpenStack at EBSCO
OpenStack at EBSCOOpenStack at EBSCO
OpenStack at EBSCO
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 

Similar to Top 7 Mistakes in Performance Testing

Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрияПирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
SQALab
 
Test Pyramid vs Roi
Test Pyramid vs Roi Test Pyramid vs Roi
Test Pyramid vs Roi
COMAQA.BY
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
Varun Sharma
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
 
Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back! Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back!
Worksoft
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
Klaus Salchner
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
Financial Services Innovators
 
10 Best Practices for Magento Maintenance and Support
10 Best Practices for Magento Maintenance and Support10 Best Practices for Magento Maintenance and Support
10 Best Practices for Magento Maintenance and Support
APPSeCONNECT
 
Magento maintenance
Magento maintenanceMagento maintenance
Magento maintenance
salvishreya11
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of Testing
Sourabh Kasliwal
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
Jean-François Nguyen
 
Bab 1
Bab 1Bab 1
Future of QA
Future of QAFuture of QA
Future of QA
amitagarwal2006
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
amitagarwal2006
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
TechWell
 
Test Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with ExperimentationTest Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with Experimentation
Optimizely
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
Justin Ison
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
Synerzip
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
Hariprakash Agrawal
 
What does it take to be a performance tester?
What does it take to be a performance tester?What does it take to be a performance tester?
What does it take to be a performance tester?
SQALab
 

Similar to Top 7 Mistakes in Performance Testing (20)

Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрияПирамида Тестирования через призму ROI калькулятора и прочая геометрия
Пирамида Тестирования через призму ROI калькулятора и прочая геометрия
 
Test Pyramid vs Roi
Test Pyramid vs Roi Test Pyramid vs Roi
Test Pyramid vs Roi
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back! Stop manual testing: Take your weekends back!
Stop manual testing: Take your weekends back!
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
 
10 Best Practices for Magento Maintenance and Support
10 Best Practices for Magento Maintenance and Support10 Best Practices for Magento Maintenance and Support
10 Best Practices for Magento Maintenance and Support
 
Magento maintenance
Magento maintenanceMagento maintenance
Magento maintenance
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of Testing
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Bab 1
Bab 1Bab 1
Bab 1
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
 
Test Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with ExperimentationTest Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with Experimentation
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
 
What does it take to be a performance tester?
What does it take to be a performance tester?What does it take to be a performance tester?
What does it take to be a performance tester?
 

Recently uploaded

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 

Recently uploaded (20)

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 

Top 7 Mistakes in Performance Testing

  • 1. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com The Top 7 Mistakes in Performance Testing …and the importance of getting the basics right first
  • 2. 3 © Copyright 2017 Stuart Moncrieff, www.myloadtest.com Good performance testing is really important… …but so many people do it really badly… …and that really bothers me.
  • 3. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com2 Stuart Moncrieff: Web Performance Evangelist How am I qualified to be here? • Web performance specialist since 2002 • 15 years of consulting experience • I have seen almost all the ways that people mess up when they are doing performance testing.
  • 4. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com4 What I think I look like when I’m talking about Performance Testing: What I actually look like when I’m talking about Performance Testing:
  • 5. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com5 The “we want the advanced training” paradox Companies usually ask to include “expert level” content in training courses for their staff, even when their staff don’t understand the basics. But their staff are all searching Google for entry-level training material. See also: • The Dunning-Kruger effect
  • 6. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com6 The structural problem: Most companies can’t differentiate between good and bad performance testing Performance Testing treated as an empty ritual to be performed before deployment. Patterns of dysfunction: • Not even noticing problems in Production because performance monitoring is inadequate. • Problems discovered in Production, even though they could have been discovered in Test. • Testing team can blame anything missed on “differences between Test and Production environments”. • Ops team tries to solve performance problems in Production without involving performance testers. Tuning in Production. Throwing hardware at the problem.
  • 7. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com7 Mistake 1: Not adding validation checks in your scripts Load testing tools will automatically detect HTTP error codes, but error pages are often served with an HTTP 200 response code. How do you know your application is not throwing errors under load? What you should do: • Add verification checks for each page request. • Check for something that indicates success and is unique to the page. • Bonus points: static analysis of scripts as they are checked into version control.
  • 8. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com8 Mistake 2: Not monitoring the Test environment “Setting up monitoring will take too long, so we won’t include infrastructure metrics like CPU utilisation in our report.” How do you diagnose the root cause of load-related problems found during testing? What you should do: • Make the effort to set up infrastructure monitoring in the Test environment. • Bonus points: have exactly the same monitoring in Test and Production environments.
  • 9. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com9 Mistake 3: Bad Workload Modelling (or none at all) “We are going to generate 1000 concurrent users worth of load” What does that even mean? Web apps care more about requests per minute than they do about how many virtual users are configured in your testing tool. What you should do: • Use real-world usage data as an input • Define a Peak Hour usage model that includes a transaction rate (e.g. orders per hour). • Include network conditions (Network Virtualization) • Bonus points: what % of your traffic is generated by bots?
  • 10. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com10 Mistake 4: “We only do testing” (silos) “Our job is all about finding defects in the Test environment.” Performance testers can have a stake in system architecture, capacity planning, monitoring, non-functional requirements, contracts with vendors (SLAs), and incidents in Production. What you should do: • Don’t ignore the app after go-live. • Keep looking for defects in the Production environment (using monitoring tools). • Be an advocate for application performance at every stage of the software lifecycle.
  • 11. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com11 Mistake 5: “We’re response time testers” (tunnel vision) “Our job is to measure response times with our load testing tool.” Your job is to find load and performance-related problems…preferably before they reach Production. What you should do: • Check for errors under load. • Test Failover under load. • Test system behaviour when there are interface outages under load. • Ensure that performance problems and system metrics will be visible to the Ops team in Production.
  • 12. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com12 Mistake 6: Ignoring errors and other defects “We tried to run our test last night, but the web server crashed. It’s okay though; they’ve restarted everything and deleted the logs, so we can re-run the test.” So it sounds like you actually found a few defects last night. What you should do: • Constantly be asking yourself “if this happened in Production, would it be a problem?” • If you see something, say something. • Some of your most interesting days as a testers will start out with “hmmm…that’s odd.”
  • 13. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com13 Mistake 7: Miscalculating error rates If you are reporting your error rate as: !""#" %&'( = *&++(, -"&.+&/'0#.+ -#'&1 -"&.+&/'0#.+ …then you are doing it wrong. What you should do: • Report on the probability of the user completing the entire business process, not just individual steps. • Bonus points: Under controlled conditions, anything above an 0% error rate indicates a problem that should be investigated. Transaction Passed Failed Total Front page 99,041 959 100,000 Search catalogue 99,002 998 100,000 Browse catalogue 99,033 967 100,000 View item 98,966 1,034 100,000 Checkout 51 49 100 TOTAL 396,093 4,007 400,100
  • 14. © Copyright 2017 Stuart Moncrieff, www.myloadtest.com14 Summary of Mistakes What have we covered? 1. Scripts without enough verification checks 2. Not monitoring the Test environment 3. Bad Workload Modelling 4. Focusing on “performance testing”, rather than “performance” 5. Thinking your responsibility starts and ends with response times 6. Ignoring defects that are right in front of you 7. Miscalculating error rates
  • 15. 15 © Copyright 2017 Stuart Moncrieff, www.myloadtest.com Thank you for watching! …and thank you to Neotys for hosting this event. Contact: • Twitter: @StuartMoncrieff • Email: stuart@myloadtest.com • Web: http://www.myloadtest.com • LinkedIn: https://www.linkedin.com/in/stuartmoncrieff/