SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Predictive Performance Testing

Integrating Statistical Tests into Agile Development Lifecycles
Tom Kleingarn
Lead, Performance Engineering
Digital River
http://www.linkedin.com/in/tomkleingarn
http://www.perftom.com

©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Agenda
> Introduction
> Performance engineering
> Agile
> Outputs from LoadRunner
> Basic statistics
> Advanced statistics
> Summary
> Practical application
About Me
> Tom Kleingarn
> Lead, Performance Engineering - Digital River

> 4 years in performance engineering
> Tested over 100 systems/applications
> 100’s of performance tests
> Tools
> LoadRunner
> JMeter
> Webmetrics, Keynote, Gomez
> ‘R’ and Excel
> Quality Center
> QuickTest Professional
> Leading provider of global e-commerce solutions
> Builds and manages online businesses for software and game
publishers, consumer electronics manufacturers, distributors,
online retailers and affiliates.
> Comprehensive platform offers
>
>
>
>
>
>
>
>

Site development and hosting
Order management
Fraud management
Export control
Tax management
Physical and digital product fulfillment
Multi-lingual customer service
Advanced reporting and strategic marketing
Performance Engineering
> The process of experimental design, test execution, and
results analysis, utilized to validate system performance as
part of the Software Development Lifecycle (SDLC).
> Performance requirements – measureable targets of speed,
reliability, and/or capacity used in performance validation.
> Latency < 10ms, measured at the 99th percentile
> 99.95% uptime
> Throughput of 1,000 requests per second
Performance Testing Cycle
1. Requirements Analysis
2. Create test plan
3. Create automated scripts
4. Define workload model
5. Execute scenarios
6. Analyze results
>

Rinse and repeat if…
> Defects identified
> Change in requirements
> Setup or environment issues
> Performance requirement not met

Digital River Test Automation
Agile
> A software development paradigm that emphasizes rapid
process cycles, cross-functional teams, frequent
examination of progress, and adaptability.
Initial Plan

Scrum

Deploy
Agile Performance Engineering
> Clear and constant communication
> Involvement in initial requirements and design phase
> Identify key business processes before they are built
> Coordinate with analysts and development to build key
business processes first
> Integrate load generation requirements into project schedule

> Test immediately with v1.0
> Schedule tests to auto-start, run independently
> Identify invalid test results before deep analysis
LoadRunner Results

> Measures of central tendency
> Average = ∑(all samples)/(sample size) =
> Median = 50th percentile
> Mode – highest frequency, the value that occurred the most

> Measures of variability
> Min, max
> Standard Deviation =
> 90th percentile
LoadRunner Results

90%
50%

50%

10%
Basic Statistics – Sample vs. Population
> Performance requirement: average latency < 3 seconds

> What if you ran 50 rounds? 100 rounds?
Basic Statistics – Sample vs. Population
> Sample – set of values, subset of population
> Population – all potentially observable values
> Measurements
> Statistic – the estimated value from a collection of samples
> Parameter – the “true” value you are attempting to estimate
Not a representative
sample!
Basic Statistics – Sample vs. Population
> Sampling distribution – the probability distribution of a given
statistic based on a random sample of size n
> Dependent on the underlying population

>

How do you know the system under test met the performance requirement?
Basic Statistics – Normal Distribution
> With larger samples, data tend to cluster around the mean
Basic Statistics – Normal Distribution

Sir Francis Galton’s “Bean Machine”
Confidence Intervals
> The probability that an interval made up of two endpoints
will contain the true mean parameter μ
>

95% confidence interval:

>

… where 1.96 is a score from the normal distribution associated with 95% probability:
Confidence Intervals
> In repeated rounds of testing, a confidence interval will contain the
true mean parameter with a certain probability:

True Average
Confidence Intervals in Excel
Statistic

Value 95%

Value 99%

Formula

Average

3.40

3.40

Standard Deviation

1.45

1.45

Sample size

500

500

Confidence Level

0.95

0.99

Significance Level

0.05

0.01

0.0127

0.167

=CONFIDENCE(Sig. Level, Std Dev, Sample Size)

Lower Bound

3.273

