SlideShare ist ein Scribd-Unternehmen logo
1 von 54
going for speed
T E S T I N G A G A I N S T
P E R F O R M A N C E E X P E C TAT I O N S
why does
performance
matter?
poor performance = ?
stuck in traffic
in detroit
60hours
per
year
tinyurl.com/3c3df9g
flight is delayed
with american airlines
26%tinyurl.com/3j9hmje
auto fuel efficiency
power to the wheels
20%www.fueleconomy.gov/feg/atv.shtml
an annual loss of
$1285.66% www.fueleconomy.gov/feg/atv.shtml
poor performance = wasted time & money
why does
performance
matter to developers?
?
throw at it?
what can we
more hardware!
let’s throw
more resources!
let’s throw
your overtime!
let’s throw
poor performance = a miserable life
suffer
does my app
?
75%
sustain under
r:% advanced
metrics
but all that really matters...
perception
goals
establishing
what is the
target?
avoid buzzwords99.999% of the time
target
threshold
vs.
↼
↼
constraints
and
budgets
assumptions
validate
plan.execute( )
unit analysis
//MSTest Example
[TestMethod]
public void ShouldDoThis()
{
// Test Functionality
}
unit analysis
//MSTest Example
[TestMethod]
public void ShouldDoThisInUnder100ms()
{
// Test Functionality
// TODO: Write code to test for speed
}
unit analysis
//MSTest Example
[TestMethod]
public void ShouldDoThisInUnder100ms()
{
var stopwatch = Stopwatch.StartNew();
// Test Functionality
stopwatch.Stop();
int elapsedMs = stopwatch
.ElapsedMilliseconds;
Assert.True(elapsedMs <= 100);
}
unit analysis
//NUnit Example
[TestFixture]
public void ShouldDoThisInUnder100ms()
{
// Test Functionality
// TODO: Write code to test for speed
}
unit analysis
//NUnit Example
[TestFixture, MaxTime(100)]
public void ShouldDoThisInUnder100ms()
{
// Test Functionality
// Done. Keep being Awesome.
}
memory usage
Process.GetCurrentProcess().WorkingSet64
using System.Diagnostics;
GC.GetTotalMemory(false)
using System;
visual studio performance explorer
demo
profiling
studio
with
web
analysis
demo
visual studio web test
traffic flow
patterns
ORANVIRIYINCY | FLICKR.COM/PEOPLE/VIRIYINCY
demo
visual studio performance test
everything
simultaneously
run
!
rule#10
isolate data
at all times
!
rule#9
real user
test like a
!
rule#8
production
test on a
!
rule#7
clone of
production
test on
!
rule#6
turned off
tests can be
!
rule#5
!assumptions
validate your
rule#4
!budget
stick to your
rule#3
!design
performancestarts at
rule#2
want more
information?
Microsoft Debug Diagnostics Tool
tinyurl.com/DebugDiag
tinyurl.com/DebugDiagWP (Whitepaper)
Web Capacity Analysis Tool (WCAT)
bit.ly/ffq6dD
JetBrains dotTrace
jetbrains.com
Red Gate ANTS Performance and Memory Profilers
red-gate.com
HP LoadRunner
tinyurl.com/LoadRunner
Performance Testing Guidelines
for Web Applications
Microsoft Patterns & Practices
perftestingguide.codeplex.com
J.D Meier, Carlos Farre, Prashant Bansode,
Scott Barber, Dennis Rea
rule #1:
quality is
everyone’s job!
go for speed
# g o i n g F o r S p e e d
jay@aranasoft.com

Weitere ähnliche Inhalte

Andere mochten auch

Primer tarda a la biblioteca
Primer tarda a la bibliotecaPrimer tarda a la biblioteca
Primer tarda a la biblioteca
lluís nater
 
07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...
07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...
07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...
The Business Council of Mongolia
 

Andere mochten auch (11)

Fitz and The Tantrums - The Walker
Fitz and The Tantrums - The WalkerFitz and The Tantrums - The Walker
Fitz and The Tantrums - The Walker
 
iCN Presentation 2016
iCN Presentation 2016iCN Presentation 2016
iCN Presentation 2016
 
Introducció a contaminació lumínica
Introducció a contaminació lumínicaIntroducció a contaminació lumínica
Introducció a contaminació lumínica
 
Ahorros y finanzas personales
Ahorros y finanzas personalesAhorros y finanzas personales
Ahorros y finanzas personales
 
