SlideShare a Scribd company logo
Introduction to
                                    Performance Testing

                                                 First Presented for:
                                        PSQT/PSTT Conference
                                       Washington, DC May, 2003




                                           Scott Barber
                                     Chief Technology Officer
                                        PerfTestPlus, Inc.
    www.PerfTestPlus.com                Introduction to Performance Testing   Page 1
© 2006 PerfTestPlus, Inc. All rights reserved.
Agenda

Why Performance Test?
What is Performance related testing?
Intro to Performance Engineering Methodology
Where to go for more info
Summary / Q&A




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 2
© 2006 PerfTestPlus, Inc. All rights reserved.
Why Performance Test?


Speed - Does the application respond quickly enough for the
    intended users?
Scalability – Will the application handle the expected user
    load and beyond? (AKA Capacity)
Stability – Is the application stable under expected and
    unexpected user loads? (AKA Robustness)
Confidence – Are you sure that users will have a positive
    experience on go-live day?



    www.PerfTestPlus.com                Introduction to Performance Testing   Page 3
© 2006 PerfTestPlus, Inc. All rights reserved.
Speed

User Expectations
      – Experience
      – Psychology
      – Usage

System Constraints
      – Hardware
      – Network
      – Software

Costs
      – Speed can be expensive!



    www.PerfTestPlus.com                Introduction to Performance Testing   Page 4
© 2006 PerfTestPlus, Inc. All rights reserved.
Scalability

How many users…
      –    before it gets “slow”?
      –    before it stops working?
      –    will it sustain?
      –    do I expect today?
      –    do I expect before the next upgrade?
How much data can it hold?
      –    Database capacity
      –    File Server capacity
      –    Back-up Server capacity
      –    Data growth rates


    www.PerfTestPlus.com                Introduction to Performance Testing   Page 5
© 2006 PerfTestPlus, Inc. All rights reserved.
Stability


What happens if…
      –    there are more users than we expect?
      –    all the users do the same thing?
      –    a user gets disconnected?
      –    there is a Denial of Service Attack?
      –    the web server goes down?
      –    we get too many orders for the same thing?




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 6
© 2006 PerfTestPlus, Inc. All rights reserved.
Confidence

If you know what the performance is…
      –    you can assess risk.
      –    you can make informed decisions.
      –    you can plan for the future.
      –    you can sleep the night before go-live day.
The peace of mind that it will work on go-live day
  alone justifies the cost of
  performance testing.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 7
© 2006 PerfTestPlus, Inc. All rights reserved.
What is Performance Related Testing?

Performance Validation
Performance Testing                                                   Compare & Contrast
Performance Engineering
                                 What?

                                 Detect



                                                           Diagnose
                                         No                    Why?
                                              tR
                                                   e so
                                                       l ve               Resolve
                                                           d


    www.PerfTestPlus.com                Introduction to Performance Testing         Page 8
© 2006 PerfTestPlus, Inc. All rights reserved.
Performance Validation

“Performance validation is the process by which software is
  tested with the intent of determining if the software meets
  pre-existing performance requirements. This process aims
  to evaluate compliance.”


Primarily used for…
      – determining SLA compliance.
      – IV&V (Independent Validation and Verification).
      – validating subsequent builds/releases.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 9
© 2006 PerfTestPlus, Inc. All rights reserved.
Performance Testing

“Performance testing is the process by which software is
  tested to determine the current system performance. This
  process aims to gather information about current
  performance, but places no value judgments on the
  findings.”


Primarily used for…
      – determining capacity of existing systems.
      – creating benchmarks for future systems.
      – evaluating degradation with various loads and/or configurations.



    www.PerfTestPlus.com                Introduction to Performance Testing   Page 10
© 2006 PerfTestPlus, Inc. All rights reserved.
Performance Engineering

“Performance engineering is the process by which software is
  tested and tuned with the intent of realizing the required
  performance. This process aims to optimize the most
  important application performance trait, user experience.”


