SlideShare a Scribd company logo
1 of 21
Download to read offline
MD
AM Tutorial
9/30/2013 8:30:00 AM

"Application Performance
Testing: A Simplified Universal
Approach"
Presented by:
Scott Barber
PerfTestPlus, Inc.

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Scott Barber
PerfTestPlus, Inc.
CTO of PerfTestPlus and recognized worldwide as a thought-leader in software system
performance and testing, Scott Barber describes himself as a “tester, author, speaker, disrupter,
and dad.” Scott is the author of Web Load Testing for Dummies and co-/contributing author of
Performance Testing Guidance for Web Applications, Beautiful Testing, and How to Reduce the
Cost of Testing.
8/27/2013

Managing Application Performance:
A Simplified Universal Approach
1

Managing Application Performance:
A Simplified Universal Approach
Created for:

By:

Scott Barber
Chief Performance Evangelist
SmartBear Software, Inc.

1
8/27/2013

Chief Performance Evangelist
SmartBear Software, Inc.
scott.barber@smartbear.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

What is Performance?
System or application characteristics related to:
Speed:
- responsiveness
- user experience
Scalability:
- capacity
- load
- volume
Stability:
- consistency
- reliability
- stress

2
8/27/2013

What is a Performant System?
A system optimized to balance:
- Cost
- Time to Market
- Capacity
…while remaining focused on:
Quality of Service to System Users

What is Performance Testing?
Testing designed to:
Inform software system optimization by
balancing:
- Cost
- Time to Market
- Capacity
while remaining focused on the quality of
service to system users.

3
8/27/2013

Performance vs. Load Testing?

The Performance Lifecycle is:
Conception to Headstone

Not

Cradle to Grave

4
8/27/2013

Prevent Poor Performance…

… don’t just react when it happens.
© PerfTestPlus, Inc.

Who is Responsible?

5
8/27/2013

© PerfTestPlus, Inc.

Where does it fit in the SDLC?

6
8/27/2013

Delivering Performant Systems;
Commonly, Y2K -> Today
SPE (Software Performance Engineering)
Math-centric Architect/Design method

+ Profiling
Context-free code optimization

+ Load Testing
Demonstrate (too late) poor performance characteristics

+ Capacity Planning
Math-centric guessing to determine hardware needs

+ APM (Application Performance Management)
Proactively react to production issues

=> Inefficient & Reactionary Delivery & Maintenance

Delivering Performant Systems;
Moving Forward
Minimize Need for Complex Mathematics
Few teams have mathematicians w/ advanced degrees

Disconnect Accuracy from Empirical Production Data
Because we can’t depend on what we don’t have yet

Remove Socio-Political Barriers
Collaboration improves information sharing & efficiency

Keep/Adapt most Valuable Practices
Many good concepts have been poorly implemented

Distribute Valuable Practices Throughout Life Cycle
Many valuable practices have suffered from stove-piping

I’m testing a model for the entire ‘Performance Journey’

7
8/27/2013

Performant Application Delivery

© PerfTestPlus, Inc.

Key Points
•
•
•
•

Entire Lifecycle
Entire Team Focused
Individual, Role, & Team Accountability & Responsibility
Continuous & Collaborative

“DevOps”

•
•
•
•
•
•
•

Code Profiling
Requirements Revision
Design Validation
Budgets
Units & Components
Monitoring
Tuning

Perf Team

•
•
•
•
•

Load/Stress Testing
Environment Config
Capacity Planning
Concurrency Checks
Situation Analysis

Individual

•
•
•
•

Snapshots
Comparisons
Niche Concerns
Mini-Field Studies
(UAT)
• “What-if…”

© PerfTestPlus, Inc.

8
8/27/2013

Preventing Poor Performance with
a little work…
every day…
from every one.
© PerfTestPlus, Inc.

Proactive
Micro & Macro
Establish Goals
Update Targets

Dev & Prod
Times
Resources
Sizes
Frequencies
Dashboard!

Units
Stories
Tiers
Resources
Goals

Assess
Compare
Investigate
Accept
Answer
© PerfTestPlus, Inc.

9
8/27/2013

© PerfTestPlus, Inc.

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

10
8/27/2013

© PerfTestPlus, Inc.

An Ounce of Prevention…

11
8/27/2013

© PerfTestPlus, Inc.

© PerfTestPlus, Inc.

12
8/27/2013

What is it?
Load Tests
Stress Tests
Endurance Tests
Infrastructure/Configuration Verification
Load Variability Analysis
Background Load for Acceptance Tests…
Or any other deliberate approximation of

Production Conditions

© PerfTestPlus, Inc.

13
8/27/2013

RPT is:
Inspired by Rapid Software Testing
Consistent with Rapid Software Testing themes
Sanctioned by James Bach, Michael Bolton & the RST
instructors to as a specific implementation of the
Rapid Testing Methodology

For more information about RST, visit:
http://www.satisfice.com/info_rst.shtml

Evolved from:
“What have we got?
What do we want?
How do we get there…?”
--Bob Barber (Scott’s dad)

… as quickly, simply, and
cheaply as possible?

14
8/27/2013

…a common man’s way of
expressing the problem solving
approach that classical engineers
employ.
• Given: “What have we got?”
• Find: “What do we want?”
• Solve: “How do we get there?”

What is it?
An approach to respond to a specific
performance-related question after 4 or fewer
hours of team effort with 1 or more of:
A) The answer
B) A partial answer
•
•

To determine the value of additional effort
The level of effort to provide the answer

C) Better questions to address the underlying
concern

15
8/27/2013

Conceptual Approach
1. Receive Question
•
•

2.
3.
4.
5.
6.

Clarify the question
Understand the driver(s) behind the question
Generate Test Coverage Outline (TCO) (~20 min)
•
Simplest path to (partial) answer(s)
•
Comprehensive path to (partial) answer(s)
Transform TCO into Rapid Strategy (~20 min)
•
Only tasks that fit in time box
•
Stick to tasks requiring available resources
Execute Strategy (~2.5 hrs)
•
Snapshots are your friends
•
Anecdotal is sufficient
Consolidate/Analyze Data (~30 min)
•
Identify patterns
•
Confirm patterns (time permitting)
Report Results (~20 min)
•
Answer(s) / Time or Effort to get answer(s)
•
Follow-on questions of interest

~4 hr

© PerfTestPlus, Inc.

© PerfTestPlus, Inc.

16
8/27/2013

© PerfTestPlus, Inc.

The Bottom Line

© PerfTestPlus, Inc.

17
8/27/2013

Addendum

Questions?

18
8/27/2013

Contact Info
about.me/scott.barber

Chief Performance Evangelist
SmartBear Softwear, Inc.
E-mail:
Scott.barber@smartbear.com

Web Site:
SmartBear.com

Blog:
scott-barber.blogspot.com

Twitter:
@sbarber

19

More Related Content

What's hot

testing_portfolio_diagnosis
testing_portfolio_diagnosistesting_portfolio_diagnosis
testing_portfolio_diagnosis
Rafael Battesti
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsulting
talkwiseone
 
Agile testing experiments
Agile testing experimentsAgile testing experiments
Agile testing experiments
Baiju Joseph
 

What's hot (20)

New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testing
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"
 
Test Automation Beyond Test Execution
Test Automation Beyond Test ExecutionTest Automation Beyond Test Execution
Test Automation Beyond Test Execution
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
introduction to DEVOPS
introduction to DEVOPSintroduction to DEVOPS
introduction to DEVOPS
 
Agile Testing Transformation is as Easy as 1, 2, 3 by Michael Buening
Agile Testing Transformation is as Easy as 1, 2, 3 by Michael BueningAgile Testing Transformation is as Easy as 1, 2, 3 by Michael Buening
Agile Testing Transformation is as Easy as 1, 2, 3 by Michael Buening
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
testing_portfolio_diagnosis
testing_portfolio_diagnosistesting_portfolio_diagnosis
testing_portfolio_diagnosis
 
Testing in-production
Testing in-productionTesting in-production
Testing in-production
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
DevOps: A Value Proposition
DevOps: A Value PropositionDevOps: A Value Proposition
DevOps: A Value Proposition
 
The Art of A/B Testing
The Art of A/B TestingThe Art of A/B Testing
The Art of A/B Testing
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsulting
 
2020-Feb: Testing: Cables and Chains
2020-Feb: Testing: Cables and Chains2020-Feb: Testing: Cables and Chains
2020-Feb: Testing: Cables and Chains
 
Agile testing experiments
Agile testing experimentsAgile testing experiments
Agile testing experiments
 
Lessons learnt in ten years of agile testing
Lessons learnt in ten years of agile testingLessons learnt in ten years of agile testing
Lessons learnt in ten years of agile testing
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 

Viewers also liked

Viewers also liked (7)

The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similar to Application Performance Testing: A Simplified Universal Approach

Rpt west13 sb_print
Rpt west13 sb_printRpt west13 sb_print
Rpt west13 sb_print
SmartBear
 
