SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
Page 1 of 4
Don’t assume you know what it means
People to refer, their books and blogs: Scott Barber,
Alberto Savoia, Subramanya, Chris Loosely, Jared
Spool, Jakob Neilsen, Connie & Lloyd
Understand the Client and Server side aspects of
performance
Understand Networking
Be thorough about the communication protocol of
your current context
Understand the performance improvements in HTTP
1.1 versus HTTP 1.0
Google for general performance issues
Web 2.0 performance
Read basics of Queuing Theory
Join Performance testing groups in LinkedIn, STC, TR
Dig out presentations on Perf testing in conference
websites by experts
Http versus https
Don’t ask What is the difference between load, perf
and stress in any forum and get confused
Relationship of image size to load times in browser
Relationship to browser plugins
Conferences on performance testing, webinars,
podcasts, interviews
Learn UCML, Web usage signature
Write customized tools (don’t be lazy)
Server simulation: Ex: Fiddler
Fuzzing
Get yourself trained on perf testing, tools
Meet other performance testers & talk to them often
Create a utility library
Carve out a time to learn performance engineering.
Learn Python, Perl, Ruby, Java, AutoIT
Start perf testing in parallel to every other testing
Performance testing is not a stage in project - PDLC
Throughput versus latency
Perf testing is not just about speed of response
Performance benchmarking – how do we know its
good enough
Read book: Turning numbers into knowledge: Jonathan
G Koomey
Cloud perf testing: Are you testing something inside
the cloud or from the cloud?
Talk to customer, users and ask them what they would
consider as poor, good and bad performance
Read the Service Level Agreement to understand
performance test objectives
Negotiate what is achievable
Checks for readiness of Perf testing of a product
Understand the architecture of your application - Web
server: App server: DB server: Documentation,
Limitations, Live implementations, companies using it,
problems reported, testers dealing with it, perf related
config
Caching: Client and Server
Understand the security versus performance is a trade-
off
Is your client thin or thick?
Read code, code comments, integration test results
Read through bug tracking system and look for clues
Know business value of transactions
Spend time on your competitor’s website/product
List the risks you are taking for limitations you have
Reproducibility of perf bugs is crucial, plan for it
Scope mentioned in plan should be practical
Wishful thinking harms the project
Talk to developers daily
Meet and update all stakeholders
Availability of lab
Have acceptance /rejection checks in place
Heuristics of performance testing
Rahul Verma & Pradeep Soundararajan
No single person can conquer the world of performance testing because it’s hard, vast and growing. Here we bring in our
experience and practices of performance testing.
Page 2 of 4
Consider cost of testing performance to value
Perf testing is iterative (not a blue moon activity)
Hiring performance testers can impact what you can
achieve. Don’t hire only tool runners
Performance testing is a mindset
Constraining your budget on a key investment towards
perf testing could cost you more
Testers who code need to be in team
All testers need to understand perf lab setup well
Subject matter experts need to be paired with testers
Ask often: Is there a problem here?
If you want to ignore perf test results, don’t invest on it
Perf testers need to talk to other testers on the team
Pair perf testers with functional testers occasionally
Conduct surveys
Assessment of your perf testing strategy is needed
Play with Tools: Sniffers, Perfmon, Jmeter, Pylot,
LoadRunner, WebLoad, QALoad, NeoLoad,
Alexa for live portal traffic details of users and
distribution
Http traffic wire browser plugins, proxies
Real-time downtime reporting: Pingdom
Assess the effectiveness of user traffic simulation
Types of user access: Admin, Guest, Authenticated,
Logged in, Not logged in, Limited privileges, Hackers
Emotions of users using the product
Probing clients: Absolute experience
Consider the impact of bandwidth in performance
measurements
Understand the real user system configuration and
everything they have installed in it
Identify top priority machines, OS, browsers, flavors,
devices and platforms
Distribution of traffic, loads, data
Types of content being accessed: media, office
documents, html, flv, DRM, compressed, encrypted
Concurrency, Multithreads
Virtual and simulated users are not equal to actual
concurrency
Record playback is not THE thing
Parameterize, don’t hardcode
Calculate Memory footprint of a virtual user
Benchmark the test environment
Study your application in the light of Ramp up patterns
Load Balancing
Spike, SOAK, Memory Leaks
Min specifications test
Test your test environment
Have tool assessment plans in place
Maintain tools, upgrade them regularly
Time synchronization amongst test machines
Size of database, populating it with data
Be careful while performing tests on production server
Reliability tests and measurement
Choose the frequency of measurement carefully in a
test.
Log files
Limit the level to which logging happens
Not all perf tests can be done on virtual machines
Test data generators, tools
Frequently get user data from production to use it to
test environment
Don’t keep your test data outdated
Version control everything
Bring in actual users at regular intervals: subjective
analysis
Desktop App performance: Boot time, Load time,
Response time, Install time, Uninstall time, Internal
Page 3 of 4
processing time, Memory allocation time, Buffering
time
Test Lab : Planning, organizing, procurement, setting
up, documenting, Emulation, Troubleshooting
Separating out browser (any other app) perf problems
from what is being tested
You would need a lot of test data – keep it ready.
Relationship to Antivirus and Firewalls
Relationship to error handling
Consider Geographical distribution of users
Security testing at high load
Functional tests at high load
Why, what & how you measure
The act of measurement impacts the measurement.
Accurate measurements at times need
instrumentation of code/ Testability of code
Knowing what you can’t measure and knowing you
don’t have the right budget
Measurement without a goal is dangerous
Failures in proper measurement can lead to bad
decisions
Do a stage by stage analysis of response times
Analysis of users moving away using the product
Understand how performance relates to Hard Disk,
RAM, Processor, Java version, flash player, parallel app
running, RAID, network, and user needs
Making inferences and conjectures on statistics
collected
Depth and breadth of unit testing
Bottleneck analysis, Memory Leaks, Paging
OS process blocking resources
Analyze the consistency of performance across
platforms, OS, browsers, devices
Analyzing validation time as against what number a
tool spits out
Users don’t connect the way your tool connects
Users don’t react as immediate as your tools do
Focus on timing coverage
Don’t always extrapolate results
Garbage collection
Anticipate Microsoft to release a patch which will
reboot all systems in the world and connect to your
system at the same time
Test for recoverability of a server post a crash
Adding hardware is not necessarily a way to solve
problems
Performance delays can occur when hardware is
heated
Not rebooting systems for a long time causes a slow
down
List all interrupts from other processes, apps and OS
Don’t think robots use production systems
Humans will click on something for long time – don’t
rule that out
Constant low resource usage of server could mean
unnecessarily high configuration
Don’t jump to conclusions when looking at test results
Story behind a number is important
Averages are misleading
Remove Outliers & analyze
Denial of Service
If you have not known from which build the
performance started to get poor, you are definitely lost
Proper error message when system is overloaded
Study processor load sharing (affinity)
Conduct single user acceptance / rejection checks
Check if something works for a single (set of) user
Reports are not just numbers
Understand the audience of your reports
Page 4 of 4
When testers need time to investigate, give it
Measurements shouldn’t be analyzed in isolation
When numbers look good, they always aren’t.
Have a redundant server to handle things in events
Happy path testing is a myth. Happy users is reality
Forcing users to do a task increases load
Correlate speed of response to patience of target users
User perceives bad Usability as bad Performance