Primarily used for…
      – new systems with pre-determined requirements.
      – extending the capacity of old systems.
      – “fixing” systems that are not meeting requirements/SLAs.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 11
© 2006 PerfTestPlus, Inc. All rights reserved.
Compare and Contrast

Validation and Testing:
      – Are a subset of Engineering.
      – Are essentially the same except:
              • Validation usually focuses on a single scenario and tests
                against pre-determined standards.
              • Testing normally focuses on multiple scenarios with no pre-
                determined standards.
      – Are generally not iterative.
      – May be conducted separate from software development.
      – Have clear end points.


    www.PerfTestPlus.com                Introduction to Performance Testing   Page 12
© 2006 PerfTestPlus, Inc. All rights reserved.
Compare and Contrast

Engineering:
      – Is iterative.
      – Has clear goals, but ‘fuzzy’ end points.
      – Includes the effort of tuning the application.
      – Focuses on multiple scenarios with pre-determined
        standards.
      – Heavily involves the development team.
      – Occurs concurrently with software development.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 13
© 2006 PerfTestPlus, Inc. All rights reserved.
Intro to PE Methodology

                                                                Evaluate System
                                                                Develop Test Assets
                                                                Baselines and Benchmarks
                                                                Analyze Results
                                                                Tune
                                                                Identify Exploratory Tests
                                                                Execute Scheduled Tests
                                                                Complete Engagement



    www.PerfTestPlus.com                Introduction to Performance Testing   Page 14
© 2006 PerfTestPlus, Inc. All rights reserved.
Evaluate System
Determine performance requirements.
Identify expected and unexpected user activity.
Determine test and/or production architecture.
Identify non-user-initiated (batch) processes.
Identify potential user environments.
Define expected behavior during unexpected circumstances.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 15
© 2006 PerfTestPlus, Inc. All rights reserved.
Develop Test Assets

Create Strategy Document.
Develop Risk Mitigation Plan.
Develop Test Data.
Automated test scripts:
      – Plan
      – Create
      – Validate




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 16
© 2006 PerfTestPlus, Inc. All rights reserved.
Baseline and Benchmarks
Most important for iterative testing.
Baseline (single user) for initial basis of comparison and ‘best
  case’.
Benchmark (15-25% of expected user load) determines actual
  state at loads expected to meet requirements.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 17
© 2006 PerfTestPlus, Inc. All rights reserved.
Analyze Results
Most important.
Most difficult.
Focuses on:
   – Have the performance criteria been met?
   – What are the bottlenecks?
   – Who is responsible to fix those bottlenecks?
   – Decisions.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 18
© 2006 PerfTestPlus, Inc. All rights reserved.
Tune
Engineering only.
Highly collaborative with development team.
Highly iterative.
Usually, performance engineer ‘supports’ and ‘validates’ while
  developers/admins ‘tune’.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 19
© 2006 PerfTestPlus, Inc. All rights reserved.
Identify Exploratory Tests
Engineering only.
Exploits known bottleneck.
Assists with analysis & tuning.
Significant collaboration with ‘tuners’.
Not robust tests – quick and dirty, not often reusable/relevant
  after tuning is complete.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 20
© 2006 PerfTestPlus, Inc. All rights reserved.
Execute Scheduled Tests

Only after Baseline and/or Benchmark tests.
These tests evaluate compliance with documented
  requirements.
Often are conducted on multiple hardware/configuration
  variations.




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 21
© 2006 PerfTestPlus, Inc. All rights reserved.
Complete Engagement

Document:
      –    Actual Results
      –    Tuning Summary
      –    Known bottlenecks not tuned
      –    Other supporting information
      –    Recommendation
Package Test Assets:
      – Scripts
      – Documents
      – Test data




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 22
© 2006 PerfTestPlus, Inc. All rights reserved.
Where to go for more information

http://www.PerfTestPlus.com (My site)
http://www.QAForums.com (Huge QA Forum)
http://www.loadtester.com (Good articles and links)
http://www.segue.com/html/s_solutions/papers/s_wp_info.htm (Good
   articles and statistics)
