Performance Testing:
       Throughout the Application Life-Cycle
                               Created for:




                                   By:

                            Scott Barber
                            Chief Technologist
                            PerfTestPlus, Inc.
Throughout the Life-Cycle                        © 2012 PerfTestPlus, Inc. All rights reserved.
Performance Testing:
                 Throughout the Application Life-Cycle

                              Scott Barber
                               Chief Technologist, PerfTestPlus, Inc.
                                  sbarber@perftestplus.com
                                  www.perftestplus.com
                                  @sbarber
                               Co-Founder: Workshop On Performance and Reliability
                                  www.performance-workshop.org

        Author:               Co-Author:                Contributing Author:




 Books: www.perftestplus.com/pubs                   About me: about.me/scott.barber
Throughout the Life-Cycle                                    © 2012 PerfTestPlus, Inc. All rights reserved.
Notes
This keynote is a sub-set of 7 days of instruction
      (about the same as a 1 semester university course)
I do not believe in “Best Practices” (I believe in
      problem solving via experience, experiment & education)
Everything in this keynote is based on personal
  experience in *some* context (but not yours)
Adapt concepts to your situation/context
Do network with others who are here (I bet they have
      great ideas too)
Follow–up with me (what works for you… or doesn’t)
I *like* questions!
Throughout the Life-Cycle                 © 2012 PerfTestPlus, Inc. All rights reserved.
Throughout the Life-Cycle   © 2012 PerfTestPlus, Inc. All rights reserved.
What is Performance?
 System or application characteristics related to:
      Speed:
        - responsiveness
        - user experience

      Scalability:
        - capacity
        - load
        - volume

      Stability
         - consistency
         - reliability
         - stress
Throughout the Life-Cycle          © 2012 PerfTestPlus, Inc. All rights reserved.
What is Performance Testing?
 What mom tells people:
   I help people make websites go fast.

What I tell people:
  I help and/or teach individuals and organizations to
  optimize software systems by balancing:
      •    Cost
      •    Time to market
      •    Capacity
      while remaining focused on the quality of service
      to system users.


Throughout the Life-Cycle               © 2012 PerfTestPlus, Inc. All rights reserved.
Performance vs. Load Testing?




Throughout the Life-Cycle   © 2012 PerfTestPlus, Inc. All rights reserved.
Throughout the Life-Cycle   © 2012 PerfTestPlus, Inc. All rights reserved.
Who is Responsible?
Where Does it Fit?
To Prevent Poor Performance…




  … don’t just react when it happens.
An Ounce of Prevention…
The Performance Lifecycle is:
   Conception to Headstone


             Not


       Cradle to Grave
… Do you like Swim Lanes?
…Or maybe Circles?
…Or Annotated Pie Charts?
•   Current Capacity                             • Single User
•   Projections                                    Responsiveness
                                                 • Resource Management
•   Scalability Plan
                                    Architects   • Component-Level
•   Reliability        DevOps &                    Concurrency
                                    Analysts &
                       Architects
                                      Scrum
                            Prod    Dev




                            Stage   Test


                       Load Team     Scrum &
• Prepare for Prod
                       & DevOps     Load Team
• Tune/Optimize                                  • Multi-User
• Predict                                          Responsiveness
• Early Warning                                  • Resource Trending
  Identification                                 • Limit Identification
…Relativistic Comparisons?
…How about Colors?
Application Delivery Activities
With:




  A “Test-Driven” Application
Performance Management Model
The four T’s   Units
Proactive
Micro & Macro
                  stand for…     Stories
                                 Tiers
Establish Goals                  Resources
Update Targets                   Goals




Dev & Prod
Times                            Assess
Resources                        Compare
Sizes                            Investigate
Frequencies                      Accept
Dashboard!                       Answer
Throughout the Life-Cycle   © 2012 PerfTestPlus, Inc. All rights reserved.
Throughout the Life-Cycle   © 2012 PerfTestPlus, Inc. All rights reserved.
Throughout the Life-Cycle   © 2012 PerfTestPlus, Inc. All rights reserved.
Load Testing Principles
                   Project context is central to successful testing.

                   Business, project, system, & user success criteria.

                   Identify system usage, and key metrics; plan and design tests.

                   Install and prepare environment, tools, & resource monitors.

                   Script the tests as designed.

                   Run and monitor tests. Validate tests, test data, and results.

                   Analyze the data individually and as a cross-functional team.

                   Consolidate and share results, customized by audience.

                   "Lather, rinse, repeat" as necessary.