Paul Marples Resume
Paul Marples ResumePaul Marples Resume
Paul Marples Resume
Paul Marples
 
Achal_Resume_7.11
Achal_Resume_7.11Achal_Resume_7.11
Achal_Resume_7.11
Achal Dalvi
 
ACC presentation for QA Club Kiev
ACC presentation for QA Club KievACC presentation for QA Club Kiev
ACC presentation for QA Club Kiev
Nikita Knysh
 

Similar to Application Performance Testing: A Simplified Universal Approach (20)

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
 
Rpt west13 sb_print
Rpt west13 sb_printRpt west13 sb_print
Rpt west13 sb_print
 
Agile Cafe Boulder - Panelist and keynote slides
Agile Cafe Boulder - Panelist and keynote slidesAgile Cafe Boulder - Panelist and keynote slides
Agile Cafe Boulder - Panelist and keynote slides
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
 
Outsourcing With Agile
Outsourcing With AgileOutsourcing With Agile
Outsourcing With Agile
 
CV_latest_22_07_15
CV_latest_22_07_15CV_latest_22_07_15
CV_latest_22_07_15
 
Cox Automotive: Testing Across Multiple Brands
Cox Automotive: Testing Across Multiple BrandsCox Automotive: Testing Across Multiple Brands
Cox Automotive: Testing Across Multiple Brands
 
Paul Marples Resume
Paul Marples ResumePaul Marples Resume
Paul Marples Resume
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Achal_Resume_7.11
Achal_Resume_7.11Achal_Resume_7.11
Achal_Resume_7.11
 
CV_Mike Yan
CV_Mike YanCV_Mike Yan
CV_Mike Yan
 
W7
W7W7
W7
 
Taming the Beast: Test/QA on Large-scale Projects
Taming the Beast: Test/QA on Large-scale ProjectsTaming the Beast: Test/QA on Large-scale Projects
Taming the Beast: Test/QA on Large-scale Projects
 
ACC presentation for QA Club Kiev
ACC presentation for QA Club KievACC presentation for QA Club Kiev
ACC presentation for QA Club Kiev
 
Capstone Presentation 2015 - Quality+
Capstone Presentation 2015 - Quality+Capstone Presentation 2015 - Quality+
Capstone Presentation 2015 - Quality+
 
Uncovering Emerging Information Trends in Information Technology
Uncovering Emerging Information Trends in Information TechnologyUncovering Emerging Information Trends in Information Technology
Uncovering Emerging Information Trends in Information Technology
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
Naveen Prakash Resume
Naveen Prakash ResumeNaveen Prakash Resume
Naveen Prakash Resume
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 