http://www.keynote.com/resources/resource_library.html
   (Good articles and statistics)




    www.PerfTestPlus.com                Introduction to Performance Testing   Page 23
© 2006 PerfTestPlus, Inc. All rights reserved.
Summary

We test performance to:
      – Evaluate Risk.
      – Determine system capabilities.
      – Determine compliance.
Performance Engineering Methodology:
      –    Ensures goals are accomplished.
      –    Defines tasks.
      –    Identifies critical decision points.
      –    Shortens testing lifecycle.


    www.PerfTestPlus.com                Introduction to Performance Testing   Page 24
© 2006 PerfTestPlus, Inc. All rights reserved.
Questions and Contact Information

                                         Scott Barber
                                   Chief Technology Officer
                                      PerfTestPlus, Inc.




E-mail:                                                         Web Site:
sbarber@perftestplus.com                                        www.PerfTestPlus.com


    www.PerfTestPlus.com                Introduction to Performance Testing   Page 25
© 2006 PerfTestPlus, Inc. All rights reserved.

More Related Content

What's hot

Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)
Naresh Jain
 
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
TEST Huddle
 
Design for reliability
Design for reliabilityDesign for reliability
Design for reliability
Matthew Clemens
 
[China merge world tour] EMC Customer Story
[China   merge world tour] EMC Customer Story[China   merge world tour] EMC Customer Story
[China merge world tour] EMC Customer Story
Perforce
 
Resume raghu - qa
Resume raghu - qaResume raghu - qa
Resume raghu - qa
raghu s
 
Combining Performance Testing And Modelling For Easy Jet.Com V 1.0
Combining Performance Testing And Modelling For Easy Jet.Com V 1.0Combining Performance Testing And Modelling For Easy Jet.Com V 1.0
Combining Performance Testing And Modelling For Easy Jet.Com V 1.0
dannyq
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
Ian McDonald
 
Factory
FactoryFactory
Factory
radha120
 
Robust design and reliability engineering synergy webinar 2013 04 10
Robust design and reliability engineering synergy webinar   2013 04 10Robust design and reliability engineering synergy webinar   2013 04 10
Robust design and reliability engineering synergy webinar 2013 04 10ASQ Reliability Division
 
Beginner guide-to-software-testing
Beginner guide-to-software-testingBeginner guide-to-software-testing
Beginner guide-to-software-testing
biswajit52
 
Andre Arsenault - Resume - 2016
Andre Arsenault - Resume - 2016Andre Arsenault - Resume - 2016
Andre Arsenault - Resume - 2016Andre Arsenault
 
SOFTWARE ENGINEERING UNIT 6 Ch 13
SOFTWARE ENGINEERING UNIT 6 Ch 13SOFTWARE ENGINEERING UNIT 6 Ch 13
SOFTWARE ENGINEERING UNIT 6 Ch 13
Azhar Shaik
 
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpjucaab
 
Karate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by TestrigKarate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by Testrig
PritiFGaikwad
 
Dietmar Strasser - Traditional QA meets Agile Development
Dietmar Strasser -  Traditional QA meets Agile DevelopmentDietmar Strasser -  Traditional QA meets Agile Development
Dietmar Strasser - Traditional QA meets Agile Development
TEST Huddle
 

What's hot (19)

Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)
 
Devopsdays barcelona
Devopsdays barcelonaDevopsdays barcelona
Devopsdays barcelona
 
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
Thomas Kauders - Agile Test Design And Automation of a Life-Critical Medical ...
 
PraveenResumeNewL
PraveenResumeNewLPraveenResumeNewL
PraveenResumeNewL
 
Design for reliability
Design for reliabilityDesign for reliability
Design for reliability
 
[China merge world tour] EMC Customer Story
[China   merge world tour] EMC Customer Story[China   merge world tour] EMC Customer Story
[China merge world tour] EMC Customer Story
 
Resume raghu - qa
Resume raghu - qaResume raghu - qa
Resume raghu - qa
 
Combining Performance Testing And Modelling For Easy Jet.Com V 1.0
Combining Performance Testing And Modelling For Easy Jet.Com V 1.0Combining Performance Testing And Modelling For Easy Jet.Com V 1.0
Combining Performance Testing And Modelling For Easy Jet.Com V 1.0
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
Factory
FactoryFactory
Factory
 
Resume
ResumeResume
Resume
 
Robust design and reliability engineering synergy webinar 2013 04 10
Robust design and reliability engineering synergy webinar   2013 04 10Robust design and reliability engineering synergy webinar   2013 04 10
Robust design and reliability engineering synergy webinar 2013 04 10
 
Beginner guide-to-software-testing
Beginner guide-to-software-testingBeginner guide-to-software-testing
Beginner guide-to-software-testing
 
Andre Arsenault - Resume - 2016
Andre Arsenault - Resume - 2016Andre Arsenault - Resume - 2016
Andre Arsenault - Resume - 2016
 
Jack Duncan CV
Jack Duncan CVJack Duncan CV
Jack Duncan CV
 
SOFTWARE ENGINEERING UNIT 6 Ch 13
SOFTWARE ENGINEERING UNIT 6 Ch 13SOFTWARE ENGINEERING UNIT 6 Ch 13
SOFTWARE ENGINEERING UNIT 6 Ch 13
 
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
 
Karate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by TestrigKarate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by Testrig
 
Dietmar Strasser - Traditional QA meets Agile Development
Dietmar Strasser -  Traditional QA meets Agile DevelopmentDietmar Strasser -  Traditional QA meets Agile Development
Dietmar Strasser - Traditional QA meets Agile Development
 

Similar to Perf Intro Ppt

perf_intro_ppt.pdf
perf_intro_ppt.pdfperf_intro_ppt.pdf
perf_intro_ppt.pdf
kirangandhi23
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Archana Survase
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberArchana Survase
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
Scott Barber
 
Load and Performance Testing in Production, featuring Scott Barber
Load and Performance Testing in Production, featuring Scott BarberLoad and Performance Testing in Production, featuring Scott Barber
Load and Performance Testing in Production, featuring Scott Barber
Neotys
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
Perfecto by Perforce
 
Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01Archana Survase
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Emtec Inc.
 
Performance Testing – Look Before you Leap
Performance Testing – Look Before you LeapPerformance Testing – Look Before you Leap
Performance Testing – Look Before you Leap
Software Testing Solution
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
Edureka!
 
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | EdurekaJMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
Edureka!
 
Managing Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal ApproachManaging Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal Approach
TechWell
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
AppDynamics
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
Inflectra
 
Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
Stephen Thair
 
The Software Testing Pyramid: A Concrete Example
The Software Testing Pyramid: A Concrete ExampleThe Software Testing Pyramid: A Concrete Example
The Software Testing Pyramid: A Concrete Example
TechWell
 
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Inc.
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JAT
Clever Moe
 
Introduction to SDET
Introduction to SDETIntroduction to SDET
Introduction to SDET
R Ravi Chandran
 

Similar to Perf Intro Ppt (20)

perf_intro_ppt.pdf
perf_intro_ppt.pdfperf_intro_ppt.pdf
perf_intro_ppt.pdf
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
 
Load and Performance Testing in Production, featuring Scott Barber
Load and Performance Testing in Production, featuring Scott BarberLoad and Performance Testing in Production, featuring Scott Barber
Load and Performance Testing in Production, featuring Scott Barber
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
 
Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01Simple2rocketscience 120513214533 Phpapp01
Simple2rocketscience 120513214533 Phpapp01
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
 
Performance Testing – Look Before you Leap
Performance Testing – Look Before you LeapPerformance Testing – Look Before you Leap
Performance Testing – Look Before you Leap
 