Program ares 7
Program ares 7Program ares 7
Program ares 7
 
Primer tarda a la biblioteca
Primer tarda a la bibliotecaPrimer tarda a la biblioteca
Primer tarda a la biblioteca
 
Asp.net Mvc 5 y Azure
Asp.net Mvc 5 y AzureAsp.net Mvc 5 y Azure
Asp.net Mvc 5 y Azure
 
Allusions and Intertextuality in Novels
Allusions and Intertextuality in NovelsAllusions and Intertextuality in Novels
Allusions and Intertextuality in Novels
 
Technical Writing Examples
Technical Writing ExamplesTechnical Writing Examples
Technical Writing Examples
 
Y6 华文 单元 3 习写作文
Y6 华文 单元 3 习写作文Y6 华文 单元 3 习写作文
Y6 华文 单元 3 习写作文
 
07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...
07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...
07.25.2013, REPORT, MACROECONOMIC RISKS OF MONGOLIA AND WAYS TO MITIGATE THEM...
 

Ähnlich wie Going for Speed: Testing for Performance

Select a publicly traded U.S. corporation for which you have a com.docx
Select a publicly traded U.S. corporation for which you have a com.docxSelect a publicly traded U.S. corporation for which you have a com.docx
Select a publicly traded U.S. corporation for which you have a com.docx
kenjordan97598
 
Aeromexico overview presentation_august_2014
Aeromexico overview presentation_august_2014Aeromexico overview presentation_august_2014
Aeromexico overview presentation_august_2014
Aeromexico_IR
 
Six sigma for beginner
Six sigma for beginnerSix sigma for beginner
Six sigma for beginner
Yusar Cahyadi
 
Control phase lean six sigma tollgate template
Control phase   lean six sigma tollgate templateControl phase   lean six sigma tollgate template
Control phase lean six sigma tollgate template
Steven Bonacorsi
 
Control phase lean six sigma tollgate template
Control phase   lean six sigma tollgate templateControl phase   lean six sigma tollgate template
Control phase lean six sigma tollgate template
Steven Bonacorsi
 

Ähnlich wie Going for Speed: Testing for Performance (20)

PSG.ppt
PSG.pptPSG.ppt
PSG.ppt
 
Solutions Manual for Basic Business Statistics 13th Edition by Berenson
Solutions Manual for Basic Business Statistics 13th Edition by BerensonSolutions Manual for Basic Business Statistics 13th Edition by Berenson
Solutions Manual for Basic Business Statistics 13th Edition by Berenson
 
Technical Debt Must Die: Communicating Code to Business Stakeholders
Technical Debt Must Die: Communicating Code to Business StakeholdersTechnical Debt Must Die: Communicating Code to Business Stakeholders
Technical Debt Must Die: Communicating Code to Business Stakeholders
 
Nagios Conference 2014 - Nate Broderick - SLA - The Marriage of an Effective ...
Nagios Conference 2014 - Nate Broderick - SLA - The Marriage of an Effective ...Nagios Conference 2014 - Nate Broderick - SLA - The Marriage of an Effective ...
Nagios Conference 2014 - Nate Broderick - SLA - The Marriage of an Effective ...
 
Incorporating Gate Variability in Airline Block Planning
Incorporating Gate Variability in Airline Block PlanningIncorporating Gate Variability in Airline Block Planning
Incorporating Gate Variability in Airline Block Planning
 
#Interactive Session by Sujeet Kumar Maurya, "Performance engineering with AI...
#Interactive Session by Sujeet Kumar Maurya, "Performance engineering with AI...#Interactive Session by Sujeet Kumar Maurya, "Performance engineering with AI...
#Interactive Session by Sujeet Kumar Maurya, "Performance engineering with AI...
 
introtosixsigma.ppt
introtosixsigma.pptintrotosixsigma.ppt
introtosixsigma.ppt
 
An Empirical Study On Practicality Of Specification Mining Algorithms On A Re...
An Empirical Study On Practicality Of Specification Mining Algorithms On A Re...An Empirical Study On Practicality Of Specification Mining Algorithms On A Re...
An Empirical Study On Practicality Of Specification Mining Algorithms On A Re...
 
The Lean CFO
The Lean CFOThe Lean CFO
The Lean CFO
 
Select a publicly traded U.S. corporation for which you have a com.docx
Select a publicly traded U.S. corporation for which you have a com.docxSelect a publicly traded U.S. corporation for which you have a com.docx
Select a publicly traded U.S. corporation for which you have a com.docx
 