More from TechWell

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Application Performance Testing: A Simplified Universal Approach

  • 1. MD AM Tutorial 9/30/2013 8:30:00 AM "Application Performance Testing: A Simplified Universal Approach" Presented by: Scott Barber PerfTestPlus, Inc. Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Scott Barber PerfTestPlus, Inc. CTO of PerfTestPlus and recognized worldwide as a thought-leader in software system performance and testing, Scott Barber describes himself as a “tester, author, speaker, disrupter, and dad.” Scott is the author of Web Load Testing for Dummies and co-/contributing author of Performance Testing Guidance for Web Applications, Beautiful Testing, and How to Reduce the Cost of Testing.
  • 3. 8/27/2013 Managing Application Performance: A Simplified Universal Approach 1 Managing Application Performance: A Simplified Universal Approach Created for: By: Scott Barber Chief Performance Evangelist SmartBear Software, Inc. 1
  • 4. 8/27/2013 Chief Performance Evangelist SmartBear Software, Inc. scott.barber@smartbear.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 What is Performance? System or application characteristics related to: Speed: - responsiveness - user experience Scalability: - capacity - load - volume Stability: - consistency - reliability - stress 2
  • 5. 8/27/2013 What is a Performant System? A system optimized to balance: - Cost - Time to Market - Capacity …while remaining focused on: Quality of Service to System Users What is Performance Testing? Testing designed to: Inform software system optimization by balancing: - Cost - Time to Market - Capacity while remaining focused on the quality of service to system users. 3
  • 6. 8/27/2013 Performance vs. Load Testing? The Performance Lifecycle is: Conception to Headstone Not Cradle to Grave 4
  • 7. 8/27/2013 Prevent Poor Performance… … don’t just react when it happens. © PerfTestPlus, Inc. Who is Responsible? 5
  • 8. 8/27/2013 © PerfTestPlus, Inc. Where does it fit in the SDLC? 6
  • 9. 8/27/2013 Delivering Performant Systems; Commonly, Y2K -> Today SPE (Software Performance Engineering) Math-centric Architect/Design method + Profiling Context-free code optimization + Load Testing Demonstrate (too late) poor performance characteristics + Capacity Planning Math-centric guessing to determine hardware needs + APM (Application Performance Management) Proactively react to production issues => Inefficient & Reactionary Delivery & Maintenance Delivering Performant Systems; Moving Forward Minimize Need for Complex Mathematics Few teams have mathematicians w/ advanced degrees Disconnect Accuracy from Empirical Production Data Because we can’t depend on what we don’t have yet Remove Socio-Political Barriers Collaboration improves information sharing & efficiency Keep/Adapt most Valuable Practices Many good concepts have been poorly implemented Distribute Valuable Practices Throughout Life Cycle Many valuable practices have suffered from stove-piping I’m testing a model for the entire ‘Performance Journey’ 7
  • 10. 8/27/2013 Performant Application Delivery © PerfTestPlus, Inc. Key Points • • • • Entire Lifecycle Entire Team Focused Individual, Role, & Team Accountability & Responsibility Continuous & Collaborative “DevOps” • • • • • • • Code Profiling Requirements Revision Design Validation Budgets Units & Components Monitoring Tuning Perf Team • • • • • Load/Stress Testing Environment Config Capacity Planning Concurrency Checks Situation Analysis Individual • • • • Snapshots Comparisons Niche Concerns Mini-Field Studies (UAT) • “What-if…” © PerfTestPlus, Inc. 8
  • 11. 8/27/2013 Preventing Poor Performance with a little work… every day… from every one. © PerfTestPlus, Inc. Proactive Micro & Macro Establish Goals Update Targets Dev & Prod Times Resources Sizes Frequencies Dashboard! Units Stories Tiers Resources Goals Assess Compare Investigate Accept Answer © PerfTestPlus, Inc. 9
  • 12. 8/27/2013 © PerfTestPlus, Inc. 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 10
  • 13. 8/27/2013 © PerfTestPlus, Inc. An Ounce of Prevention… 11
  • 14. 8/27/2013 © PerfTestPlus, Inc. © PerfTestPlus, Inc. 12
  • 15. 8/27/2013 What is it? Load Tests Stress Tests Endurance Tests Infrastructure/Configuration Verification Load Variability Analysis Background Load for Acceptance Tests… Or any other deliberate approximation of Production Conditions © PerfTestPlus, Inc. 13
  • 16. 8/27/2013 RPT is: Inspired by Rapid Software Testing Consistent with Rapid Software Testing themes Sanctioned by James Bach, Michael Bolton & the RST instructors to as a specific implementation of the Rapid Testing Methodology For more information about RST, visit: http://www.satisfice.com/info_rst.shtml Evolved from: “What have we got? What do we want? How do we get there…?” --Bob Barber (Scott’s dad) … as quickly, simply, and cheaply as possible? 14
  • 17. 8/27/2013 …a common man’s way of expressing the problem solving approach that classical engineers employ. • Given: “What have we got?” • Find: “What do we want?” • Solve: “How do we get there?” What is it? An approach to respond to a specific performance-related question after 4 or fewer hours of team effort with 1 or more of: A) The answer B) A partial answer • • To determine the value of additional effort The level of effort to provide the answer C) Better questions to address the underlying concern 15
  • 18. 8/27/2013 Conceptual Approach 1. Receive Question • • 2. 3. 4. 5. 6. Clarify the question Understand the driver(s) behind the question Generate Test Coverage Outline (TCO) (~20 min) • Simplest path to (partial) answer(s) • Comprehensive path to (partial) answer(s) Transform TCO into Rapid Strategy (~20 min) • Only tasks that fit in time box • Stick to tasks requiring available resources Execute Strategy (~2.5 hrs) • Snapshots are your friends • Anecdotal is sufficient Consolidate/Analyze Data (~30 min) • Identify patterns • Confirm patterns (time permitting) Report Results (~20 min) • Answer(s) / Time or Effort to get answer(s) • Follow-on questions of interest ~4 hr © PerfTestPlus, Inc. © PerfTestPlus, Inc. 16
  • 19. 8/27/2013 © PerfTestPlus, Inc. The Bottom Line © PerfTestPlus, Inc. 17
  • 21. 8/27/2013 Contact Info about.me/scott.barber Chief Performance Evangelist SmartBear Softwear, Inc. E-mail: Scott.barber@smartbear.com Web Site: SmartBear.com Blog: scott-barber.blogspot.com Twitter: @sbarber 19