Throughout the Life-Cycle                                  © 2012 PerfTestPlus, Inc. All rights reserved.
Unit-Level Testing Tools
                  (‘cause folks always ask)


FireBenchmarks; Performance testing addin for NUnit
JUnitPerf; a collection of JUnit test decorators for performance
Firefox Performance Tester's Pack
HTTPerf
Questions?
Preventing Poor Performance with
           a little work…
            every day…
         from every one.
Contact Info

                               Scott Barber
                            Chief Technologist
                             PerfTestPlus, Inc

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

  Blog:                                  Twitter:
  scott-barber.blogspot.com              @sbarber

Throughout the Life-Cycle                     © 2012 PerfTestPlus, Inc. All rights reserved.
Review & Questions
Did we learn anything?




Throughout the Life-Cycle              © 2012 PerfTestPlus, Inc. All rights reserved.

Iqnite keynote

  • 1.
    Performance Testing: Throughout the Application Life-Cycle Created for: By: Scott Barber Chief Technologist PerfTestPlus, Inc. Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 2.
    Performance Testing: Throughout the Application Life-Cycle Scott Barber Chief Technologist, PerfTestPlus, Inc. sbarber@perftestplus.com www.perftestplus.com @sbarber Co-Founder: Workshop On Performance and Reliability www.performance-workshop.org Author: Co-Author: Contributing Author: Books: www.perftestplus.com/pubs About me: about.me/scott.barber Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 3.
    Notes This keynote isa sub-set of 7 days of instruction (about the same as a 1 semester university course) I do not believe in “Best Practices” (I believe in problem solving via experience, experiment & education) Everything in this keynote is based on personal experience in *some* context (but not yours) Adapt concepts to your situation/context Do network with others who are here (I bet they have great ideas too) Follow–up with me (what works for you… or doesn’t) I *like* questions! Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 4.
    Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 5.
    What is Performance? System or application characteristics related to: Speed: - responsiveness - user experience Scalability: - capacity - load - volume Stability - consistency - reliability - stress Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 6.
    What is PerformanceTesting? What mom tells people: I help people make websites go fast. What I tell people: I help and/or teach individuals and organizations to optimize software systems by balancing: • Cost • Time to market • Capacity while remaining focused on the quality of service to system users. Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 7.
    Performance vs. LoadTesting? Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 8.
    Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 9.
  • 10.
  • 12.
    To Prevent PoorPerformance… … don’t just react when it happens.
  • 13.
    An Ounce ofPrevention…
  • 15.
    The Performance Lifecycleis: Conception to Headstone Not Cradle to Grave
  • 17.
    … Do youlike Swim Lanes?
  • 18.
  • 19.
    …Or Annotated PieCharts? • Current Capacity • Single User • Projections Responsiveness • Resource Management • Scalability Plan Architects • Component-Level • Reliability DevOps & Concurrency Analysts & Architects Scrum Prod Dev Stage Test Load Team Scrum & • Prepare for Prod & DevOps Load Team • Tune/Optimize • Multi-User • Predict Responsiveness • Early Warning • Resource Trending Identification • Limit Identification
  • 20.
  • 21.
  • 25.
  • 33.
    With: A“Test-Driven” Application Performance Management Model
  • 35.
    The four T’s Units Proactive Micro & Macro stand for… Stories Tiers Establish Goals Resources Update Targets Goals Dev & Prod Times Assess Resources Compare Sizes Investigate Frequencies Accept Dashboard! Answer
  • 50.
    Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 51.
    Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 53.
    Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 54.
    Load Testing Principles Project context is central to successful testing. Business, project, system, & user success criteria. Identify system usage, and key metrics; plan and design tests. Install and prepare environment, tools, & resource monitors. Script the tests as designed. Run and monitor tests. Validate tests, test data, and results. Analyze the data individually and as a cross-functional team. Consolidate and share results, customized by audience. "Lather, rinse, repeat" as necessary. Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 58.
    Unit-Level Testing Tools (‘cause folks always ask) FireBenchmarks; Performance testing addin for NUnit JUnitPerf; a collection of JUnit test decorators for performance Firefox Performance Tester's Pack HTTPerf
  • 60.
  • 61.
    Preventing Poor Performancewith a little work… every day… from every one.
  • 62.
    Contact Info Scott Barber Chief Technologist PerfTestPlus, Inc E-mail: Web Site: sbarber@perftestplus.com www.PerfTestPlus.com Blog: Twitter: scott-barber.blogspot.com @sbarber Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.
  • 63.
    Review & Questions Didwe learn anything? Throughout the Life-Cycle © 2012 PerfTestPlus, Inc. All rights reserved.