3.233

=Average - Margin of Error

Upper Bound

3.527

3.567

=Average + Margin of Error

Margin of Error

=1-(Confidence Level)

>

95% confidence - true average latency 3.273 to 3.527 seconds

>

99% confidence - true average latency 3.233 to 3.567 seconds

>

Our range is wider at 99% compared to 95%, 0.334 sec vs. 0.254 sec
The T-test
> Test that your sample mean is
greater than/less than a certain
value
> Performance requirement:
Mean latency < 3 seconds
> Null hypothesis:
Mean latency >= 3 seconds
> Alternative hypothesis:
Mean latency is < 3 seconds

Add pic
T-test – Raw Data from LoadRunner

n = 500
T-test in ‘R’
> ‘R’ for statistical analysis
> http://www.r-project.org/

Load test data from a file:
> datafile <- read.table("C:Datatest.data",
header = FALSE, col.names= c("latency"))

Attach the dataframe:
> attach(datafile)
Create a “vector” from the dataframe:
> latency <- datafile$latency
T.Test in ‘R’
> t.test(latency, alternative="less", mu=3, tails=1)
One Sample t-test
data:

latency

t = -2.9968, df = 499, p-value = 0.001432
alternative hypothesis: true mean is less than 3

> There is a 0.14% probability that the true average latency of the
system is greater than 3 seconds. In this case we would reject
the null hypothesis.
> There is a 99.86% probability that the true average latency is
less than 3 seconds
T-test – Number of Samples Required
> power.t.test(sd=sd, sig.level=0.05, power=0.90,
delta=mean(latency)*0.01, type="one.sample")
One-sample t test power calculation

n = 215.5319
delta = 0.03241267
sd = 0.1461401
sig.level = 0.05
power = 0.9
alternative = two.sided

> We need at least 216 samples
> Our sample size is 500, we have enough samples to proceed
Test for Normality
> Test that the data is “normal”
> Clustered around a central value, no outliers
> Roughly fits the normal distribution
> shapiro.test(latency)
Shapiro-Wilk normality test
data:

latency

p-value = 0.8943
> Our sample distribution is approximately normal
> p-value < 0.05 indicates the distribution is not normal
Review
> Sample vs. Population
> Normal distribution
> Confidence intervals
> T-test
> Sample size
> Test for normality
> Practical application
> Performance requirements
> Compare two code builds
> Compare system infrastructure changes
Case Study
> Engaged in a new web service project
> Average latency < 25ms
> Applied statistical analysis
> System did not meet requirement
> Identified problem transaction
> Development fix applied
> Additional test, requirement met

> Prevented a failure in production
Implementation in Agile Projects
> Involvement in early design stages
> Identify performance requirements
> Build key business processes first

> Calculate required sample size
> Apply statistical analysis

> Run fewer tests with greater confidence in your results
> Prevent performance defects from entering production
> Prevent SLA violations in production
Predictive Performance Testing: Integrating Statistical Tests into Agile Development Life-cycles

Weitere ähnliche Inhalte

Andere mochten auch

Using the Machine to predict Testability
Using the Machine to predict TestabilityUsing the Machine to predict Testability
Using the Machine to predict TestabilityMiguel Lopez
 
Machine Learning in Software Engineering
Machine Learning in Software EngineeringMachine Learning in Software Engineering
Machine Learning in Software EngineeringAlaa Hamouda
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarXBOSoft
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testingThoughtworks
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
Automated testing of software applications using machine learning edited
Automated testing of software applications using machine learning   editedAutomated testing of software applications using machine learning   edited
Automated testing of software applications using machine learning editedMilind Kelkar
 

Andere mochten auch (6)

Using the Machine to predict Testability
Using the Machine to predict TestabilityUsing the Machine to predict Testability
Using the Machine to predict Testability
 
Machine Learning in Software Engineering
Machine Learning in Software EngineeringMachine Learning in Software Engineering
Machine Learning in Software Engineering
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Automated testing of software applications using machine learning edited
Automated testing of software applications using machine learning   editedAutomated testing of software applications using machine learning   edited
Automated testing of software applications using machine learning edited
 

