SlideShare uma empresa Scribd logo
1 de 16
SOASTA Webinar Series




CLOUD TESTING            RULE 1:
Rewriting the Rules of   Stop Cheating and
                         Start Running
Performance Testing
                         Realistic Tests
BC: (Before Cloud)
We Worked With What We Had…

              Before the web, when apps served
              hundreds, there was…
 Circa 1991


                             When apps peaked at
                             thousands, we had a few more
                             options
              Turn of 21st
               Century
                                             “Virtual Users” were a valuable
                                             commodity
                             1 VU = $1200!


                                                                    Yet many were left
                                                                    wanting
                                         Untested websites, 2011: 75%
Necessity Led to Workarounds
How we’ve “cheated” to get the job done


1) Modified “Think Time” to stretch VUs
Example 2 virtual users ≠ 1 divided in 2
                                             ≠



2) Extrapolated results based on small lab
tests
Educated or assisted guessing is no match
for measuring at real scale
Necessity Led to Workarounds
How we’ve “cheated” to get the job done


3) Tested pages or assets in a silo, ignoring
realistic pace and flow of user behavior
Optimizes limited test hardware, but
disregards session states, caching, etc.



4) Accepted blind spots by focusing on
limited, single metrics (e.g. response time)
Without complete end-to-end
views, everything’s a black box
Let’s Look at the NEW RULES


         Establishing Accuracy and Realism


                 Scott Barber
1) Modifying Think Time: The Wrong Way

“If all you have is a hammer, everything looks like a nail”
                                     -- Bernard Baruch
To Cheat a Software License
  •   We did what we had to so we could generate some semblance of load
  •   We often found real and serious performance issues
  •   Compared to *not* cheating, we added increased value
  •   But they were often not the “right” ones
  •   We still couldn’t simulate production, and we still got burned
Stretch Limited Hardware
  •   We had the same issue with hardware, so we overloaded what we had
  •   Again, we found real and serious performance issues
  •   Again, it increased value, but again, we rarely found the “right” issues
  •   And, again, we got burned in production
1) Modifying Think Time: The Right Way

The only way to simulate production…
                           …is to simulate production.
Users Think… and Type
  • Guess what? They all do it at different speeds!
  • Guess what else? It's your job to figure out how to model and script those
    varying speeds


Determine how long they think
  •   Log files
  •   Industry research
  •   Observation
  •   Educated guess/Intuition
  •   Combinations are best
1) Modifying Think Time: The Right Way
When you get it wrong, it’s…   When you get it right, it’s…

                                     Not
                                 Frightening



   Frightening
2) Extrapolating Capacity: The Wrong Way

Extrapolating performance test results is black magic
                           DON’T DO IT
Unless you are, or were trained by, Connie Smith, Ph.D.
The most common type of bad extrapolation…
  • 1 leg of an n leg system ≠ 1/nth capacity
  • Fractional virtual resources ≠ fractional capacity


Other types of bad extrapolation...
  • Faster processors in production ≠ faster response time
  • More resources ≠ faster response time
  • Any extrapolation that presumes linear correlations
2) Measuring Capacity: The Right Way

Realistically, there are 3 ways to predict capacity

Trust your gut & cross your fingers
  • Gut feelings are sometimes very accurate
  • They can also cost you your job
Reverse cross-validate
  • Use post-release production data to modify & re-measure test environment
  • Use new results to make predictions for prod
  • Check new predictions vs. reality, revise repeat
Find a way to run some tests in the actual production environment
  • You can learn a lot from loads below expected peak
  • A few of hours of scheduled maintenance in the middle of the night can
    change *everything*
3) Modeling User Flows: The Wrong Way

You can’t test everything…
                  …the possibilities are literally endless.


Implementing functional use cases or scenarios…
  • Will have you scripting until the sun explodes, AND
  • Will regularly miss “easy” stuff by choosing and prioritizing poorly


Picking the most common, or most “important” flow
  • Is unlikely to catch the worst performance issues
  • Is likely to lead the application to be “hyper-tuned” for that scenario
  • Is likely to yield unwanted surprises
