Home > Software Quality All-in-One Guides > Optimizing Performance in the Enterprise > Performance testing > Why do we test for performance?
All-in-One Guides: Optimizing Performance in the Enterprise:
EMAIL THIS
 START   PERFORMANCE MGMT. & MONITORING   SOA PERFORMANCE   JAVA PERFORMANCE   JAVA PERFORMANCE TIPS   TESTING   
Performance testing

<< PREVIOUS | NEXT >>: What to include in a performance test plan
 TIPS & NEWSLETTERS TOPICS 

PEAK PERFORMANCE

Why do we test for performance?


Scott Barber
06.11.2008
Rating: -4.50- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


What a simple question! I even have a simple answer.

The problem is that answer is virtually useless unless we also know what performance characteristics are interesting to whom and for what purpose. Worse, more often than not, the folks who ask us to do the performance testing fundamentally don't know what they want to know and don't know what we can reasonably provide. They also don't understand that how the results are going to be used significantly impacts which tests we run and how we design them.

In my experience, when I ask stakeholders what the goals of the performance testing effort are, I generally get one of three answers:

  • You're the performance tester, you tell me.
  • Tell me how many users/orders/customers we can handle in production.
  • Make sure it will be fast enough.

Needless to say, these answers aren't only as useless as my response about determining or estimating performance characteristics, but the second two are practically impossible, since we almost never have either the data or the equipment available to accomplish those missions reliably. Somewhere between "virtually useless" and "practically impossible" there must be some reasons for testing performance that are both useful and possible. If there weren't useful and possible reasons for testing performance, we wouldn't still be doing it. (I hope!)

As it turns out, the key to my coming up with a model to explore that middle ground was to stop thinking about performance testing as a "testing effort" and start thinking about it as a "business effort." Once I made that shift, I was quickly able to identify four groups of "for whom" with common "for what purposes." Since then, I've found that using this model to frame conversations about prioritizing performance testing objectives fundamentally changes the discussion and increases the value of the performance testing effort. It also reduces wasted effort from designing tests to...


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


<< PREVIOUS | NEXT >>: What to include in a performance test plan
VIEW ALL IN THIS CATEGORY


RELATED CONTENT
Peak Performance
Ways to approach application performance testing on a tight budget
Budget-friendly Web app performance testing, monitoring tips
Testing rich Internet applications: 2009's best free tools
The controversy surrounding the schools of software testing
Testing training: Disturbing behaviors of students
Software testers are not helpless
Software testers must understand the business side of software quality
Software testing is improved by good bug reporting
Software testers: Identity crisis or delusions of grandeur?
Magic formula for successful performance testing

Software performance, load and stress testing
Software Testing: New software testing technologies bring new challenges
Drilling deep into performance testing at STPCon
STPCon: Do reality checks on performance test products, panelists advise
Ways to approach application performance testing on a tight budget
Data warehouse/BI performance testing tool recommendations
Software testers facing six big challenges today, StarWest keynoter says
Is manually testing a software project for flaws too risky?
At the movies: Exploratory, performance, security testing a kiosk
Why do performance testers write new scripts so often?
The case for software tester, analyst partnerships

Performance testing
What to include in a performance test plan
Testing for performance, part 3: Provide information
Testing for performance, part 2: Build out the test assets
Testing for performance, part 1: Assess the problem space
Understanding performance, load and stress testing
Developing an approach to performance testing
What is performance testing?

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
integration testing  (SearchSoftwareQuality.com)
performance testing  (SearchSoftwareQuality.com)
shotgun debugging  (SearchSoftwareQuality.com)
stress testing  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


collect one class of results only to find out that an entirely different test was needed to provide the class of results that stakeholders wanted, but were unable to articulate until after they were presented with the less valuable results.

The four most common groups of "for whom" are business stakeholders, developers, end users, and regulatory/compliance inspectors. While it's certainly common to conduct performance testing that serves more than one of those stakeholders at a time, let's look at each individually to see how their objectives differ.

High-priority performance testing objectives that support business stakeholders include the following:

  • Capacity and scalability estimates
  • Comparisons vs. competitors or current systems
  • Anticipated degree of user satisfaction
  • Likelihood of expensive or embarrassing failures (with mitigation recommendations)
  • Compliance assessments
  • Other information that improves go-live decisions

High-priority performance testing objectives to aid developers include the following:

  • Build-to-build performance trends
  • Architecture and design model validation
  • Configuration option comparisons
  • Resource utilization patterns under load
  • Other information that helps developers assess and improve performance as they develop software

High-priority performance testing objectives on behalf of end users include the following:

  • Assessment of acceptability and consistency of response times independent of load
  • Assessment of stability and functional integrity independent of load
  • Assessment of performance acceptability of recommended client hardware/software/configurations
  • Assessment of other performance characteristics likely to reduce quality in the eyes of the end user

High-priority performance testing objectives when preparing for regulatory/compliance inspections include the following:

  • Testing and documenting in compliance with relevant standards
  • Determine compliance with relevant criteria
  • Building and executing tests that replicate regulatory/compliance tests
  • Support tuning to achieve regulatory/compliance criteria

Using something similar to this list as a reference the next time you talk with stakeholders about their objectives for the performance testing effort will lead to a better conversation than you're probably used to.

At the end of the day, there really is only one reason to test for performance, and that reason is to provide value to our stakeholders. Recognizing that and shifting our discussions accordingly can only increase the value we provide through our performance testing efforts.

----------------------------------------
About the author: Scott Barber is the chief technologist of PerfTestPlus, vice president of operations and executive director of the Association for Software Testing and co-founder of the Workshop on Performance and Reliability.


Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Software Design & Testing - Project Management
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts