SlideShare a Scribd company logo
1 of 25
A Large Scale Empirical Study on User-
Centric Performance Analysis
Shahed Zaman
Ahmed E. Hassan
Software Analysis and Intelligence Lab
(SAIL)
Queen’s University
1
Bram Adams
MCIS
École Polytechnique de Montréal
Canada
What is this study about?
Users
10 Requests
per user
Software System
2
1,000 Requests
10 Requests
Bad Response Time
Requests
Scenario-Centric View
Users
Software System
3
1,000 Requests
10 Requests
Bad Response Time
10 Requests
per user
1% bad request
instance
User-Centric View
Users
Software System
4
1,000 Requests
10 Requests
Bad Response Time
10 Requests
per user
0% bad
request
instance
50% bad
request
instance
1% bad request
instance
User’s
Perspective
System’s
Perspective
Data used in this study
• 3 systems
• 13 most used scenarios
Factor
Enterprise
System 1
Enterprise
System 2
Dell DVD
store
Functionality Telecommunications E-commerce
Vendor’s
Business
Model
Commercial Open-source
Size Ultra Large Large Small
Complexity Complex Complex Simple
5
Performance Load Test
Load Generator(s)
Requests
Requests
Requests
Software System
Under Test
6
Performance Load Test
Runs for hours or days
Data
Performance AnalysisLoad Generator(s)
Requests
Requests
Requests
Software System
Under Test
7
Current Practice of Performance
Analysis
8
Data Values
Density
Version 1
Data Values
Density
Version 2
Load Generator(s)
Requests
Requests
Requests
Software System
Under Test
Problem with Current Practice
Data aggregated for all users!!
Improved
Degraded
9
Scenario-Centric View
Load Generator(s)
Requests
Requests
Requests
Software System
Under Test
PASS
10
User-Centric View
Load Generator(s)
Requests
Requests
Requests
Software System
Under Test
User Group 1
U.G. # 2
U.G. # 3
U.G. # 4
FAILED
11
% of bad instances
Median
Median
±
St.Deviation
ResponseTime
Request Instance #
12
% of bad instances
Median
Median
±
St.Deviation
Bad instances = Out of “Median ± Standard Deviation”
= 6/20 = 30%
ResponseTime
Request Instance #
13
Study
14
Users
Requests
Software System
User’s
Perspective
System’s
PerspectiveVS
Data
Performance
Analysis
Our Study Dimensions
Overall Trend Consistency
vs
15
Overall Performance
Old New
% of bad
instances
16.48 0.21
Scenario Centric View User Centric View
16
Our Study Dimensions
Overall Trend Consistency
vs
10 out of 13 use-cases
showed a different
view
17
Performance Trend Over Time
Scenario Centric View User Centric View
Old
New
0 15 30 45 60
30354045
ResponseTime
Running Time
0 20 40 60 80 100 120 140
406080100120
ResponseTime
Instance # for a user
Old
New
18
Performance Trend Over Time
0 2 4 6 8 10 12 14
600060506100
ResponseTime(mean)
Instance # for a user
0 100 200 300 400 500 600
585059005950600060506100
ResponseTime
Running Time
System’s
perspective
User’s
perspective
19
Our Study Dimensions
Overall Trend Consistency
vs
10 out of 13 use-cases
showed a different
view
8 out of 13 use-cases
showed a different
view
20
Performance Consistency
Scenario Centric View
0 500 1500 2500 3500
200400600800
ResponseTime
Running Time
Old
New
User Centric View
0 5 10 15 20 25 30
-100005001500
ResponseTime
Instance # for user
Old
New
NewOld
21
Our Study Dimensions
Overall Trend Consistency
vs
10 out of 13 use-cases
showed a different
view
8 out of 13 use-cases
showed a different
view
All 13 use-cases
showed a different
view
22
Trend
8 out of 13 use-cases
showed a different
view
Our Study Dimensions
Overall
10 out of 13 use-cases
showed a different
view
Consistency
vs
All 13 use-cases
showed a different
view
23
VS
Consistency vs Overall Performance
InconsistentConsistent BadGood
0 10 20 30 40 50 60 70
0100002000030000
Variance
% of bad instances
Old
New
Consistency vs Overall Performance
Overall Performance experience
BadGood
1 2
34
C
I
consistency
24
25
A complementary useful view

More Related Content

Viewers also liked

Qsic2008 jiang
Qsic2008 jiangQsic2008 jiang
Qsic2008 jiang
SAIL_QU
 