3) Modeling User Flows: The Wrong Way
3) Modeling User Flows: The Right Way
Tell lots of little lies?
                             …No! FIBLOTS
                    Common activities (get from logs)

                    e.g. Resource hogs (get from developers/admins)

                    Even if these activities are both rare and not risky

                    SLA’s, Contracts and other stuff that will get you sued

                    What the users will see and are mostly likely to
                    complain about. What is likely to earn you bad press

                    New technologies, old technologies, places where it’s
                    failed before, previously under-tested areas

                    Don’t argue with the boss (too much)
3) Modeling User Flows: The Right Way
4) Measuring Performance: The Wrong Way




All three have an average of 4.
Which has the “best” performance”?
How do you know?
4) Measuring Performance: The Right Way




Now which has the “best” performance”?

Mais conteúdo relacionado

Destaque

Participación Juvenil y Redes Sociales
Participación Juvenil y Redes SocialesParticipación Juvenil y Redes Sociales
Participación Juvenil y Redes SocialesArzobispado Arequipa
 
Webinar issues we_find_slideshare
Webinar issues we_find_slideshareWebinar issues we_find_slideshare
Webinar issues we_find_slideshareSOASTA
 
Closing the Mobile App Quality Gap webinar
Closing the Mobile App Quality Gap webinarClosing the Mobile App Quality Gap webinar
Closing the Mobile App Quality Gap webinarSOASTA
 
Andrew Abraham Tillamook Pitch
Andrew Abraham Tillamook PitchAndrew Abraham Tillamook Pitch
Andrew Abraham Tillamook Pitchandrewbabraham
 
Fast, Strong & Nimble Mobile Performance Testing
Fast, Strong & Nimble Mobile Performance TestingFast, Strong & Nimble Mobile Performance Testing
Fast, Strong & Nimble Mobile Performance TestingSOASTA
 
How to measure the business impact of web performance
How to measure the business impact of web performanceHow to measure the business impact of web performance
How to measure the business impact of web performanceSOASTA
 

Destaque (6)

Participación Juvenil y Redes Sociales
Participación Juvenil y Redes SocialesParticipación Juvenil y Redes Sociales
Participación Juvenil y Redes Sociales
 
Webinar issues we_find_slideshare
Webinar issues we_find_slideshareWebinar issues we_find_slideshare
Webinar issues we_find_slideshare
 
Closing the Mobile App Quality Gap webinar
Closing the Mobile App Quality Gap webinarClosing the Mobile App Quality Gap webinar
Closing the Mobile App Quality Gap webinar
 
Andrew Abraham Tillamook Pitch
Andrew Abraham Tillamook PitchAndrew Abraham Tillamook Pitch
Andrew Abraham Tillamook Pitch
 
Fast, Strong & Nimble Mobile Performance Testing
Fast, Strong & Nimble Mobile Performance TestingFast, Strong & Nimble Mobile Performance Testing
Fast, Strong & Nimble Mobile Performance Testing
 
How to measure the business impact of web performance
How to measure the business impact of web performanceHow to measure the business impact of web performance
How to measure the business impact of web performance
 

Semelhante a Changing rules 1_stopcheating_slideshare

Be a Quality Evangelist
Be a Quality EvangelistBe a Quality Evangelist
Be a Quality Evangelistyusra123
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile ProcessDavid Copeland
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler
 
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in productionbcantrill
 
Quantum Computing and Java QC API—Strange
Quantum Computing and Java QC API—StrangeQuantum Computing and Java QC API—Strange
Quantum Computing and Java QC API—StrangeVMware Tanzu
 
An Introduction to Usability
An Introduction to UsabilityAn Introduction to Usability
An Introduction to Usabilitydirk.swart
 
Five Cliches of Online Game Development
Five Cliches of Online Game DevelopmentFive Cliches of Online Game Development
Five Cliches of Online Game Developmentiandundore
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing ExplainedTechWell
 
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl OpenNebula Project
 
Monitoring of OpenNebula installations
Monitoring of OpenNebula installationsMonitoring of OpenNebula installations
Monitoring of OpenNebula installationsNETWAYS
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)Julien SIMON
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solvingFlowa Oy
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and cultureChris Winters
 
