Performance Testing Introduction - 1
The scope of this article is limited to the need, approach for requirement collection and the steps involved for Performance Testing.

We all know and understand that not “one-size-fits-all”. The approach discussed in this article predominantly fits in to most scenarios but is not limited to or the only process to go about.

Introduction

Performance is a "must have" feature. No matter how rich your product is functionally, if it fails to meet the performance expectations of your customer the product will be branded a failure.

Application architectural design decisions may be greatly influenced by the importance placed by the customer on one or more specific requirements. Incorrect design decisions, made at the outset of a project as a result of invalid assumptions, may become impossible to remedy downstream. The goal of performance testing is not to find bugs, but to eliminate bottlenecks and establish a baseline for future regression testing.

Where do you start?

Identify your customer needs

It is extremely important that you fully understand your customer's intentions and requirements as early as possible regarding software performance i.e. the operating environment (both hardware and software) in which your product will be deployed and the manner in which it will be used.

So, how do you understand your customer’s requirements?

Classify their needs

   End-User Requirements:

The users of your application don’t know or care what the results of the performance tests are, how many seconds it takes something to display on the screen past their threshold for "too long," or what the throughput is. The only thing application users know is that they either notice that the application seems slow or not based on what they have become accustomed to.

In order to quantify what the end user needs,

  • Determine Application Functionality and the scenarios that they use frequently for their regular work.
  •  Verbalize and Capture Performance Requirements and Goals
  • Quantify Captured Performance Requirements and Goals
  • Record Performance Requirements and Goals based on their past and current experience
  • Summarize it back to them reassure what you have recorded and ask for a formal sign off
Business Requirements

The Business Requirements would look like

  • Transaction response times < 3 seconds

  • Support 10000 users in standard conditions

  •  The Amount of hardware they have currently that could be used to max capabilit

Technical Requirements

Technical requirements are usually not directly related to other categories of requirement .These would look something like

  • CPU utilization rate of over 80% is observed for more than a few seconds is a defect

For knowing these kind of requirements ask the architects, or other team members who may be responsible for enforcing and/or making decisions regarding targets and thresholds, to share those decisions with you.

Standards, Compliance and Contracts

Determining performance characteristics in this category is conceptually  Straight-forward, but there are often challenges in obtaining and interpreting the documents that spell out the characteristics of interest.

Often, contracts are viewed as proprietary and are not made available for review by non-executives. It is important to explain when facing roadblocks to reviewing contracts that the specific language and context of any statement related to application performance is critical to determining compliance.

The bottom line is simply this, don’t assume that you are done capturing goals and requirements until you have checked to see if some official or de-facto standard that your application is likely to be compared against.

Determining all the above information is particularly important when a customer is seeking your advice on purchasing suitable hardware and software specifications in order to best deploy your product or his product (in case you are a service provider). As there will undoubtedly be lead times for purchasing and configuring such items, your customer is likely to want this information at the earliest opportunity.

Now that you have identified the requirements, the following would be your action items.

  • Derive Transactions mix (based on Application/System usage)
  • Understand Data volumes needed.
  • Understand Maximum allowable response times.
  • Understand Minimum transaction throughput rates.
  • Choose a Performance test tool which best suites your product needs
  • Perform the tests
  • Give updates on a regular basis.

Each one of the above steps listed is an exercise by itself – I shall try and cover in my upcoming articles. Please leave your feedback about this article.

You might also find our other articles on performance testing interesting.

Recent Updates
Guerrilla Testing Tips
One CPU better than two
TG Tips For Automation?
Is It Really Done?
Exploratory Testing
Automated Testing
Model Based Testing
Live News
 
Read More
Accessibility API Testing Article Backword BigBang Blackbox Blog Bottomup Boundary CaseStudies Certification DefectReport DistanceTest Equivalence FitNesse Geeks Graybox Guerrilla Testing Tips GUI HTA Humor Hybrid Internationalization Installation Integration Is it done? JUnit Measurement Mercury Quality Centre News One CPU better than two Patent Performace Checklist Rational Test Suite Regression Requirement Verification Research Rational Functional Tester Security Selenium SilkTest System Testing Templates TestComplete Tools Testing Types Testing Tools In News Testing Terms In News Testometer Test Plan TG Tips For Automation Top Down Integration Trait UAT UI Testing CheckList Unit Testing Usability VMWare Web Application Security Web Application Testing Checklist Whitebox Testing
Disclaimer  |  Privacy Policy  |  g e e k AT T e s t i n g G e e k DOT c o m
© Copyright 2008, www.TestingGeek.com