Icsm2010 kamei
Icsm2010 kameiIcsm2010 kamei
Icsm2010 kamei
SAIL_QU
 
Msr2010 ibrahim
Msr2010 ibrahimMsr2010 ibrahim
Msr2010 ibrahim
SAIL_QU
 
Wcre2009 bettenburg
Wcre2009 bettenburgWcre2009 bettenburg
Wcre2009 bettenburg
SAIL_QU
 
Compsac2010 malik
Compsac2010 malikCompsac2010 malik
Compsac2010 malik
SAIL_QU
 
Icpc2010 bettenburg
Icpc2010 bettenburgIcpc2010 bettenburg
Icpc2010 bettenburg
SAIL_QU
 
Icse2011 build maintenance
Icse2011 build maintenanceIcse2011 build maintenance
Icse2011 build maintenance
SAIL_QU
 
Icsm2009 alam
Icsm2009 alamIcsm2009 alam
Icsm2009 alam
SAIL_QU
 
Msr2012 adams
Msr2012 adamsMsr2012 adams
Msr2012 adams
SAIL_QU
 
Issre2010 malik
Issre2010 malikIssre2010 malik
Issre2010 malik
SAIL_QU
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shang
SAIL_QU
 
Icsm2009 adams ph_d
Icsm2009 adams ph_dIcsm2009 adams ph_d
Icsm2009 adams ph_d
SAIL_QU
 
Msr2011 zaman
Msr2011 zamanMsr2011 zaman
Msr2011 zaman
SAIL_QU
 
Icsm2012 selective codeintegration
Icsm2012 selective codeintegrationIcsm2012 selective codeintegration
Icsm2012 selective codeintegration
SAIL_QU
 
Fse2011 bettenburg presentation
Fse2011 bettenburg presentationFse2011 bettenburg presentation
Fse2011 bettenburg presentation
SAIL_QU
 
Icse2012 shang
Icse2012 shangIcse2012 shang
Icse2012 shang
SAIL_QU
 
Wcre2010 shihab
Wcre2010 shihabWcre2010 shihab
Wcre2010 shihab
SAIL_QU
 
Wcre2009 alam
Wcre2009 alamWcre2009 alam
Wcre2009 alam
SAIL_QU
 
Icsm2009 shihab
Icsm2009 shihabIcsm2009 shihab
Icsm2009 shihab
SAIL_QU
 
Icse2010 adams presentation
Icse2010 adams presentationIcse2010 adams presentation
Icse2010 adams presentation
SAIL_QU
 

Viewers also liked (20)

Qsic2008 jiang
Qsic2008 jiangQsic2008 jiang
Qsic2008 jiang
 
Icsm2010 kamei
Icsm2010 kameiIcsm2010 kamei
Icsm2010 kamei
 
Msr2010 ibrahim
Msr2010 ibrahimMsr2010 ibrahim
Msr2010 ibrahim
 
Wcre2009 bettenburg
Wcre2009 bettenburgWcre2009 bettenburg
Wcre2009 bettenburg
 
Compsac2010 malik
Compsac2010 malikCompsac2010 malik
Compsac2010 malik
 
Icpc2010 bettenburg
Icpc2010 bettenburgIcpc2010 bettenburg
Icpc2010 bettenburg
 
Icse2011 build maintenance
Icse2011 build maintenanceIcse2011 build maintenance
Icse2011 build maintenance
 
Icsm2009 alam
Icsm2009 alamIcsm2009 alam
Icsm2009 alam
 
Msr2012 adams
Msr2012 adamsMsr2012 adams
Msr2012 adams
 
Issre2010 malik
Issre2010 malikIssre2010 malik
Issre2010 malik
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shang
 
Icsm2009 adams ph_d
Icsm2009 adams ph_dIcsm2009 adams ph_d
Icsm2009 adams ph_d
 
Msr2011 zaman
Msr2011 zamanMsr2011 zaman
Msr2011 zaman
 
Icsm2012 selective codeintegration
Icsm2012 selective codeintegrationIcsm2012 selective codeintegration
Icsm2012 selective codeintegration
 
Fse2011 bettenburg presentation
Fse2011 bettenburg presentationFse2011 bettenburg presentation
Fse2011 bettenburg presentation
 
Icse2012 shang
Icse2012 shangIcse2012 shang
Icse2012 shang
 
Wcre2010 shihab
Wcre2010 shihabWcre2010 shihab
Wcre2010 shihab
 
Wcre2009 alam
Wcre2009 alamWcre2009 alam
Wcre2009 alam
 
Icsm2009 shihab
Icsm2009 shihabIcsm2009 shihab
Icsm2009 shihab
 