Ähnlich wie Predictive Performance Testing: Integrating Statistical Tests into Agile Development Life-cycles

Need for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikNeed for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikQA or the Highway
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and MeasurementsDavis Thomas
 
Statistical Process Control Part 2
Statistical Process Control Part 2Statistical Process Control Part 2
Statistical Process Control Part 2Malay Pandya
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21koolkampus
 
Measurement risk and the impact on your processes
Measurement risk and the impact on your processes  Measurement risk and the impact on your processes
Measurement risk and the impact on your processes Transcat
 
Risk_Management_Poster
Risk_Management_PosterRisk_Management_Poster
Risk_Management_PosterRohan Sanas
 
Chap 9 A Process Capability & Spc Hk
Chap 9 A Process Capability & Spc HkChap 9 A Process Capability & Spc Hk
Chap 9 A Process Capability & Spc Hkajithsrc
 
Quality andc apability hand out 091123200010 Phpapp01
Quality andc apability hand out 091123200010 Phpapp01Quality andc apability hand out 091123200010 Phpapp01
Quality andc apability hand out 091123200010 Phpapp01jasonhian
 
Software testing foundation
Software testing foundationSoftware testing foundation
Software testing foundationAnirudh503501
 
Performance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutionsPerformance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutionsQUONTRASOLUTIONS
 
Process capability relation between yield and number of parts in assembly und...
Process capability relation between yield and number of parts in assembly und...Process capability relation between yield and number of parts in assembly und...
Process capability relation between yield and number of parts in assembly und...REXMATTHEW1
 
GCSE ICT TESTING
GCSE ICT TESTING GCSE ICT TESTING
GCSE ICT TESTING morgan98
 
Six Sigma Confidence Interval Analysis (CIA) Training Module
Six Sigma Confidence Interval Analysis (CIA) Training ModuleSix Sigma Confidence Interval Analysis (CIA) Training Module
Six Sigma Confidence Interval Analysis (CIA) Training ModuleFrank-G. Adler
 
QM-026-Quality Management
QM-026-Quality ManagementQM-026-Quality Management
QM-026-Quality Managementhandbook
 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingLionel Briand
 

Ähnlich wie Predictive Performance Testing: Integrating Statistical Tests into Agile Development Life-cycles (20)

Need for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikNeed for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie Bhaumik
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and Measurements
 
Statistical Process Control Part 2
Statistical Process Control Part 2Statistical Process Control Part 2
Statistical Process Control Part 2
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
PROCESS CAPABILITY
PROCESS CAPABILITYPROCESS CAPABILITY
PROCESS CAPABILITY
 
Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21Critical System Validation in Software Engineering SE21
Critical System Validation in Software Engineering SE21
 
Six Sigma Overview
Six Sigma OverviewSix Sigma Overview
Six Sigma Overview
 
Measurement risk and the impact on your processes
Measurement risk and the impact on your processes  Measurement risk and the impact on your processes
Measurement risk and the impact on your processes
 
Risk_Management_Poster
Risk_Management_PosterRisk_Management_Poster
Risk_Management_Poster
 
Chap 9 A Process Capability & Spc Hk
Chap 9 A Process Capability & Spc HkChap 9 A Process Capability & Spc Hk
Chap 9 A Process Capability & Spc Hk
 
Quality andc apability hand out 091123200010 Phpapp01
Quality andc apability hand out 091123200010 Phpapp01Quality andc apability hand out 091123200010 Phpapp01
Quality andc apability hand out 091123200010 Phpapp01
 
Software testing foundation
Software testing foundationSoftware testing foundation
Software testing foundation
 
Performance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutionsPerformance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutions
 
Process capability relation between yield and number of parts in assembly und...
Process capability relation between yield and number of parts in assembly und...Process capability relation between yield and number of parts in assembly und...
Process capability relation between yield and number of parts in assembly und...
 
GCSE ICT TESTING
GCSE ICT TESTING GCSE ICT TESTING
GCSE ICT TESTING
 