Top 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
 
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | EdurekaJMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Managing Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal ApproachManaging Application Performance: A Simplified Universal Approach
Managing Application Performance: A Simplified Universal Approach
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
 
The Software Testing Pyramid: A Concrete Example
The Software Testing Pyramid: A Concrete ExampleThe Software Testing Pyramid: A Concrete Example
The Software Testing Pyramid: A Concrete Example
 
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JAT
 
Introduction to SDET
Introduction to SDETIntroduction to SDET
Introduction to SDET
 

Perf Intro Ppt

  • 1. Introduction to Performance Testing First Presented for: PSQT/PSTT Conference Washington, DC May, 2003 Scott Barber Chief Technology Officer PerfTestPlus, Inc. www.PerfTestPlus.com Introduction to Performance Testing Page 1 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 2. Agenda Why Performance Test? What is Performance related testing? Intro to Performance Engineering Methodology Where to go for more info Summary / Q&A www.PerfTestPlus.com Introduction to Performance Testing Page 2 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 3. Why Performance Test? Speed - Does the application respond quickly enough for the intended users? Scalability – Will the application handle the expected user load and beyond? (AKA Capacity) Stability – Is the application stable under expected and unexpected user loads? (AKA Robustness) Confidence – Are you sure that users will have a positive experience on go-live day? www.PerfTestPlus.com Introduction to Performance Testing Page 3 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 4. Speed User Expectations – Experience – Psychology – Usage System Constraints – Hardware – Network – Software Costs – Speed can be expensive! www.PerfTestPlus.com Introduction to Performance Testing Page 4 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 5. Scalability How many users… – before it gets “slow”? – before it stops working? – will it sustain? – do I expect today? – do I expect before the next upgrade? How much data can it hold? – Database capacity – File Server capacity – Back-up Server capacity – Data growth rates www.PerfTestPlus.com Introduction to Performance Testing Page 5 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 6. Stability What happens if… – there are more users than we expect? – all the users do the same thing? – a user gets disconnected? – there is a Denial of Service Attack? – the web server goes down? – we get too many orders for the same thing? www.PerfTestPlus.com Introduction to Performance Testing Page 6 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 7. Confidence If you know what the performance is… – you can assess risk. – you can make informed decisions. – you can plan for the future. – you can sleep the night before go-live day. The peace of mind that it will work on go-live day alone justifies the cost of performance testing. www.PerfTestPlus.com Introduction to Performance Testing Page 7 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 8. What is Performance Related Testing? Performance Validation Performance Testing Compare & Contrast Performance Engineering What? Detect Diagnose No Why? tR e so l ve Resolve d www.PerfTestPlus.com Introduction to Performance Testing Page 8 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 9. Performance Validation “Performance validation is the process by which software is tested with the intent of determining if the software meets pre-existing performance requirements. This process aims to evaluate compliance.” Primarily used for… – determining SLA compliance. – IV&V (Independent Validation and Verification). – validating subsequent builds/releases. www.PerfTestPlus.com Introduction to Performance Testing Page 9 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 10. Performance Testing “Performance testing is the process by which software is tested to determine the current system performance. This process aims to gather information about current performance, but places no value judgments on the findings.” Primarily used for… – determining capacity of existing systems. – creating benchmarks for future systems. – evaluating degradation with various loads and/or configurations. www.PerfTestPlus.com Introduction to Performance Testing Page 10 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 11. Performance Engineering “Performance engineering is the process by which software is tested and tuned with the intent of realizing the required performance. This process aims to optimize the most important application performance trait, user experience.” Primarily used for… – new systems with pre-determined requirements. – extending the capacity of old systems. – “fixing” systems that are not meeting requirements/SLAs. www.PerfTestPlus.com Introduction to Performance Testing Page 11 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 12. Compare and Contrast Validation and Testing: – Are a subset of Engineering. – Are essentially the same except: • Validation usually focuses on a single scenario and tests against pre-determined standards. • Testing normally focuses on multiple scenarios with no pre- determined standards. – Are generally not iterative. – May be conducted separate from software development. – Have clear end points. www.PerfTestPlus.com Introduction to Performance Testing Page 12 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 13. Compare and Contrast Engineering: – Is iterative. – Has clear goals, but ‘fuzzy’ end points. – Includes the effort of tuning the application. – Focuses on multiple scenarios with pre-determined standards. – Heavily involves the development team. – Occurs concurrently with software development. www.PerfTestPlus.com Introduction to Performance Testing Page 13 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 14. Intro to PE Methodology Evaluate System Develop Test Assets Baselines and Benchmarks Analyze Results Tune Identify Exploratory Tests Execute Scheduled Tests Complete Engagement www.PerfTestPlus.com Introduction to Performance Testing Page 14 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 15. Evaluate System Determine performance requirements. Identify expected and unexpected user activity. Determine test and/or production architecture. Identify non-user-initiated (batch) processes. Identify potential user environments. Define expected behavior during unexpected circumstances. www.PerfTestPlus.com Introduction to Performance Testing Page 15 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 16. Develop Test Assets Create Strategy Document. Develop Risk Mitigation Plan. Develop Test Data. Automated test scripts: – Plan – Create – Validate www.PerfTestPlus.com Introduction to Performance Testing Page 16 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 17. Baseline and Benchmarks Most important for iterative testing. Baseline (single user) for initial basis of comparison and ‘best case’. Benchmark (15-25% of expected user load) determines actual state at loads expected to meet requirements. www.PerfTestPlus.com Introduction to Performance Testing Page 17 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 18. Analyze Results Most important. Most difficult. Focuses on: – Have the performance criteria been met? – What are the bottlenecks? – Who is responsible to fix those bottlenecks? – Decisions. www.PerfTestPlus.com Introduction to Performance Testing Page 18 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 19. Tune Engineering only. Highly collaborative with development team. Highly iterative. Usually, performance engineer ‘supports’ and ‘validates’ while developers/admins ‘tune’. www.PerfTestPlus.com Introduction to Performance Testing Page 19 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 20. Identify Exploratory Tests Engineering only. Exploits known bottleneck. Assists with analysis & tuning. Significant collaboration with ‘tuners’. Not robust tests – quick and dirty, not often reusable/relevant after tuning is complete. www.PerfTestPlus.com Introduction to Performance Testing Page 20 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 21. Execute Scheduled Tests Only after Baseline and/or Benchmark tests. These tests evaluate compliance with documented requirements. Often are conducted on multiple hardware/configuration variations. www.PerfTestPlus.com Introduction to Performance Testing Page 21 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 22. Complete Engagement Document: – Actual Results – Tuning Summary – Known bottlenecks not tuned – Other supporting information – Recommendation Package Test Assets: – Scripts – Documents – Test data www.PerfTestPlus.com Introduction to Performance Testing Page 22 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 23. Where to go for more information http://www.PerfTestPlus.com (My site) http://www.QAForums.com (Huge QA Forum) http://www.loadtester.com (Good articles and links) http://www.segue.com/html/s_solutions/papers/s_wp_info.htm (Good articles and statistics) http://www.keynote.com/resources/resource_library.html (Good articles and statistics) www.PerfTestPlus.com Introduction to Performance Testing Page 23 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 24. Summary We test performance to: – Evaluate Risk. – Determine system capabilities. – Determine compliance. Performance Engineering Methodology: – Ensures goals are accomplished. – Defines tasks. – Identifies critical decision points. – Shortens testing lifecycle. www.PerfTestPlus.com Introduction to Performance Testing Page 24 © 2006 PerfTestPlus, Inc. All rights reserved.
  • 25. Questions and Contact Information Scott Barber Chief Technology Officer PerfTestPlus, Inc. E-mail: Web Site: sbarber@perftestplus.com www.PerfTestPlus.com www.PerfTestPlus.com Introduction to Performance Testing Page 25 © 2006 PerfTestPlus, Inc. All rights reserved.