Шаблон KPI от YouExec
Шаблон KPI от YouExecШаблон KPI от YouExec
Шаблон KPI от YouExec
 
Project KPI presentation sample by YouExec
Project KPI presentation sample by YouExecProject KPI presentation sample by YouExec
Project KPI presentation sample by YouExec
 
Aeromexico overview presentation_august_2014
Aeromexico overview presentation_august_2014Aeromexico overview presentation_august_2014
Aeromexico overview presentation_august_2014
 
Airline flights delay prediction- 2014 Spring Data Mining Project
Airline flights delay prediction- 2014 Spring Data Mining ProjectAirline flights delay prediction- 2014 Spring Data Mining Project
Airline flights delay prediction- 2014 Spring Data Mining Project
 
The Internet of Flying Things - Overview
The Internet of Flying Things - OverviewThe Internet of Flying Things - Overview
The Internet of Flying Things - Overview
 
Aeromexico Overview Presentation - September 2014
Aeromexico Overview Presentation - September 2014Aeromexico Overview Presentation - September 2014
Aeromexico Overview Presentation - September 2014
 
A-CDM
A-CDMA-CDM
A-CDM
 
Six sigma for beginner
Six sigma for beginnerSix sigma for beginner
Six sigma for beginner
 
Control phase lean six sigma tollgate template
Control phase   lean six sigma tollgate templateControl phase   lean six sigma tollgate template
Control phase lean six sigma tollgate template
 
Control phase lean six sigma tollgate template
Control phase   lean six sigma tollgate templateControl phase   lean six sigma tollgate template
Control phase lean six sigma tollgate template
 

Mehr von Jay Harris

Mehr von Jay Harris (7)

Bullets Kill People: Building Effective Presentations
Bullets Kill People: Building Effective PresentationsBullets Kill People: Building Effective Presentations
Bullets Kill People: Building Effective Presentations
 
Dethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.jsDethroning Grunt: Simple and Effective Builds with gulp.js
Dethroning Grunt: Simple and Effective Builds with gulp.js
 
OrchardCMS module development
OrchardCMS module developmentOrchardCMS module development
OrchardCMS module development
 
Test driven node.js
Test driven node.jsTest driven node.js
Test driven node.js
 
node.js Module Development
node.js Module Developmentnode.js Module Development
node.js Module Development
 
The Geek's Guide to SEO
The Geek's Guide to SEOThe Geek's Guide to SEO
The Geek's Guide to SEO
 
Dev Basics: The ASP.NET Page Life Cycle
Dev Basics: The ASP.NET Page Life CycleDev Basics: The ASP.NET Page Life Cycle
Dev Basics: The ASP.NET Page Life Cycle
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Going for Speed: Testing for Performance

Hinweis der Redaktion

  1. Unit Testing has settled into the mainstream. As developers, we write code that checks code, ensuring that the outcome matches some expected result. But, are we really? As end-users (which includes each one of us from time to time), when we ask a question, we don&apos;t just expect our answer to be right, we expect it to be right now. So as developers, why are we only validating for accuracy? Why aren&apos;t we going for speed? During this session we&apos;ll discuss meeting the performance needs of an application, including developing a performance specification, measuring application performance from stand-alone testing through unit testing, using tools ranging from Team Foundation Server to the command line, and asserting on these measurements to ensure that all expectations are met. Your application does &amp;quot;right.&amp;quot; Let&apos;s focus on &amp;quot;right now.&amp;quot;
  2. Jay Harris is a .NET developer in Southeast Michigan and an independent software consultant at Arana Software ( http://www.aranasoft.com ). He has been developing on the web for 15 years, since he abandoned VB3 for JavaScript because he didn&apos;t have to wait for a compile. With a career focus on end-user experience, he is a strong advocate of practices and processes that improve quality through code, ranging from automated testing, continuous integration, and performance analysis, to designing applications from the perspective of the user instead of the database. Jay is also active in the developer community beyond speaking, including serving as President of Ann Arbor .Net Developers ( http://www.aadnd.org ) an d as an organizer fo r Lansing Give Camp. When not coding, he is usually blogging to http://www.cptloadtest.com or playing games on his Xbox 360.
  3. Presentation agenda: Justifying Performance Testing, Determining Performance Goals, Identifying Existing Issues, Testing a Unit of Code for Performance, andTesting an Application for Performance.