Six Sigma Confidence Interval Analysis (CIA) Training Module
Six Sigma Confidence Interval Analysis (CIA) Training ModuleSix Sigma Confidence Interval Analysis (CIA) Training Module
Six Sigma Confidence Interval Analysis (CIA) Training Module
 
QM-026-Quality Management
QM-026-Quality ManagementQM-026-Quality Management
QM-026-Quality Management
 
Experience Sharing on School Pentest Project
Experience Sharing on School Pentest ProjectExperience Sharing on School Pentest Project
Experience Sharing on School Pentest Project
 
Keynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based TestingKeynote SBST 2014 - Search-Based Testing
Keynote SBST 2014 - Search-Based Testing
 
Exposure Index
Exposure IndexExposure Index
Exposure Index
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Predictive Performance Testing: Integrating Statistical Tests into Agile Development Life-cycles

  • 1. Predictive Performance Testing Integrating Statistical Tests into Agile Development Lifecycles Tom Kleingarn Lead, Performance Engineering Digital River http://www.linkedin.com/in/tomkleingarn http://www.perftom.com ©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
  • 2. Agenda > Introduction > Performance engineering > Agile > Outputs from LoadRunner > Basic statistics > Advanced statistics > Summary > Practical application
  • 3. About Me > Tom Kleingarn > Lead, Performance Engineering - Digital River > 4 years in performance engineering > Tested over 100 systems/applications > 100’s of performance tests > Tools > LoadRunner > JMeter > Webmetrics, Keynote, Gomez > ‘R’ and Excel > Quality Center > QuickTest Professional
  • 4. > Leading provider of global e-commerce solutions > Builds and manages online businesses for software and game publishers, consumer electronics manufacturers, distributors, online retailers and affiliates. > Comprehensive platform offers > > > > > > > > Site development and hosting Order management Fraud management Export control Tax management Physical and digital product fulfillment Multi-lingual customer service Advanced reporting and strategic marketing
  • 5. Performance Engineering > The process of experimental design, test execution, and results analysis, utilized to validate system performance as part of the Software Development Lifecycle (SDLC). > Performance requirements – measureable targets of speed, reliability, and/or capacity used in performance validation. > Latency < 10ms, measured at the 99th percentile > 99.95% uptime > Throughput of 1,000 requests per second
  • 6. Performance Testing Cycle 1. Requirements Analysis 2. Create test plan 3. Create automated scripts 4. Define workload model 5. Execute scenarios 6. Analyze results > Rinse and repeat if… > Defects identified > Change in requirements > Setup or environment issues > Performance requirement not met Digital River Test Automation
  • 7. Agile > A software development paradigm that emphasizes rapid process cycles, cross-functional teams, frequent examination of progress, and adaptability. Initial Plan Scrum Deploy
  • 8. Agile Performance Engineering > Clear and constant communication > Involvement in initial requirements and design phase > Identify key business processes before they are built > Coordinate with analysts and development to build key business processes first > Integrate load generation requirements into project schedule > Test immediately with v1.0 > Schedule tests to auto-start, run independently > Identify invalid test results before deep analysis
  • 9. LoadRunner Results > Measures of central tendency > Average = ∑(all samples)/(sample size) = > Median = 50th percentile > Mode – highest frequency, the value that occurred the most > Measures of variability > Min, max > Standard Deviation = > 90th percentile
  • 11. Basic Statistics – Sample vs. Population > Performance requirement: average latency < 3 seconds > What if you ran 50 rounds? 100 rounds?
  • 12. Basic Statistics – Sample vs. Population > Sample – set of values, subset of population > Population – all potentially observable values > Measurements > Statistic – the estimated value from a collection of samples > Parameter – the “true” value you are attempting to estimate Not a representative sample!
  • 13. Basic Statistics – Sample vs. Population > Sampling distribution – the probability distribution of a given statistic based on a random sample of size n > Dependent on the underlying population > How do you know the system under test met the performance requirement?
  • 14. Basic Statistics – Normal Distribution > With larger samples, data tend to cluster around the mean
  • 15. Basic Statistics – Normal Distribution Sir Francis Galton’s “Bean Machine”
  • 16. Confidence Intervals > The probability that an interval made up of two endpoints will contain the true mean parameter μ > 95% confidence interval: > … where 1.96 is a score from the normal distribution associated with 95% probability:
  • 17. Confidence Intervals > In repeated rounds of testing, a confidence interval will contain the true mean parameter with a certain probability: True Average
  • 18. Confidence Intervals in Excel Statistic Value 95% Value 99% Formula Average 3.40 3.40 Standard Deviation 1.45 1.45 Sample size 500 500 Confidence Level 0.95 0.99 Significance Level 0.05 0.01 0.0127 0.167 =CONFIDENCE(Sig. Level, Std Dev, Sample Size) Lower Bound 3.273 3.233 =Average - Margin of Error Upper Bound 3.527 3.567 =Average + Margin of Error Margin of Error =1-(Confidence Level) > 95% confidence - true average latency 3.273 to 3.527 seconds > 99% confidence - true average latency 3.233 to 3.567 seconds > Our range is wider at 99% compared to 95%, 0.334 sec vs. 0.254 sec
  • 19. The T-test > Test that your sample mean is greater than/less than a certain value > Performance requirement: Mean latency < 3 seconds > Null hypothesis: Mean latency >= 3 seconds > Alternative hypothesis: Mean latency is < 3 seconds Add pic
  • 20. T-test – Raw Data from LoadRunner n = 500
  • 21. T-test in ‘R’ > ‘R’ for statistical analysis > http://www.r-project.org/ Load test data from a file: > datafile <- read.table("C:Datatest.data", header = FALSE, col.names= c("latency")) Attach the dataframe: > attach(datafile) Create a “vector” from the dataframe: > latency <- datafile$latency
  • 22. T.Test in ‘R’ > t.test(latency, alternative="less", mu=3, tails=1) One Sample t-test data: latency t = -2.9968, df = 499, p-value = 0.001432 alternative hypothesis: true mean is less than 3 > There is a 0.14% probability that the true average latency of the system is greater than 3 seconds. In this case we would reject the null hypothesis. > There is a 99.86% probability that the true average latency is less than 3 seconds
  • 23. T-test – Number of Samples Required > power.t.test(sd=sd, sig.level=0.05, power=0.90, delta=mean(latency)*0.01, type="one.sample") One-sample t test power calculation n = 215.5319 delta = 0.03241267 sd = 0.1461401 sig.level = 0.05 power = 0.9 alternative = two.sided > We need at least 216 samples > Our sample size is 500, we have enough samples to proceed
  • 24. Test for Normality > Test that the data is “normal” > Clustered around a central value, no outliers > Roughly fits the normal distribution > shapiro.test(latency) Shapiro-Wilk normality test data: latency p-value = 0.8943 > Our sample distribution is approximately normal > p-value < 0.05 indicates the distribution is not normal
  • 25. Review > Sample vs. Population > Normal distribution > Confidence intervals > T-test > Sample size > Test for normality > Practical application > Performance requirements > Compare two code builds > Compare system infrastructure changes
  • 26. Case Study > Engaged in a new web service project > Average latency < 25ms > Applied statistical analysis > System did not meet requirement > Identified problem transaction > Development fix applied > Additional test, requirement met > Prevented a failure in production
  • 27. Implementation in Agile Projects > Involvement in early design stages > Identify performance requirements > Build key business processes first > Calculate required sample size > Apply statistical analysis > Run fewer tests with greater confidence in your results > Prevent performance defects from entering production > Prevent SLA violations in production

Hinweis der Redaktion

  1. The t-statistic was introduced in 1908 by William Sealy Gosset, a chemist working for the Guinness brewery in Dublin, Ireland (&quot;Student&quot; was his pen name).[1][2][3] Gosset had been hired due to Claude Guinness&apos;s innovative policy of recruiting the best graduates from Oxford and Cambridge to apply biochemistry and statistics to Guinness&apos; industrial processes.[2] Gosset devised the t-test as a way to cheaply monitor the quality of stout. He published the test in Biometrika in 1908, but was forced to use a pen name by his employer, who regarded the fact that they were using statistics as a trade secret. In fact, Gosset&apos;s identity was unknown to fellow statisticians.