Icse2010 adams presentation
Icse2010 adams presentationIcse2010 adams presentation
Icse2010 adams presentation
 

Similar to Icst2012 zaman

Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...
SAIL_QU
 
Tablet tools and micro tasks
Tablet tools and micro tasksTablet tools and micro tasks
Tablet tools and micro tasks
mhilde
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
Steve Feldman
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
Steve Feldman
 
Modeling & simulation in projects
Modeling & simulation in projectsModeling & simulation in projects
Modeling & simulation in projects
anki009
 
Simulation Presentation
Simulation PresentationSimulation Presentation
Simulation Presentation
guest92c571a7
 

Similar to Icst2012 zaman (20)

Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...
 
load_testing.ppt.pptx
load_testing.ppt.pptxload_testing.ppt.pptx
load_testing.ppt.pptx
 
Micro Task Interface Evaluation Method
Micro Task Interface Evaluation MethodMicro Task Interface Evaluation Method
Micro Task Interface Evaluation Method
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
 
Tablet tools and micro tasks
Tablet tools and micro tasksTablet tools and micro tasks
Tablet tools and micro tasks
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
 
Final Project presentation (on App devlopment)
Final Project presentation (on App devlopment)Final Project presentation (on App devlopment)
Final Project presentation (on App devlopment)
 
Developing Web-scale Machine Learning at LinkedIn - From Soup to Nuts
Developing Web-scale Machine Learning at LinkedIn - From Soup to NutsDeveloping Web-scale Machine Learning at LinkedIn - From Soup to Nuts
Developing Web-scale Machine Learning at LinkedIn - From Soup to Nuts
 
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
 
Introduction to System, Simulation and Model
Introduction to System, Simulation and ModelIntroduction to System, Simulation and Model
Introduction to System, Simulation and Model
 
MeasureWorks - Why your customers don't like to wait!
MeasureWorks - Why your customers don't like to wait!MeasureWorks - Why your customers don't like to wait!
MeasureWorks - Why your customers don't like to wait!
 
2 Studies UX types should know about (Straub UXPA unconference13)
2 Studies UX types should know about (Straub UXPA unconference13)2 Studies UX types should know about (Straub UXPA unconference13)
2 Studies UX types should know about (Straub UXPA unconference13)
 
[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing
 
MeasureWorks - Velocity Europe - Real World Rum
MeasureWorks - Velocity Europe - Real World RumMeasureWorks - Velocity Europe - Real World Rum
MeasureWorks - Velocity Europe - Real World Rum
 
Data Quality Doesn’t Just Happen: And Here’s What Some of the Industry’s Most...
Data Quality Doesn’t Just Happen: And Here’s What Some of the Industry’s Most...Data Quality Doesn’t Just Happen: And Here’s What Some of the Industry’s Most...
Data Quality Doesn’t Just Happen: And Here’s What Some of the Industry’s Most...
 
What does it take to be a performance tester?
What does it take to be a performance tester?What does it take to be a performance tester?
What does it take to be a performance tester?
 
Modeling & simulation in projects
Modeling & simulation in projectsModeling & simulation in projects
Modeling & simulation in projects
 
Simulation Presentation
Simulation PresentationSimulation Presentation
Simulation Presentation
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
SAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
SAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Icst2012 zaman

Editor's Notes

  1. Test is done to ensure that Optimal Configuration is chosen Any change to hardware or software in the system has not degraded the system performance
  2. Test is done to ensure that Optimal Configuration is chosen Any change to hardware or software in the system has not degraded the system performance
  3. Test is done to ensure that Optimal Configuration is chosen Any change to hardware or software in the system has not degraded the system performance
  4. Test is done to ensure that Optimal Configuration is chosen Any change to hardware or software in the system has not degraded the system performance
  5. Test is done to ensure that Optimal Configuration is chosen Any change to hardware or software in the system has not degraded the system performance Collect Data Response Time Resource Utilization (CPU, Disk I/O, Memory)
  6. Test is done to ensure that Optimal Configuration is chosen Any change to hardware or software in the system has not degraded the system performance
  7. Why this is a problem?
  8. Why this is a problem?
  9. Why this is a problem?
  10. Is it better? How does the performance evolve over time of execution? Is the performance consistent over time of execution?
  11. Mean = 44.82 vs 42.25 Median = 46 vs 32 % of bad = 7.19 vs 0.37
  12. Dell DVD Store Purchase Scenario
  13. ES1 – Scenario #2
  14. Variance = (standard deviation)2