Observability for Emerging Infra (what got you here won't get you there)
Observability for Emerging Infra (what got you here won't get you there)Observability for Emerging Infra (what got you here won't get you there)
Observability for Emerging Infra (what got you here won't get you there)Charity Majors
 
Beyond Staggered Sprints: Integrating User Experience and Agile
Beyond Staggered Sprints: Integrating User Experience and AgileBeyond Staggered Sprints: Integrating User Experience and Agile
Beyond Staggered Sprints: Integrating User Experience and AgileJeff Gothelf
 
POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...
POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...
POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...Liming Zhu
 
Usability Testing
Usability TestingUsability Testing
Usability TestingAndy Budd
 
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of TestingHo Chi Minh City Software Testing Club
 

Semelhante a Changing rules 1_stopcheating_slideshare (20)

bp
bpbp
bp
 
Be a Quality Evangelist
Be a Quality EvangelistBe a Quality Evangelist
Be a Quality Evangelist
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile Process
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in production
 
Quantum Computing and Java QC API—Strange
Quantum Computing and Java QC API—StrangeQuantum Computing and Java QC API—Strange
Quantum Computing and Java QC API—Strange
 
An Introduction to Usability
An Introduction to UsabilityAn Introduction to Usability
An Introduction to Usability
 
Five Cliches of Online Game Development
Five Cliches of Online Game DevelopmentFive Cliches of Online Game Development
Five Cliches of Online Game Development
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
OpenNebulaConf 2013 - Monitoring of OpenNebula installations by Florian Heigl
 
Monitoring of OpenNebula installations
Monitoring of OpenNebula installationsMonitoring of OpenNebula installations
Monitoring of OpenNebula installations
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solving
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and culture
 
Observability for Emerging Infra (what got you here won't get you there)
Observability for Emerging Infra (what got you here won't get you there)Observability for Emerging Infra (what got you here won't get you there)
Observability for Emerging Infra (what got you here won't get you there)
 
Beyond Staggered Sprints: Integrating User Experience and Agile
Beyond Staggered Sprints: Integrating User Experience and AgileBeyond Staggered Sprints: Integrating User Experience and Agile
Beyond Staggered Sprints: Integrating User Experience and Agile
 
POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...
POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...
POD-Diagnosis: Error Detection and Diagnosis of Sporadic Operations on Cloud ...
 
Usability Testing
Usability TestingUsability Testing
Usability Testing
 
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing[HCMC STC Jan 2015] Proving Our Worth  Quantifying The Value Of Testing
[HCMC STC Jan 2015] Proving Our Worth Quantifying The Value Of Testing
 

Mais de SOASTA

Mobile Performance: State of the Union
Mobile Performance: State of the UnionMobile Performance: State of the Union
Mobile Performance: State of the UnionSOASTA
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingSOASTA
 
Velocity 2015 building self healing systems (slide share version)
Velocity 2015 building self healing systems (slide share version)Velocity 2015 building self healing systems (slide share version)
Velocity 2015 building self healing systems (slide share version)SOASTA
 
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
 
3 tips to increase mobile test coverage
3 tips to increase mobile test coverage3 tips to increase mobile test coverage
3 tips to increase mobile test coverageSOASTA
 
Webinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & Mobile
Webinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & MobileWebinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & Mobile
Webinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & MobileSOASTA
 
Get Ready for Changes To Load Testing
Get Ready for Changes To Load Testing Get Ready for Changes To Load Testing
Get Ready for Changes To Load Testing SOASTA
 
Building a Performance A-Team
Building a Performance A-TeamBuilding a Performance A-Team
Building a Performance A-TeamSOASTA
 
Dach webinar - Image Absicherung – Lektionen aus dem Facebook Crash
Dach webinar - Image Absicherung – Lektionen aus dem Facebook CrashDach webinar - Image Absicherung – Lektionen aus dem Facebook Crash
Dach webinar - Image Absicherung – Lektionen aus dem Facebook CrashSOASTA
 
Four best practices for performance testing mobile apps soasta and utopia
Four best practices for performance testing mobile apps   soasta and utopiaFour best practices for performance testing mobile apps   soasta and utopia
Four best practices for performance testing mobile apps soasta and utopiaSOASTA
 
Synthetic and rum webinar
Synthetic and rum webinarSynthetic and rum webinar
Synthetic and rum webinarSOASTA
 
7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testing7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testingSOASTA
 
Secrets to Realistic Load Testing
Secrets to Realistic Load TestingSecrets to Realistic Load Testing
Secrets to Realistic Load TestingSOASTA
 
Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationSOASTA
 
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and DeliveryAccelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and DeliverySOASTA
 
The Mobile Testing Checklist
The Mobile Testing ChecklistThe Mobile Testing Checklist
The Mobile Testing ChecklistSOASTA
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...SOASTA
 
Reducing 3rd party content risk with Real User Monitoring
Reducing 3rd party content risk with Real User MonitoringReducing 3rd party content risk with Real User Monitoring
Reducing 3rd party content risk with Real User MonitoringSOASTA
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessSOASTA
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentSOASTA
 

Mais de SOASTA (20)

Mobile Performance: State of the Union
Mobile Performance: State of the UnionMobile Performance: State of the Union
Mobile Performance: State of the Union
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App Testing
 
Velocity 2015 building self healing systems (slide share version)
Velocity 2015 building self healing systems (slide share version)Velocity 2015 building self healing systems (slide share version)
Velocity 2015 building self healing systems (slide share version)
 
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)
 
3 tips to increase mobile test coverage
3 tips to increase mobile test coverage3 tips to increase mobile test coverage
3 tips to increase mobile test coverage
 
Webinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & Mobile
Webinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & MobileWebinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & Mobile
Webinar: Was die Top eCommerce Firmen über Ihre Performance auf Web- & Mobile
 
Get Ready for Changes To Load Testing
Get Ready for Changes To Load Testing Get Ready for Changes To Load Testing
Get Ready for Changes To Load Testing
 
Building a Performance A-Team
Building a Performance A-TeamBuilding a Performance A-Team
Building a Performance A-Team
 
Dach webinar - Image Absicherung – Lektionen aus dem Facebook Crash
Dach webinar - Image Absicherung – Lektionen aus dem Facebook CrashDach webinar - Image Absicherung – Lektionen aus dem Facebook Crash
Dach webinar - Image Absicherung – Lektionen aus dem Facebook Crash
 
Four best practices for performance testing mobile apps soasta and utopia
Four best practices for performance testing mobile apps   soasta and utopiaFour best practices for performance testing mobile apps   soasta and utopia
Four best practices for performance testing mobile apps soasta and utopia
 
Synthetic and rum webinar
Synthetic and rum webinarSynthetic and rum webinar
Synthetic and rum webinar
 
7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testing7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testing
 
Secrets to Realistic Load Testing
Secrets to Realistic Load TestingSecrets to Realistic Load Testing
Secrets to Realistic Load Testing
 
Lasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentationLasttest auf Zuruf CloudTest on Demand webinar presentation
Lasttest auf Zuruf CloudTest on Demand webinar presentation
 
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and DeliveryAccelerate Web and Mobile Testing for Continuous Integration and Delivery
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
 
The Mobile Testing Checklist
The Mobile Testing ChecklistThe Mobile Testing Checklist
The Mobile Testing Checklist
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
Reducing 3rd party content risk with Real User Monitoring
Reducing 3rd party content risk with Real User MonitoringReducing 3rd party content risk with Real User Monitoring
Reducing 3rd party content risk with Real User Monitoring
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
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
 
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
 
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
 
🐬 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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
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
 
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
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Changing rules 1_stopcheating_slideshare

  • 1. SOASTA Webinar Series CLOUD TESTING RULE 1: Rewriting the Rules of Stop Cheating and Start Running Performance Testing Realistic Tests
  • 2. BC: (Before Cloud) We Worked With What We Had… Before the web, when apps served hundreds, there was… Circa 1991 When apps peaked at thousands, we had a few more options Turn of 21st Century “Virtual Users” were a valuable commodity 1 VU = $1200! Yet many were left wanting Untested websites, 2011: 75%
  • 3. Necessity Led to Workarounds How we’ve “cheated” to get the job done 1) Modified “Think Time” to stretch VUs Example 2 virtual users ≠ 1 divided in 2 ≠ 2) Extrapolated results based on small lab tests Educated or assisted guessing is no match for measuring at real scale
  • 4. Necessity Led to Workarounds How we’ve “cheated” to get the job done 3) Tested pages or assets in a silo, ignoring realistic pace and flow of user behavior Optimizes limited test hardware, but disregards session states, caching, etc. 4) Accepted blind spots by focusing on limited, single metrics (e.g. response time) Without complete end-to-end views, everything’s a black box
  • 5. Let’s Look at the NEW RULES Establishing Accuracy and Realism Scott Barber
  • 6. 1) Modifying Think Time: The Wrong Way “If all you have is a hammer, everything looks like a nail” -- Bernard Baruch To Cheat a Software License • We did what we had to so we could generate some semblance of load • We often found real and serious performance issues • Compared to *not* cheating, we added increased value • But they were often not the “right” ones • We still couldn’t simulate production, and we still got burned Stretch Limited Hardware • We had the same issue with hardware, so we overloaded what we had • Again, we found real and serious performance issues • Again, it increased value, but again, we rarely found the “right” issues • And, again, we got burned in production
  • 7. 1) Modifying Think Time: The Right Way The only way to simulate production… …is to simulate production. Users Think… and Type • Guess what? They all do it at different speeds! • Guess what else? It's your job to figure out how to model and script those varying speeds Determine how long they think • Log files • Industry research • Observation • Educated guess/Intuition • Combinations are best
  • 8. 1) Modifying Think Time: The Right Way When you get it wrong, it’s… When you get it right, it’s… Not Frightening Frightening
  • 9. 2) Extrapolating Capacity: The Wrong Way Extrapolating performance test results is black magic DON’T DO IT Unless you are, or were trained by, Connie Smith, Ph.D. The most common type of bad extrapolation… • 1 leg of an n leg system ≠ 1/nth capacity • Fractional virtual resources ≠ fractional capacity Other types of bad extrapolation... • Faster processors in production ≠ faster response time • More resources ≠ faster response time • Any extrapolation that presumes linear correlations
  • 10. 2) Measuring Capacity: The Right Way Realistically, there are 3 ways to predict capacity Trust your gut & cross your fingers • Gut feelings are sometimes very accurate • They can also cost you your job Reverse cross-validate • Use post-release production data to modify & re-measure test environment • Use new results to make predictions for prod • Check new predictions vs. reality, revise repeat Find a way to run some tests in the actual production environment • You can learn a lot from loads below expected peak • A few of hours of scheduled maintenance in the middle of the night can change *everything*
  • 11. 3) Modeling User Flows: The Wrong Way You can’t test everything… …the possibilities are literally endless. Implementing functional use cases or scenarios… • Will have you scripting until the sun explodes, AND • Will regularly miss “easy” stuff by choosing and prioritizing poorly Picking the most common, or most “important” flow • Is unlikely to catch the worst performance issues • Is likely to lead the application to be “hyper-tuned” for that scenario • Is likely to yield unwanted surprises
  • 12. 3) Modeling User Flows: The Wrong Way
  • 13. 3) Modeling User Flows: The Right Way Tell lots of little lies? …No! FIBLOTS Common activities (get from logs) e.g. Resource hogs (get from developers/admins) Even if these activities are both rare and not risky SLA’s, Contracts and other stuff that will get you sued What the users will see and are mostly likely to complain about. What is likely to earn you bad press New technologies, old technologies, places where it’s failed before, previously under-tested areas Don’t argue with the boss (too much)
  • 14. 3) Modeling User Flows: The Right Way
  • 15. 4) Measuring Performance: The Wrong Way All three have an average of 4. Which has the “best” performance”? How do you know?
  • 16. 4) Measuring Performance: The Right Way Now which has the “best” performance”?