Weitere ähnliche Inhalte

Was ist angesagt?

Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksScott Barber
 
Top 7 reasons why software testing is crucial in SDLC
Top 7 reasons why software testing is crucial in SDLCTop 7 reasons why software testing is crucial in SDLC
Top 7 reasons why software testing is crucial in SDLCSLAJobs Chennai
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaEdureka!
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingTechWell
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersSachin Gupta
 
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...Impetus Technologies
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopJim Plush
 
Software testing techniques
Software testing techniquesSoftware testing techniques
Software testing techniqueschaklee191
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6Bisrat Girma
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingRichard Bishop
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testingVikrant Chauhan
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1FAIZALSAIYED
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Grig Gheorghiu
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Softwareguest8861ff
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNetHai Tran Son
 
Automated Browser Compatibility Testing
Automated Browser Compatibility TestingAutomated Browser Compatibility Testing
Automated Browser Compatibility TestingQAI Global
 

Was ist angesagt? (20)

Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
 
Top 7 reasons why software testing is crucial in SDLC
Top 7 reasons why software testing is crucial in SDLCTop 7 reasons why software testing is crucial in SDLC
Top 7 reasons why software testing is crucial in SDLC
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated Testing
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answers
 
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
 
Types of Non Functional Testing
Types of Non Functional TestingTypes of Non Functional Testing
Types of Non Functional Testing
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
Software testing techniques
Software testing techniquesSoftware testing techniques
Software testing techniques
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Value of software testing
Value of software testingValue of software testing
Value of software testing
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
Automated Browser Compatibility Testing
Automated Browser Compatibility TestingAutomated Browser Compatibility Testing
Automated Browser Compatibility Testing
 

Ähnlich wie Heuristics of performance testing

Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Munirathnam Naidu
 
ალექსანდრე ნემსაძე - Release it
ალექსანდრე ნემსაძე - Release itალექსანდრე ნემსაძე - Release it
ალექსანდრე ნემსაძე - Release itunihack
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationTechWell
 
1 Ibm Solo Pruebas 2009
1 Ibm Solo Pruebas 20091 Ibm Solo Pruebas 2009
1 Ibm Solo Pruebas 2009Pepe
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache JmeterMindfire Solutions
 
Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Tze Chin Tang
 
Magical Performance tuning with Gomez
Magical Performance tuning with GomezMagical Performance tuning with Gomez
Magical Performance tuning with Gomezmcsaha
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20Compuware APM
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationTechWell
 
Testing in multiplatform environment
Testing in multiplatform environmentTesting in multiplatform environment
Testing in multiplatform environmentshivanichauhan1953
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experiencedzynofustechnology
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testingAlisha Henderson
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemSundar Sritharan
 

Ähnlich wie Heuristics of performance testing (20)

Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]
 
Automation testing
Automation testingAutomation testing
Automation testing
 
ალექსანდრე ნემსაძე - Release it
ალექსანდრე ნემსაძე - Release itალექსანდრე ნემსაძე - Release it
ალექსანდრე ნემსაძე - Release it
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
 
1 Ibm Solo Pruebas 2009
1 Ibm Solo Pruebas 20091 Ibm Solo Pruebas 2009
1 Ibm Solo Pruebas 2009
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
 
Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...
 
Fareeha Resume
Fareeha ResumeFareeha Resume
Fareeha Resume
 
Testing overview
Testing overviewTesting overview
Testing overview
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Magical Performance tuning with Gomez
Magical Performance tuning with GomezMagical Performance tuning with Gomez
Magical Performance tuning with Gomez
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
Testing in multiplatform environment
Testing in multiplatform environmentTesting in multiplatform environment
Testing in multiplatform environment
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testing
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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
 
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
 
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
 
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
 
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
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
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
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
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
 
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
 
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?
 
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?
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.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...
 
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)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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...
 

Heuristics of performance testing

  • 1. Page 1 of 4 Don’t assume you know what it means People to refer, their books and blogs: Scott Barber, Alberto Savoia, Subramanya, Chris Loosely, Jared Spool, Jakob Neilsen, Connie & Lloyd Understand the Client and Server side aspects of performance Understand Networking Be thorough about the communication protocol of your current context Understand the performance improvements in HTTP 1.1 versus HTTP 1.0 Google for general performance issues Web 2.0 performance Read basics of Queuing Theory Join Performance testing groups in LinkedIn, STC, TR Dig out presentations on Perf testing in conference websites by experts Http versus https Don’t ask What is the difference between load, perf and stress in any forum and get confused Relationship of image size to load times in browser Relationship to browser plugins Conferences on performance testing, webinars, podcasts, interviews Learn UCML, Web usage signature Write customized tools (don’t be lazy) Server simulation: Ex: Fiddler Fuzzing Get yourself trained on perf testing, tools Meet other performance testers & talk to them often Create a utility library Carve out a time to learn performance engineering. Learn Python, Perl, Ruby, Java, AutoIT Start perf testing in parallel to every other testing Performance testing is not a stage in project - PDLC Throughput versus latency Perf testing is not just about speed of response Performance benchmarking – how do we know its good enough Read book: Turning numbers into knowledge: Jonathan G Koomey Cloud perf testing: Are you testing something inside the cloud or from the cloud? Talk to customer, users and ask them what they would consider as poor, good and bad performance Read the Service Level Agreement to understand performance test objectives Negotiate what is achievable Checks for readiness of Perf testing of a product Understand the architecture of your application - Web server: App server: DB server: Documentation, Limitations, Live implementations, companies using it, problems reported, testers dealing with it, perf related config Caching: Client and Server Understand the security versus performance is a trade- off Is your client thin or thick? Read code, code comments, integration test results Read through bug tracking system and look for clues Know business value of transactions Spend time on your competitor’s website/product List the risks you are taking for limitations you have Reproducibility of perf bugs is crucial, plan for it Scope mentioned in plan should be practical Wishful thinking harms the project Talk to developers daily Meet and update all stakeholders Availability of lab Have acceptance /rejection checks in place Heuristics of performance testing Rahul Verma & Pradeep Soundararajan No single person can conquer the world of performance testing because it’s hard, vast and growing. Here we bring in our experience and practices of performance testing.
  • 2. Page 2 of 4 Consider cost of testing performance to value Perf testing is iterative (not a blue moon activity) Hiring performance testers can impact what you can achieve. Don’t hire only tool runners Performance testing is a mindset Constraining your budget on a key investment towards perf testing could cost you more Testers who code need to be in team All testers need to understand perf lab setup well Subject matter experts need to be paired with testers Ask often: Is there a problem here? If you want to ignore perf test results, don’t invest on it Perf testers need to talk to other testers on the team Pair perf testers with functional testers occasionally Conduct surveys Assessment of your perf testing strategy is needed Play with Tools: Sniffers, Perfmon, Jmeter, Pylot, LoadRunner, WebLoad, QALoad, NeoLoad, Alexa for live portal traffic details of users and distribution Http traffic wire browser plugins, proxies Real-time downtime reporting: Pingdom Assess the effectiveness of user traffic simulation Types of user access: Admin, Guest, Authenticated, Logged in, Not logged in, Limited privileges, Hackers Emotions of users using the product Probing clients: Absolute experience Consider the impact of bandwidth in performance measurements Understand the real user system configuration and everything they have installed in it Identify top priority machines, OS, browsers, flavors, devices and platforms Distribution of traffic, loads, data Types of content being accessed: media, office documents, html, flv, DRM, compressed, encrypted Concurrency, Multithreads Virtual and simulated users are not equal to actual concurrency Record playback is not THE thing Parameterize, don’t hardcode Calculate Memory footprint of a virtual user Benchmark the test environment Study your application in the light of Ramp up patterns Load Balancing Spike, SOAK, Memory Leaks Min specifications test Test your test environment Have tool assessment plans in place Maintain tools, upgrade them regularly Time synchronization amongst test machines Size of database, populating it with data Be careful while performing tests on production server Reliability tests and measurement Choose the frequency of measurement carefully in a test. Log files Limit the level to which logging happens Not all perf tests can be done on virtual machines Test data generators, tools Frequently get user data from production to use it to test environment Don’t keep your test data outdated Version control everything Bring in actual users at regular intervals: subjective analysis Desktop App performance: Boot time, Load time, Response time, Install time, Uninstall time, Internal
  • 3. Page 3 of 4 processing time, Memory allocation time, Buffering time Test Lab : Planning, organizing, procurement, setting up, documenting, Emulation, Troubleshooting Separating out browser (any other app) perf problems from what is being tested You would need a lot of test data – keep it ready. Relationship to Antivirus and Firewalls Relationship to error handling Consider Geographical distribution of users Security testing at high load Functional tests at high load Why, what & how you measure The act of measurement impacts the measurement. Accurate measurements at times need instrumentation of code/ Testability of code Knowing what you can’t measure and knowing you don’t have the right budget Measurement without a goal is dangerous Failures in proper measurement can lead to bad decisions Do a stage by stage analysis of response times Analysis of users moving away using the product Understand how performance relates to Hard Disk, RAM, Processor, Java version, flash player, parallel app running, RAID, network, and user needs Making inferences and conjectures on statistics collected Depth and breadth of unit testing Bottleneck analysis, Memory Leaks, Paging OS process blocking resources Analyze the consistency of performance across platforms, OS, browsers, devices Analyzing validation time as against what number a tool spits out Users don’t connect the way your tool connects Users don’t react as immediate as your tools do Focus on timing coverage Don’t always extrapolate results Garbage collection Anticipate Microsoft to release a patch which will reboot all systems in the world and connect to your system at the same time Test for recoverability of a server post a crash Adding hardware is not necessarily a way to solve problems Performance delays can occur when hardware is heated Not rebooting systems for a long time causes a slow down List all interrupts from other processes, apps and OS Don’t think robots use production systems Humans will click on something for long time – don’t rule that out Constant low resource usage of server could mean unnecessarily high configuration Don’t jump to conclusions when looking at test results Story behind a number is important Averages are misleading Remove Outliers & analyze Denial of Service If you have not known from which build the performance started to get poor, you are definitely lost Proper error message when system is overloaded Study processor load sharing (affinity) Conduct single user acceptance / rejection checks Check if something works for a single (set of) user Reports are not just numbers Understand the audience of your reports
  • 4. Page 4 of 4 When testers need time to investigate, give it Measurements shouldn’t be analyzed in isolation When numbers look good, they always aren’t. Have a redundant server to handle things in events Happy path testing is a myth. Happy users is reality Forcing users to do a task increases load Correlate speed of response to patience of target users User perceives bad Usability as bad Performance